2024-07-26 17:27:20 +02:00
|
|
|
# documentation: https://formbricks.com/docs/self-hosting/configuration
|
|
|
|
# slogan: Open Source Survey Platform
|
|
|
|
# tags: form, builder, forms, survey, open source, experience, management, self-hosted, docker
|
2024-02-20 15:07:12 +01:00
|
|
|
# logo: svgs/formbricks.png
|
2024-03-12 15:09:24 +01:00
|
|
|
# port: 3000
|
2023-11-28 12:05:14 +01:00
|
|
|
|
|
|
|
services:
|
|
|
|
formbricks:
|
2024-05-01 03:44:58 +02:00
|
|
|
image: ghcr.io/formbricks/formbricks:latest
|
2023-11-28 12:05:14 +01:00
|
|
|
environment:
|
2024-03-12 15:09:24 +01:00
|
|
|
- SERVICE_FQDN_FORMBRICKS_3000
|
2023-11-28 12:05:14 +01:00
|
|
|
- WEBAPP_URL=$SERVICE_FQDN_FORMBRICKS
|
|
|
|
- DATABASE_URL=postgres://$SERVICE_USER_POSTGRESQL:$SERVICE_PASSWORD_POSTGRESQL@postgresql:5432/${POSTGRESQL_DATABASE:-formbricks}
|
2024-07-26 17:27:20 +02:00
|
|
|
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
|
2023-11-28 12:05:14 +01:00
|
|
|
- NEXTAUTH_SECRET=$SERVICE_BASE64_64_NEXTAUTH
|
|
|
|
- NEXTAUTH_URL=$SERVICE_FQDN_FORMBRICKS
|
|
|
|
- ENCRYPTION_KEY=$SERVICE_BASE64_64_ENCRYPTION
|
2024-07-26 17:27:20 +02:00
|
|
|
- CRON_SECRET=$SERVICE_BASE64_64_CRON
|
|
|
|
- ENTERPRISE_LICENSE_KEY=${ENTERPRISE_LICENSE_KEY}
|
2023-11-28 12:05:14 +01:00
|
|
|
- MAIL_FROM=${MAIL_FROM:-test@example.com}
|
|
|
|
- SMTP_HOST=${SMTP_HOST:-test.example.com}
|
|
|
|
- SMTP_PORT=${SMTP_PORT:-587}
|
|
|
|
- SMTP_USER=${SMTP_USER:-test}
|
|
|
|
- SMTP_PASSWORD=${SMTP_PASSWORD:-test}
|
|
|
|
- SMTP_SECURE_ENABLED=${SMTP_SECURE_ENABLED:-0}
|
2024-07-26 17:27:20 +02:00
|
|
|
- SMTP_REJECT_UNAUTHORIZED_TLS=${SMTP_REJECT_UNAUTHORIZED_TLS:-1}
|
2023-11-28 12:05:14 +01:00
|
|
|
- SHORT_URL_BASE=${SHORT_URL_BASE}
|
|
|
|
- EMAIL_VERIFICATION_DISABLED=${EMAIL_VERIFICATION_DISABLED:-1}
|
|
|
|
- PASSWORD_RESET_DISABLED=${PASSWORD_RESET_DISABLED:-1}
|
2024-07-26 17:27:20 +02:00
|
|
|
- EMAIL_AUTH_DISABLED=${EMAIL_AUTH_DISABLED:-0}
|
2023-11-28 12:05:14 +01:00
|
|
|
- INVITE_DISABLED=${INVITE_DISABLED:-0}
|
2024-07-26 17:27:20 +02:00
|
|
|
- ASSET_PREFIX_URL=${ASSET_PREFIX_URL}
|
|
|
|
- UNSPLASH_ACCESS_KEY=${UNSPLASH_ACCESS_KEY}
|
2023-11-28 12:05:14 +01:00
|
|
|
- GITHUB_ID=${GITHUB_ID}
|
|
|
|
- GITHUB_SECRET=${GITHUB_SECRET}
|
|
|
|
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
|
|
|
|
- GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET}
|
2024-07-26 17:27:20 +02:00
|
|
|
- AZUREAD_CLIENT_ID=${AZUREAD_CLIENT_ID}
|
|
|
|
- AZUREAD_CLIENT_SECRET=${AZUREAD_CLIENT_SECRET}
|
|
|
|
- AZUREAD_TENANT_ID=${AZUREAD_TENANT_ID}
|
|
|
|
- OIDC_CLIENT_ID=${OIDC_CLIENT_ID}
|
|
|
|
- OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET}
|
|
|
|
- OIDC_ISSUER=${OIDC_ISSUER}
|
|
|
|
- OIDC_DISPLAY_NAME=${OIDC_DISPLAY_NAME}
|
|
|
|
- OIDC_SIGNING_ALGORITHM=${OIDC_SIGNING_ALGORITHM}
|
|
|
|
- NOTION_OAUTH_CLIENT_ID=${NOTION_OAUTH_CLIENT_ID}
|
|
|
|
- NOTION_OAUTH_CLIENT_SECRET=${NOTION_OAUTH_CLIENT_SECRET}
|
|
|
|
- GOOGLE_SHEETS_CLIENT_ID=${GOOGLE_SHEETS_CLIENT_ID}
|
|
|
|
- GOOGLE_SHEETS_CLIENT_SECRET=${GOOGLE_SHEETS_CLIENT_SECRET}
|
|
|
|
- GOOGLE_SHEETS_REDIRECT_URL=${GOOGLE_SHEETS_REDIRECT_URL}
|
|
|
|
- AIRTABLE_CLIENT_ID=${AIRTABLE_CLIENT_ID}
|
|
|
|
- SLACK_CLIENT_ID=${SLACK_CLIENT_ID}
|
|
|
|
- SLACK_CLIENT_SECRET=${SLACK_CLIENT_SECRET}
|
|
|
|
- PRIVACY_URL=${PRIVACY_URL}
|
|
|
|
- TERMS_URL=${TERMS_URL}
|
|
|
|
- IMPRINT_URL=${IMPRINT_URL}
|
|
|
|
- RATE_LIMITING_DISABLED=${RATE_LIMITING_DISABLED:-0}
|
|
|
|
- OPENTELEMETRY_LISTENER_URL=${OPENTELEMETRY_LISTENER_URL}
|
|
|
|
- REDIS_URL=${REDIS_URL}
|
|
|
|
- REDIS_HTTP_URL=${REDIS_HTTP_URL}
|
|
|
|
- DEFAULT_ORGANIZATION_ID=${DEFAULT_ORGANIZATION_ID}
|
|
|
|
- DEFAULT_ORGANIZATION_ROLE=${DEFAULT_ORGANIZATION_ROLE:-admin}
|
2023-11-28 12:05:14 +01:00
|
|
|
volumes:
|
|
|
|
- formbricks-uploads:/apps/web/uploads/
|
|
|
|
depends_on:
|
|
|
|
postgresql:
|
|
|
|
condition: service_healthy
|
|
|
|
healthcheck:
|
2024-05-17 10:11:55 +02:00
|
|
|
test: ["CMD", "curl", "-f", "http://127.0.0.1:3000"]
|
2023-11-28 12:05:14 +01:00
|
|
|
interval: 2s
|
|
|
|
timeout: 10s
|
|
|
|
retries: 15
|
|
|
|
|
|
|
|
postgresql:
|
|
|
|
image: postgres:16-alpine
|
|
|
|
volumes:
|
|
|
|
- formbricks-postgresql-data:/var/lib/postgresql/data
|
|
|
|
environment:
|
|
|
|
- POSTGRES_USER=${SERVICE_USER_POSTGRESQL}
|
|
|
|
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
|
|
|
|
- POSTGRES_DB=${POSTGRESQL_DATABASE:-formbricks}
|
|
|
|
healthcheck:
|
|
|
|
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
|
|
|
interval: 5s
|
|
|
|
timeout: 20s
|
|
|
|
retries: 10
|