fix(service): twenty template (#6996)
Co-authored-by: 🏔️ Peak <122374094+peaklabs-dev@users.noreply.github.com>
This commit is contained in:
parent
582afc1c8b
commit
fdb7bc5cd2
1 changed files with 93 additions and 53 deletions
|
|
@ -1,4 +1,3 @@
|
||||||
# ignore: true
|
|
||||||
# documentation: https://docs.twenty.com
|
# documentation: https://docs.twenty.com
|
||||||
# slogan: Twenty is a CRM designed to fit your unique business needs.
|
# slogan: Twenty is a CRM designed to fit your unique business needs.
|
||||||
# category: cms
|
# category: cms
|
||||||
|
|
@ -8,86 +7,127 @@
|
||||||
|
|
||||||
services:
|
services:
|
||||||
twenty:
|
twenty:
|
||||||
image: 'twentycrm/twenty:latest'
|
image: twentycrm/twenty:v1.15
|
||||||
environment:
|
environment:
|
||||||
- SERVICE_URL_TWENTY_3000
|
- SERVICE_URL_TWENTY_3000
|
||||||
- SERVER_URL=$SERVICE_URL_TWENTY
|
- SERVER_URL=${SERVICE_URL_TWENTY}
|
||||||
- FRONT_BASE_URL=$SERVICE_URL_TWENTY
|
- FRONT_BASE_URL=${SERVICE_URL_TWENTY}
|
||||||
|
- APP_SECRET=${SERVICE_BASE64_32_SECRET}
|
||||||
- ENABLE_DB_MIGRATIONS=true
|
- ENABLE_DB_MIGRATIONS=true
|
||||||
- CACHE_STORAGE_TYPE=${CACHE_STORAGE_TYPE:-redis}
|
- 'CACHE_STORAGE_TYPE=${CACHE_STORAGE_TYPE:-redis}'
|
||||||
- REDIS_URL=redis://redis:6379
|
- 'REDIS_URL=redis://redis:6379'
|
||||||
|
- 'API_RATE_LIMITING_TTL=${API_RATE_LIMITING_TTL:-100}'
|
||||||
# https://twenty.com/developers/section/self-hosting/self-hosting-var#security
|
- 'API_RATE_LIMITING_LIMIT=${API_RATE_LIMITING_LIMIT:-100}'
|
||||||
- API_RATE_LIMITING_TTL=${API_RATE_LIMITING_TTL:-100}
|
- POSTGRES_ADMIN_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||||
- API_RATE_LIMITING_LIMIT=${API_RATE_LIMITING_LIMIT:-100}
|
- 'PG_DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-twenty-db}'
|
||||||
|
- 'IS_SIGN_UP_DISABLED=${IS_SIGN_UP_DISABLED:-false}'
|
||||||
# https://twenty.com/developers/section/self-hosting/self-hosting-var#tokens
|
- 'PASSWORD_RESET_TOKEN_EXPIRES_IN=${PASSWORD_RESET_TOKEN_EXPIRES_IN:-5m}'
|
||||||
- APP_SECRET=$SERVICE_BASE64_32_SECRET
|
- WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION=${WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION:-7}
|
||||||
- POSTGRES_ADMIN_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
- WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION=${WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION:-21}
|
||||||
- PG_DATABASE_URL=postgres://postgres:$SERVICE_PASSWORD_POSTGRES@postgres:5432/default
|
- 'STORAGE_TYPE=${STORAGE_TYPE:-local}'
|
||||||
|
|
||||||
# https://twenty.com/developers/section/self-hosting/self-hosting-var#auth
|
|
||||||
- IS_SIGN_UP_DISABLED=${IS_SIGN_UP_DISABLED:-false}
|
|
||||||
- PASSWORD_RESET_TOKEN_EXPIRES_IN=${PASSWORD_RESET_TOKEN_EXPIRES_IN:-5m}
|
|
||||||
|
|
||||||
# https://twenty.com/developers/section/self-hosting/self-hosting-var#workspace-cleaning
|
|
||||||
- WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION=$WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION
|
|
||||||
- WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION=$WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION
|
|
||||||
|
|
||||||
# https://twenty.com/developers/section/self-hosting/self-hosting-var#captcha
|
|
||||||
- STORAGE_TYPE=${STORAGE_TYPE:-local}
|
|
||||||
- STORAGE_S3_REGION=$STORAGE_S3_REGION
|
- STORAGE_S3_REGION=$STORAGE_S3_REGION
|
||||||
- STORAGE_S3_NAME=$STORAGE_S3_NAME
|
- STORAGE_S3_NAME=$STORAGE_S3_NAME
|
||||||
- STORAGE_S3_ENDPOINT=$STORAGE_S3_ENDPOINT
|
- STORAGE_S3_ENDPOINT=$STORAGE_S3_ENDPOINT
|
||||||
- STORAGE_S3_ACCESS_KEY_ID=$STORAGE_S3_ACCESS_KEY_ID
|
- STORAGE_S3_ACCESS_KEY_ID=$STORAGE_S3_ACCESS_KEY_ID
|
||||||
- STORAGE_S3_SECRET_ACCESS_KEY=$STORAGE_S3_SECRET_ACCESS_KEY
|
- STORAGE_S3_SECRET_ACCESS_KEY=$STORAGE_S3_SECRET_ACCESS_KEY
|
||||||
|
- 'MESSAGE_QUEUE_TYPE=${MESSAGE_QUEUE_TYPE:-pg-boss}'
|
||||||
# https://twenty.com/developers/section/self-hosting/self-hosting-var#message-queue
|
|
||||||
- MESSAGE_QUEUE_TYPE=${MESSAGE_QUEUE_TYPE:-pg-boss}
|
|
||||||
|
|
||||||
# https://twenty.com/developers/section/self-hosting/self-hosting-var#email
|
|
||||||
- EMAIL_FROM_ADDRESS=$EMAIL_FROM_ADDRESS
|
- EMAIL_FROM_ADDRESS=$EMAIL_FROM_ADDRESS
|
||||||
- EMAIL_FROM_NAME=$EMAIL_FROM_NAME
|
- EMAIL_FROM_NAME=$EMAIL_FROM_NAME
|
||||||
- EMAIL_SYSTEM_ADDRESS=$EMAIL_SYSTEM_ADDRESS
|
- EMAIL_SYSTEM_ADDRESS=$EMAIL_SYSTEM_ADDRESS
|
||||||
- EMAIL_DRIVER=${EMAIL_DRIVER:-logger}
|
- 'EMAIL_DRIVER=${EMAIL_DRIVER:-logger}'
|
||||||
- EMAIL_SMTP_HOST=$EMAIL_SMTP_HOST
|
- EMAIL_SMTP_HOST=$EMAIL_SMTP_HOST
|
||||||
- EMAIL_SMTP_PORT=$EMAIL_SMTP_PORT
|
- EMAIL_SMTP_PORT=$EMAIL_SMTP_PORT
|
||||||
- EMAIL_SMTP_USER=$EMAIL_SMTP_USER
|
- EMAIL_SMTP_USER=$EMAIL_SMTP_USER
|
||||||
- EMAIL_SMTP_PASSWORD=$EMAIL_SMTP_PASSWORD
|
- EMAIL_SMTP_PASSWORD=$EMAIL_SMTP_PASSWORD
|
||||||
|
|
||||||
# https://twenty.com/developers/section/self-hosting/self-hosting-var#debug-/-development
|
|
||||||
- SIGN_IN_PREFILLED=false
|
- SIGN_IN_PREFILLED=false
|
||||||
- DEBUG_MODE=${DEBUG_MODE:-false}
|
- 'DEBUG_MODE=${DEBUG_MODE:-false}'
|
||||||
|
- 'TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-false}'
|
||||||
# https://twenty.com/developers/section/self-hosting/self-hosting-var#telemetry
|
volumes:
|
||||||
- TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-false}
|
- twenty-local-storage:/app/packages/twenty-server/.local-storage
|
||||||
|
healthcheck:
|
||||||
|
test:
|
||||||
|
- CMD
|
||||||
|
- curl
|
||||||
|
- '-f'
|
||||||
|
- 'http://127.0.0.1:3000/healthz'
|
||||||
|
interval: 2s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 10
|
||||||
|
start_period: 10s
|
||||||
depends_on:
|
depends_on:
|
||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:3000/healthz"]
|
worker:
|
||||||
interval: 2s
|
image: twentycrm/twenty:v1.15
|
||||||
timeout: 10s
|
command: ["yarn", "worker:prod"]
|
||||||
retries: 15
|
volumes:
|
||||||
postgres:
|
- twenty-local-storage:/app/packages/twenty-server/.local-storage
|
||||||
image: "twentycrm/twenty-postgres:latest"
|
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_USER=postgres
|
- SERVICE_URL_TWENTY_3000
|
||||||
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
- SERVER_URL=${SERVICE_URL_TWENTY}
|
||||||
- POSTGRES_DB=default
|
- FRONT_BASE_URL=${SERVICE_URL_TWENTY}
|
||||||
|
- APP_SECRET=${SERVICE_BASE64_32_SECRET}
|
||||||
|
- ENABLE_DB_MIGRATIONS=true
|
||||||
|
- 'CACHE_STORAGE_TYPE=${CACHE_STORAGE_TYPE:-redis}'
|
||||||
|
- 'REDIS_URL=redis://redis:6379'
|
||||||
|
- 'API_RATE_LIMITING_TTL=${API_RATE_LIMITING_TTL:-100}'
|
||||||
|
- 'API_RATE_LIMITING_LIMIT=${API_RATE_LIMITING_LIMIT:-100}'
|
||||||
|
- POSTGRES_ADMIN_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||||
|
- 'PG_DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-twenty-db}'
|
||||||
|
- 'IS_SIGN_UP_DISABLED=${IS_SIGN_UP_DISABLED:-false}'
|
||||||
|
- 'PASSWORD_RESET_TOKEN_EXPIRES_IN=${PASSWORD_RESET_TOKEN_EXPIRES_IN:-5m}'
|
||||||
|
- WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION=${WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION:-7}
|
||||||
|
- WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION=${WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION:-21}
|
||||||
|
- 'STORAGE_TYPE=${STORAGE_TYPE:-local}'
|
||||||
|
- STORAGE_S3_REGION=$STORAGE_S3_REGION
|
||||||
|
- STORAGE_S3_NAME=$STORAGE_S3_NAME
|
||||||
|
- STORAGE_S3_ENDPOINT=$STORAGE_S3_ENDPOINT
|
||||||
|
- STORAGE_S3_ACCESS_KEY_ID=$STORAGE_S3_ACCESS_KEY_ID
|
||||||
|
- STORAGE_S3_SECRET_ACCESS_KEY=$STORAGE_S3_SECRET_ACCESS_KEY
|
||||||
|
- 'MESSAGE_QUEUE_TYPE=${MESSAGE_QUEUE_TYPE:-pg-boss}'
|
||||||
|
- EMAIL_FROM_ADDRESS=$EMAIL_FROM_ADDRESS
|
||||||
|
- EMAIL_FROM_NAME=$EMAIL_FROM_NAME
|
||||||
|
- EMAIL_SYSTEM_ADDRESS=$EMAIL_SYSTEM_ADDRESS
|
||||||
|
- 'EMAIL_DRIVER=${EMAIL_DRIVER:-logger}'
|
||||||
|
- EMAIL_SMTP_HOST=$EMAIL_SMTP_HOST
|
||||||
|
- EMAIL_SMTP_PORT=$EMAIL_SMTP_PORT
|
||||||
|
- EMAIL_SMTP_USER=$EMAIL_SMTP_USER
|
||||||
|
- EMAIL_SMTP_PASSWORD=$EMAIL_SMTP_PASSWORD
|
||||||
|
- SIGN_IN_PREFILLED=false
|
||||||
|
- 'DEBUG_MODE=${DEBUG_MODE:-false}'
|
||||||
|
- 'TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-false}'
|
||||||
|
- DISABLE_DB_MIGRATIONS=true
|
||||||
|
- DISABLE_CRON_JOBS_REGISTRATION=true
|
||||||
|
depends_on:
|
||||||
|
twenty:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: postgres:16-alpine
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
|
||||||
|
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||||
|
- POSTGRES_DB=${POSTGRES_DB:-twenty-db}
|
||||||
volumes:
|
volumes:
|
||||||
- pg-data:/bitnami/postgresql
|
- postgres-data:/var/lib/postgresql/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
test:
|
||||||
|
- CMD-SHELL
|
||||||
|
- 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}'
|
||||||
interval: 5s
|
interval: 5s
|
||||||
timeout: 20s
|
timeout: 20s
|
||||||
retries: 10
|
retries: 10
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: "redis:latest"
|
image: redis:7-alpine
|
||||||
volumes:
|
volumes:
|
||||||
- "redis-data:/data"
|
- redis-data:/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "redis-cli", "ping"]
|
test:
|
||||||
|
- CMD
|
||||||
|
- redis-cli
|
||||||
|
- ping
|
||||||
interval: 5s
|
interval: 5s
|
||||||
timeout: 20s
|
timeout: 20s
|
||||||
retries: 10
|
retries: 10
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue