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