Files
twenty/packages/twenty-docs/docs/start/self-hosting/docker-compose.mdx
AutoComput 6512a781ee Update docker-compose.mdx (#4176)
Fixed syntax errors
2024-03-04 16:38:32 +01:00

74 lines
2.5 KiB
Plaintext

---
title: Docker Compose
sidebar_position: 3
sidebar_custom_props:
icon: TbBrandDocker
---
# Step by step instructions:
1) Copy the [.env.example](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/.env.example) into a `.env` in the same directory where your `docker-compose.yml` file will be
2) Run the command `openssl rand -base64 32` three times, make note of the string for each
3) Replace the three "replace_me_with_a_random_string_access" with the three random strings you just generated.
4) Create a `docker-compose.yml` file from the example below.
5) Run the command `docker-compose up -d`
6) Go to http://localhost:3001 and see your docker instance.
- If you encounter errors, (not able to log into the application after inputting an email) after the inital setup, try running `docker exec -it twenty_backend_1 yarn database:reset` and see if that solves your issue.
## Production docker containers
Prebuilt images for both Postgres, frontend, and back-end can be found on [docker hub](https://hub.docker.com/r/twentycrm/).
## Environment Variables
- Copy this `.env.example` file into a `.env` in the same directory as your `docker-compose.yml` file
- Find the `.env.example` [here](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/.env.example).
## Docker Compose file
We will soon update the documentation with an up-to-date docker compose file.
Here is one that was proposed on Discord by a community member:
```yaml
version: "3.9"
services:
twenty:
image: twentycrm/twenty-front:${TAG}
ports:
- 3001:3000
environment:
- SIGN_IN_PREFILLED=${SIGN_IN_PREFILLED}
- REACT_APP_SERVER_BASE_URL=${LOCAL_SERVER_URL}
- REACT_APP_SERVER_AUTH_URL=${LOCAL_SERVER_URL}/auth
- REACT_APP_SERVER_FILES_URL=${LOCAL_SERVER_URL}/files
depends_on:
- backend
backend:
image: twentycrm/twenty-server:${TAG}
ports:
- 3000:3000
environment:
- SIGN_IN_PREFILLED=${SIGN_IN_PREFILLED}
- PG_DATABASE_URL=${PG_DATABASE_URL}
- FRONT_BASE_URL=${FRONT_BASE_URL}
- PORT=3000
- STORAGE_TYPE=local
- STORAGE_LOCAL_PATH=.local-storage
- ACCESS_TOKEN_SECRET=${ACCESS_TOKEN_SECRET}
- LOGIN_TOKEN_SECRET=${LOGIN_TOKEN_SECRET}
- REFRESH_TOKEN_SECRET=${REFRESH_TOKEN_SECRET}
depends_on:
- db
db:
image: twentycrm/twenty-postgres:${TAG}
volumes:
- twenty-db-data:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=${POSTGRES_ADMIN_PASSWORD}
volumes:
twenty-db-data:
```