# 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