69 lines
1.8 KiB
YAML
69 lines
1.8 KiB
YAML
services:
|
|
formbricks:
|
|
image: formbricks/formbricks:2.7.1
|
|
restart: always
|
|
environment:
|
|
NEXTAUTH_SECRET: ${NEXTAUTH_SECRET}
|
|
ENCRYPTION_KEY: ${ENCRYPTION_KEY}
|
|
CRON_SECRET: ${CRON_SECRET}
|
|
WEBAPP_URL: ${WEBAPP_URL}
|
|
NEXTAUTH_URL: ${WEBAPP_URL}
|
|
SHORT_URL_BASE: ${WEBAPP_URL}
|
|
DATABASE_URL: postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/formbricks
|
|
PORT: 3000
|
|
EMAIL_VERIFICATION_DISABLED: 1
|
|
volumes:
|
|
- formbricks_app_data:/app/data
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
networks:
|
|
- internal
|
|
- traefik
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.formbricks.rule=Host(`formbricks.hyperthrive.io`)"
|
|
- "traefik.http.routers.formbricks.entrypoints=websecure"
|
|
- "traefik.http.routers.formbricks.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.formbricks.loadbalancer.server.port=3000"
|
|
- "traefik.docker.network=traefik"
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
postgres:
|
|
image: ankane/pgvector:v0.5.1
|
|
restart: always
|
|
environment:
|
|
POSTGRES_DB: formbricks
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
volumes:
|
|
- formbricks_postgres_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- internal
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
volumes:
|
|
formbricks_app_data:
|
|
name: formbricks_app_data
|
|
formbricks_postgres_data:
|
|
name: formbricks_postgres_data
|
|
|
|
networks:
|
|
internal:
|
|
name: formbricks_internal
|
|
traefik:
|
|
external: true
|