Browse by type
The open source calendar that changes everything
To get Analog up and running on your local machine, follow these steps:
Ensure you have the following installed:
Clone the repository:
bash
git clone https://github.com/analogdotnow/analog.git
cd analog
Install dependencies:
bash
bun install
Configure environment variables: Copy the example environment file:
bash
cp .env.example .env
Then, open the newly created .env file. You will find default values for DATABASE_URL and BETTER_AUTH_URL. You need to set the following:
- BETTER_AUTH_SECRET: Generate a secure secret by running openssl rand -hex 32 in your terminal.
Set up Google OAuth:
GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET:
Add yourself as test user:
Audience tab.Set up Microsoft OAuth (optional):
MICROSOFT_CLIENT_ID and MICROSOFT_CLIENT_SECRET:
http://localhost:3000/api/auth/callback/microsoft).Go to API permissions, click + Add a permission, choose Microsoft Graph → Delegated permissions, and add:
Calendars.Read, Calendars.ReadWrite, User.Read, offline_accessSet up Google Maps API (optional):
GOOGLE_MAPS_API_KEY:
GOOGLE_MAPS_API_KEY in your .env file.Analog uses PostgreSQL with Drizzle ORM. You can run the database using Docker:
Start the PostgreSQL database container:
bash
bun run docker:up
This command uses docker-compose.yml to spin up a PostgreSQL container.
Initialize the database:
Once the database container is running and healthy, initialize the database:
bash
bun run db:push
After setting up the environment and database, you can start the development server:
bun run dev
The application should now be accessible in your browser at http://localhost:3000.
Please see CONTRIBUTING.md for details on how to contribute to this project.
browse all types & interfaces →
$ claude mcp add Analog \
-- python -m otcore.mcp_server <graph>