Last active
September 3, 2025 13:06
-
-
Save itxtoledo/5cffd7a0590b6514b7f8813eca48f736 to your computer and use it in GitHub Desktop.
Docker Compose for deploying a Typebot instance on Coolify with little to no configuration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
x-typebot-common: &typebot-common | |
depends_on: | |
postgresql: | |
condition: service_healthy | |
# redis: | |
# condition: service_healthy | |
maildev: | |
condition: service_started | |
x-typebot-env: &typebot-env | |
DATABASE_URL: postgresql://${SERVICE_USER_POSTGRESQL}:${SERVICE_PASSWORD_POSTGRESQL}@postgresql:5432/${POSTGRES_DB:-typebot} | |
ENCRYPTION_SECRET: ${SERVICE_BASE64_32_SECRET} | |
NEXTAUTH_URL: ${SERVICE_FQDN_BUILDER} | |
NEXT_PUBLIC_VIEWER_URL: ${SERVICE_FQDN_VIEWER} | |
ADMIN_EMAIL: ${ADMIN_EMAIL:[email protected]} | |
DEFAULT_WORKSPACE_PLAN: UNLIMITED | |
NEXTAUTH_URL_INTERNAL: http://localhost:3000 | |
DISABLE_SIGNUP: ${DISABLE_SIGNUP:-true} | |
# REDIS_URL: redis://redis:6379 | |
SMTP_USERNAME: ${SMTP_USERNAME:-''} | |
SMTP_PASSWORD: ${SMTP_PASSWORD:-''} | |
SMTP_HOST: ${SMTP_HOST:-maildev} | |
SMTP_PORT: ${SMTP_PORT:-1025} | |
NEXT_PUBLIC_SMTP_FROM: ${NEXT_PUBLIC_SMTP_FROM:[email protected]} | |
SMTP_SECURE: ${SMTP_SECURE:-false} | |
SMTP_IGNORE_TLS: ${SMTP_IGNORE_TLS:-true} | |
SMTP_AUTH_DISABLED: ${SMTP_AUTH_DISABLED:-false} | |
DEBUG: ${DEBUG:-true} | |
NEXT_PUBLIC_UNSPLASH_APP_NAME: ${UNSPLASH_APP_NAME:-Typebot} | |
NEXT_PUBLIC_UNSPLASH_ACCESS_KEY: ${UNSPLASH_ACCESS_KEY:-YOUR_UNSPLASH_ACCESS_KEY} | |
NEXT_PUBLIC_PEXELS_API_KEY: ${PEXELS_API_KEY:-YOUR_PEXELS_API_KEY} | |
services: | |
builder: | |
<<: *typebot-common | |
image: 'baptistearno/typebot-builder:latest' | |
environment: | |
SERVICE_FQDN_BUILDER: "" | |
<<: *typebot-env | |
viewer: | |
<<: *typebot-common | |
image: 'baptistearno/typebot-viewer:latest' | |
environment: | |
SERVICE_FQDN_VIEWER: "" | |
<<: *typebot-env | |
# redis: | |
# image: redis:alpine | |
# restart: always | |
# command: --save 60 1 --loglevel warning | |
# volumes: | |
# - redis-data:/data | |
# healthcheck: | |
# test: ["CMD-SHELL", "redis-cli ping | grep PONG"] | |
# start_period: 20s | |
# interval: 30s | |
# retries: 5 | |
# timeout: 3s | |
postgresql: | |
image: postgres:16-alpine | |
volumes: | |
- postgresql_data:/var/lib/postgresql/data | |
environment: | |
- POSTGRES_USER=${SERVICE_USER_POSTGRESQL} | |
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL} | |
- POSTGRES_DB=${POSTGRES_DB:-typebot} | |
restart: always | |
healthcheck: | |
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB:-typebot}"] | |
interval: 5s | |
timeout: 20s | |
retries: 10 | |
maildev: | |
image: maildev/maildev:latest | |
restart: always | |
environment: | |
- SERVICE_FQDN_MAILDEV_8080="" | |
- MAILDEV_WEB_PORT=8080 | |
- MAILDEV_SMTP_PORT=1025 | |
volumes: | |
- maildev-data:/data | |
volumes: | |
redis-data: | |
postgresql_data: | |
maildev-data: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-minio:
image: minio/minio
environment:
- 'MINIO_ROOT_USER=${SERVICE_USER_MINIO}'
- 'MINIO_ROOT_PASSWORD=${SERVICE_PASSWORD_MINIO}'
command: 'server --console-address ":9001" /data'
healthcheck:
test: 'sleep 5 && exit 0'
interval: 2s
timeout: 10s
retries: 5
volumes:
- './volumes/storage:/data'
minio-createbucket:
image: minio/mc
restart: 'no'
environment:
- 'MINIO_ROOT_USER=${SERVICE_USER_MINIO}'
- 'MINIO_ROOT_PASSWORD=${SERVICE_PASSWORD_MINIO}'
depends_on:
supabase-minio:
condition: service_healthy
entrypoint:
- /entrypoint.sh
volumes:
-
type: bind
source: ./entrypoint.sh
target: /entrypoint.sh
content: "#!/bin/sh\n/usr/bin/mc alias set supabase-minio http://minio:9000 ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD};\n/usr/bin/mc mb --ignore-existing supabase-minio/stub;\nexit 0\n"