Coolify installation #5219
Replies: 9 comments 30 replies
-
| I don't think anyone has built a Coolify deployment setup yet. The install still evolves quite frequently so the 1-click button we tried to build tends to break. It'll get more stable in a few months! | 
Beta Was this translation helpful? Give feedback.
-
| There is a service preset for deploying twenty on coolify 😄 | 
Beta Was this translation helpful? Give feedback.
-
| I keep getting an error. It's trying to hit  Solution: I had to "edit compose file" and replace the   | 
Beta Was this translation helpful? Give feedback.
-
| Hello everyone hope you're doing great. | 
Beta Was this translation helpful? Give feedback.
-
| im try upgrade from new docker-compose Twenty https://github.com/twentyhq/twenty/blob/main/packages/twenty-docker/docker-compose.yml 
 My try to fixed  | 
Beta Was this translation helpful? Give feedback.
-
| Hey guys, if we run on Coolify, how can we back up and restore safely? Is anyone using Coolify to host Twenty? What do we need to do? | 
Beta Was this translation helpful? Give feedback.
-
| I have created a docker compose file that runs the application, but for now it sets the server to run with root permissions. So that should not be used in production use cases. To fix the issue at its root I have created the following PR #11405 name: twenty
services:
  server:
    image: twentycrm/twenty:${TAG:-latest}
    user: root
    volumes:
      - server-local-data:/app/packages/twenty-server/$${STORAGE_LOCAL_PATH:-.local-storage}
      - docker-data:/app/docker-data
    ports:
      - "3000:3000"
    environment:
      NODE_PORT: 3000
      PG_DATABASE_URL: postgres://${PG_DATABASE_USER:-postgres}:${SERVICE_PASSWORD_DB}@${PG_DATABASE_HOST:-db}:${PG_DATABASE_PORT:-5432}/default
      SERVER_URL: ${SERVICE_FQDN_SERVER_3000}
      REDIS_URL: ${REDIS_URL:-redis://redis:6379}
      STORAGE_TYPE: ${STORAGE_TYPE:-local}
      STORAGE_S3_REGION: ${STORAGE_S3_REGION}
      STORAGE_S3_NAME: ${STORAGE_S3_NAME}
      STORAGE_S3_ENDPOINT: ${STORAGE_S3_ENDPOINT}
      APP_SECRET: ${SERVICE_PASSWORD_APPSECRET}
      SERVICE_FQDN_SERVER_3000:
      MESSAGING_PROVIDER_GMAIL_ENABLED: ${MESSAGING_PROVIDER_GMAIL_ENABLED:-false}
      CALENDAR_PROVIDER_GOOGLE_ENABLED: ${CALENDAR_PROVIDER_GOOGLE_ENABLED:-false}
      AUTH_GOOGLE_CLIENT_ID: ${AUTH_GOOGLE_CLIENT_ID}
      AUTH_GOOGLE_CLIENT_SECRET: ${AUTH_GOOGLE_CLIENT_SECRET}
      AUTH_GOOGLE_CALLBACK_URL: ${AUTH_GOOGLE_CALLBACK_URL}
      AUTH_GOOGLE_APIS_CALLBACK_URL: ${AUTH_GOOGLE_APIS_CALLBACK_URL}
      CALENDAR_PROVIDER_MICROSOFT_ENABLED: ${CALENDAR_PROVIDER_MICROSOFT_ENABLED:-false}
      MESSAGING_PROVIDER_MICROSOFT_ENABLED: ${MESSAGING_PROVIDER_MICROSOFT_ENABLED:-false}
      AUTH_MICROSOFT_ENABLED: ${AUTH_MICROSOFT_ENABLED:-false}
      AUTH_MICROSOFT_CLIENT_ID: ${AUTH_MICROSOFT_CLIENT_ID}
      AUTH_MICROSOFT_CLIENT_SECRET: ${AUTH_MICROSOFT_CLIENT_SECRET}
      AUTH_MICROSOFT_CALLBACK_URL: ${AUTH_MICROSOFT_CALLBACK_URL}
      AUTH_MICROSOFT_APIS_CALLBACK_URL: ${AUTH_MICROSOFT_APIS_CALLBACK_URL}
      EMAIL_FROM_ADDRESS: ${EMAIL_FROM_ADDRESS:[email protected]}
      EMAIL_FROM_NAME: ${EMAIL_FROM_NAME:-"John from YourDomain"}
      EMAIL_SYSTEM_ADDRESS: ${EMAIL_SYSTEM_ADDRESS:[email protected]}
      EMAIL_DRIVER: ${EMAIL_DRIVER:-smtp}
      EMAIL_SMTP_HOST: ${EMAIL_SMTP_HOST}
      EMAIL_SMTP_PORT: ${EMAIL_SMTP_PORT:-465}
      EMAIL_SMTP_USER: ${EMAIL_SMTP_USER}
      EMAIL_SMTP_PASSWORD: ${SERVICE_PASSWORD_SMTP}
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_healthy
    healthcheck:
      test: curl --fail http://localhost:3000/healthz
      interval: 5s
      timeout: 5s
      retries: 10
    restart: always
  worker:
    image: twentycrm/twenty:${TAG:-latest}
    volumes:
      - server-local-data:/app/packages/twenty-server/$${STORAGE_LOCAL_PATH:-.local-storage}
    command: ["yarn", "worker:prod"]
    exclude_from_hc: true
    environment:
      PG_DATABASE_URL: postgres://${PG_DATABASE_USER:-postgres}:${SERVICE_PASSWORD_DB}@${PG_DATABASE_HOST:-db}:${PG_DATABASE_PORT:-5432}/default
      SERVER_URL: ${SERVICE_FQDN_SERVER_3000}
      REDIS_URL: ${REDIS_URL:-redis://redis:6379}
      DISABLE_DB_MIGRATIONS: "true" # it already runs on the server
      STORAGE_TYPE: ${STORAGE_TYPE:-local}
      STORAGE_S3_REGION: ${STORAGE_S3_REGION}
      STORAGE_S3_NAME: ${STORAGE_S3_NAME}
      STORAGE_S3_ENDPOINT: ${STORAGE_S3_ENDPOINT}
      APP_SECRET: ${SERVICE_PASSWORD_APPSECRET}
      MESSAGING_PROVIDER_GMAIL_ENABLED: ${MESSAGING_PROVIDER_GMAIL_ENABLED:-false}
      CALENDAR_PROVIDER_GOOGLE_ENABLED: ${CALENDAR_PROVIDER_GOOGLE_ENABLED:-false}
      AUTH_GOOGLE_CLIENT_ID: ${AUTH_GOOGLE_CLIENT_ID}
      AUTH_GOOGLE_CLIENT_SECRET: ${AUTH_GOOGLE_CLIENT_SECRET}
      AUTH_GOOGLE_CALLBACK_URL: ${AUTH_GOOGLE_CALLBACK_URL}
      AUTH_GOOGLE_APIS_CALLBACK_URL: ${AUTH_GOOGLE_APIS_CALLBACK_URL}
      CALENDAR_PROVIDER_MICROSOFT_ENABLED: ${CALENDAR_PROVIDER_MICROSOFT_ENABLED:-false}
      MESSAGING_PROVIDER_MICROSOFT_ENABLED: ${MESSAGING_PROVIDER_MICROSOFT_ENABLED:-false}
      AUTH_MICROSOFT_ENABLED: ${AUTH_MICROSOFT_ENABLED:-false}
      AUTH_MICROSOFT_CLIENT_ID: ${AUTH_MICROSOFT_CLIENT_ID}
      AUTH_MICROSOFT_CLIENT_SECRET: ${AUTH_MICROSOFT_CLIENT_SECRET}
      AUTH_MICROSOFT_CALLBACK_URL: ${AUTH_MICROSOFT_CALLBACK_URL}
      AUTH_MICROSOFT_APIS_CALLBACK_URL: ${AUTH_MICROSOFT_APIS_CALLBACK_URL}
      EMAIL_FROM_ADDRESS: ${EMAIL_FROM_ADDRESS:[email protected]}
      EMAIL_FROM_NAME: ${EMAIL_FROM_NAME:-"John from YourDomain"}
      EMAIL_SYSTEM_ADDRESS: ${EMAIL_SYSTEM_ADDRESS:[email protected]}
      EMAIL_DRIVER: ${EMAIL_DRIVER:-smtp}
      EMAIL_SMTP_HOST: ${EMAIL_SMTP_HOST}
      EMAIL_SMTP_PORT: ${EMAIL_SMTP_PORT:-465}
      EMAIL_SMTP_USER: ${EMAIL_SMTP_USER}
      EMAIL_SMTP_PASSWORD: ${SERVICE_PASSWORD_SMTP}
    depends_on:
      db:
        condition: service_healthy
      server:
        condition: service_healthy
    restart: always
  db:
    image: postgres:16
    volumes:
      - db-data:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: ${PG_DATABASE_USER:-postgres}
      POSTGRES_PASSWORD: ${SERVICE_PASSWORD_DB}
    healthcheck:
      test: pg_isready -U ${PG_DATABASE_USER:-postgres} -h localhost -d postgres
      interval: 5s
      timeout: 5s
      retries: 10
    restart: always
  redis:
    image: redis
    restart: always
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 5s
      timeout: 5s
      retries: 10
volumes:
  docker-data:
  db-data:
  server-local-data:
 | 
Beta Was this translation helpful? Give feedback.
-
| Hi, today I wanted to deploy Twenty on my VPS with Coolify. Unfortunately, nothing worked. So, with the help of Claude and a little human effort, we created this Docker Compose. Everything seems to be working fine. Please give us feedback on whether it works for you too.  | 
Beta Was this translation helpful? Give feedback.
-
| This is one of the top requested/beloved integrations, I hope the Coolify team or even this awesome community puts it up there where it belongs in the one-click installs so more people starts using this fantastic CRM. I will have to do some manual deployment I guess. | 
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
-
Hi, is there a way to install this on coolify, using one-click or something?
Beta Was this translation helpful? Give feedback.
All reactions