Meet the calendar that changes everything
See the code
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:
git clone https://github.com/analogdotnow/analog.git
cd analog
Install dependencies:
bun install
Configure environment variables: Copy the example environment file:
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:
Audience tab.MICROSOFT_CLIENT_ID and MICROSOFT_CLIENT_SECRET:
http://localhost:3000/api/auth/callback/microsoft).Calendars.Read, Calendars.ReadWrite, User.Read, offline_accessGOOGLE_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:
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:
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.
1,117 followers · starred May 2025
2,792 followers · starred Aug 2025
541 followers · starred May 2025
625 followers · starred Jun 2025
Meet the calendar that changes everything
See the code
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:
git clone https://github.com/analogdotnow/analog.git
cd analog
Install dependencies:
bun install
Configure environment variables: Copy the example environment file:
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:
Audience tab.MICROSOFT_CLIENT_ID and MICROSOFT_CLIENT_SECRET:
http://localhost:3000/api/auth/callback/microsoft).Calendars.Read, Calendars.ReadWrite, User.Read, offline_accessGOOGLE_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:
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:
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.
1,117 followers · starred May 2025
2,792 followers · starred Aug 2025
541 followers · starred May 2025
625 followers · starred Jun 2025