# Calendso ## Setup ### 1. Follow the Calendso Repo README https://github.com/calendso/docker#getting-started ### 2. Update `.env` * Make sure you set the `CALENDSO_ENCRYPTION_KEY` with a random hexidecimal string * Paste in the environment variables from LastPass (`Calendso .env`) **at the end of your `.env` file** _Ask for access if not showing in LastPasss. Be patient, sharing creds takes a few minutes to propagate through LastPass._ ### 3. Update `docker-compose.yml` Replace all of the contents of the `docker-compose.yml` file with the following: ```dockerfile= version: '3.1' services: calendso: container_name: calendso build: . restart: always ports: - 3000:3000 env_file: .env depends_on: - db - email - prisma-studio prisma-studio: container_name: prisma-studio build: . restart: always ports: - 5555:5555 env_file: .env depends_on: - db command: npx prisma studio db: container_name: db image: postgres restart: always volumes: - database-data:/var/lib/postgresql/data/ env_file: .env ports: - 5432:5432 email: container_name: email image: mailhog/mailhog restart: unless-stopped environment: MH_MAILDIR_PATH: /tmp MH_STORAGE: maildir ports: - 1025:1025 - 8025:8025 volumes: - data-email:/tmp volumes: data-email: database-data: ``` ### 4. Start services ```shell= # Start all services docker-compose up -d --build # Optionally watch calendso logs docker-compose logs -F calendso ``` ### 5. Create a User 1. Open http://localhost:5555 2. Add a `User` record. You will need to populate the `username`, `email`, and `password` fields * Make sure the password value is bcrypt hashed * E.g. visit https://passwordhashing.com/bcrypt and copy/paste the hashed password 3. Click the `Save 1 change` button to persist the new user ### 6. Configure Your User You should now be able to login to http://localhost:3000 TODOs: - Set your timezone - Set your availability - Add your calendar integrations