Skip to content

Commit 51ca7c6

Browse files
michaelhodgesMichael Hcrypt0rr
authored
Added Formbricks (#269)
* compose.yml and .env added to paperless service. * Include paperless service README * Error paperless service README * Add PUID, GUID to environment. Align environment variables with template format * Remove volumes and incorporate the local storage principle as outlined in templates. * Restored comments. * Place TZ in .env * Add TZ variable to environment. * Revert "Restored comments." This reverts commit 216de08. * Restore Comments * Revert * Revert changes made to template files. * Set SERVICEPORT to 80 in .env configuration * Update to include paperless-ngx * Update README with Tailscale service configuration Added information about Tailscale integration for secure networking. * Add audiobooks, podcasts and metadata volumes. * Move TZ environment variable to .env file * Fix indentation. * Delete templates/service-template/.env * Create .env * Update compose.yaml * Provide area to declare compose environment in .env * Edit .env * Move all environment variables to .env Allow port open in compose.yml for tailnet so survey URL will work. * Update .env * Update .env * Fix formatting of TS_URL in .env file * Update .env * Update compose.yaml * Update .env --------- Co-authored-by: Michael H <michael@hplaptop.local> Co-authored-by: Bart <57799908+crypt0rr@users.noreply.github.com>
1 parent efb3c61 commit 51ca7c6

File tree

2 files changed

+281
-206
lines changed

2 files changed

+281
-206
lines changed

services/formbricks/.env

Lines changed: 206 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,221 @@
33
#COMPOSE_PROJECT_NAME= # Optional: only use when running multiple deployments on the same infrastructure.
44

55
# Service Configuration
6-
SERVICE=formbricks
6+
SERVICE=formbricks # Service name (e.g., adguard). Used as hostname in Tailscale and for container naming (app-${SERVICE}).
77
IMAGE_URL=ghcr.io/formbricks/formbricks:latest
88

99
# Network Configuration
10-
SERVICEPORT=3000
11-
DNS_SERVER=9.9.9.9
10+
SERVICEPORT=3000 # Port to expose to local network. Uncomment the "ports:" section in compose.yaml to enable.
11+
DNS_SERVER=9.9.9.9 # Preferred DNS server for Tailscale. Uncomment the "dns:" section in compose.yaml to enable.
1212

1313
# Tailscale Configuration
14-
TS_AUTHKEY=
14+
TS_AUTHKEY= # Auth key from https://tailscale.com/admin/authkeys. See: https://tailscale.com/kb/1085/auth-keys#generate-an-auth-key for instructions.
1515

1616
# Time Zone setting for containers
1717
TZ=Europe/Amsterdam # See: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
1818

1919
# Optional Service variables
2020
# PUID=1000
2121

22-
#EXAMPLE_VAR="Environment varibale"
22+
# Any Container environment variables are declared below. See https://docs.docker.com/compose/how-tos/environment-variables/
23+
24+
######################################################## REQUIRED ########################################################
25+
26+
# Your tailnet domain
27+
TS_URL="formbricks.<YOUR_TAILNET>.ts.net"
28+
29+
# The url of your Formbricks instance used in the admin panel
30+
# Set this to your public-facing URL, e.g., https://example.com
31+
WEBAPP_URL=http://${TS_URL}:3000
32+
33+
# Required for next-auth. Should be the same as WEBAPP_URL
34+
NEXTAUTH_URL=${WEBAPP_URL}
35+
36+
# Set the below to your public domain (default is WEBAPP_URL)
37+
PUBLIC_URL=${WEBAPP_URL}
38+
39+
# PostgreSQL DB for Formbricks to connect to
40+
DATABASE_URL="postgresql://postgres:postgres@postgres:5432/formbricks?schema=public"
41+
42+
# NextJS Auth
43+
# @see: https://next-auth.js.org/configuration/options#nextauth_secret
44+
# You can use: `openssl rand -hex 32` to generate a new one
45+
NEXTAUTH_SECRET="7b62c37371798cf96dc019f3d4f712a27d1b05d0755ffcf96481b8504697f532"
46+
47+
# Encryption Key is used for 2FA & Single use URLs for Link Surveys
48+
# You can use: `openssl rand -hex 32` to generate a new one
49+
ENCRYPTION_KEY="i1e284266e3f7ace4772e329e0494aa1d6110fba48db06bd9652e7a9fdd167281"
50+
51+
# API Secret for running cron jobs.
52+
# You can use: `openssl rand -hex 32` to generate a new one
53+
CRON_SECRET="b5af3d39789e7730004a01bb84922914ea0b478fe67784ce3fa8e4c35096d6b4"
54+
55+
# Redis URL for caching, rate limiting, and audit logging
56+
# To use external Redis/Valkey: remove the redis service below and update this URL
57+
REDIS_URL="redis://redis:6379"
58+
59+
# Set the minimum log level(debug, info, warn, error, fatal)
60+
LOG_LEVEL="info"
61+
62+
############################################# OPTIONAL (ENTERPRISE EDITION) #############################################
63+
64+
# Enterprise License Key (More info at: https://formbricks.com/docs/self-hosting/license)
65+
# Required to access Enterprise-only features
66+
# ENTERPRISE_LICENSE_KEY=""
67+
68+
############################################# OPTIONAL (EMAIL CONFIGURATION) #############################################
69+
70+
# Email Configuration
71+
MAIL_FROM="from@some.host"
72+
MAIL_FROM_NAME="from host"
73+
SMTP_HOST="some.host"
74+
SMTP_PORT="587"
75+
SMTP_USER="SMTPUser"
76+
SMTP_PASSWORD="SMTPPassword"
77+
SMTP_AUTHENTICATED="1"
78+
79+
# (Additional option for TLS (port 465) only)
80+
SMTP_SECURE_ENABLED="0"
81+
82+
# If set to 0, the server will accept connections without requiring authorization from the list of supplied CAs (default is 1).
83+
SMTP_REJECT_UNAUTHORIZED_TLS="1"
84+
85+
############################################## OPTIONAL (APP CONFIGURATION) ##############################################
86+
87+
# Set the below to 0 to enable Email Verification for new signups (will required Email Configuration)
88+
EMAIL_VERIFICATION_DISABLED="1"
89+
90+
# Set the below to 0 to enable Password Reset (will required Email Configuration)
91+
PASSWORD_RESET_DISABLED="1"
92+
93+
# Set the below to 1 to disable logins with email
94+
EMAIL_AUTH_DISABLED="0"
95+
96+
# Set the below to 1 to disable invites
97+
INVITE_DISABLED="0"
98+
99+
# Set the below if you want to ship JS & CSS files from a complete URL instead of the current domain
100+
# ASSET_PREFIX_URL=""
101+
102+
# Set the below to your Unsplash API Key for their Survey Backgrounds
103+
# UNSPLASH_ACCESS_KEY=""
104+
105+
# The SENTRY_DSN is used for error tracking and performance monitoring with Sentry.
106+
107+
# SENTRY_DSN=""
108+
109+
# It's used for authentication when uploading source maps to Sentry, to make errors more readable.
110+
# SENTRY_AUTH_TOKEN=""
111+
112+
# The SENTRY_ENVIRONMENT is used to identify the environment in Sentry.
113+
# SENTRY_ENVIRONMENT=""
114+
115+
################################################### OPTIONAL (STORAGE) ###################################################
116+
117+
# Set S3 Storage configuration (required for the file upload in serverless environments like Vercel)
118+
# S3_ACCESS_KEY=""
119+
# S3_SECRET_KEY=""
120+
# S3_REGION=""
121+
# S3_BUCKET_NAME=""
122+
123+
# Set a third party S3 compatible storage service endpoint like StorJ leave empty if you use Amazon S3
124+
# S3_ENDPOINT_URL=""
125+
126+
# Force path style for S3 compatible storage (0 for disabled, 1 for enabled)
127+
S3_FORCE_PATH_STYLE="0"
128+
129+
############################################# OPTIONAL (OAUTH CONFIGURATION) #############################################
130+
131+
# Set the below from Cloudflare Turnstile if you want to enable turnstile in signups
132+
# TURNSTILE_SITE_KEY=""
133+
# TURNSTILE_SECRET_KEY=""
134+
135+
# Set the below keys to enable recaptcha V3 for survey responses bot protection(only available in the Enterprise Edition)
136+
# RECAPTCHA_SITE_KEY=""
137+
# RECAPTCHA_SECRET_KEY=""
138+
139+
# Set the below from GitHub if you want to enable GitHub OAuth
140+
# GITHUB_ID=""
141+
# GITHUB_SECRET=""
142+
143+
# Set the below from Google if you want to enable Google OAuth
144+
# GOOGLE_CLIENT_ID=""
145+
# GOOGLE_CLIENT_SECRET=""
146+
147+
# Set the below from Azure Active Directory Login if you want to enable Azure AD OAuth
148+
# AZUREAD_CLIENT_ID=""
149+
# AZUREAD_CLIENT_SECRET=""
150+
# AZUREAD_TENANT_ID=""
151+
152+
# Set the below to OpenID Connect Provider if you want to enable OIDC
153+
# OIDC_CLIENT_ID=""
154+
# OIDC_CLIENT_SECRET=""
155+
# OIDC_ISSUER=""
156+
# OIDC_DISPLAY_NAME=""
157+
# OIDC_SIGNING_ALGORITHM=""
158+
159+
# Set the below to SAML Provider if you want to enable SAML
160+
# SAML_DATABASE_URL="postgresql://postgres:postgres@postgres:5432/formbricks-saml?sslmode=disable"
161+
162+
########################################## OPTIONAL (THIRD PARTY INTEGRATIONS) ###########################################
163+
164+
# Oauth credentials for Notion Integration
165+
# NOTION_OAUTH_CLIENT_ID=""
166+
# NOTION_OAUTH_CLIENT_SECRET=""
167+
168+
# Oauth credentials for Google Sheet Integration
169+
# GOOGLE_SHEETS_CLIENT_ID=""
170+
# GOOGLE_SHEETS_CLIENT_SECRET=""
171+
# GOOGLE_SHEETS_REDIRECT_URL=""
172+
173+
# Oauth credentials for Airtable Integration
174+
# AIRTABLE_CLIENT_ID=""
175+
176+
# Oauth credentials for Slack Integration
177+
# SLACK_CLIENT_ID=""
178+
# SLACK_CLIENT_SECRET=""
179+
180+
############################################### OPTIONAL (LEGAL INFORMATION) ################################################
181+
182+
# Set the below to have your own Privacy Page URL on auth & link survey page
183+
# PRIVACY_URL=""
184+
185+
# Set the below to have your own Terms Page URL on auth & link survey page
186+
# TERMS_URL=""
187+
188+
# Set the below to have your own Imprint Page URL on auth & link survey page
189+
# IMPRINT_URL=""
190+
191+
# Set the below to have your own Address on email footer
192+
# IMPRINT_ADDRESS=""
193+
194+
########################################## OPTIONAL (SERVER CONFIGURATION) ###########################################
195+
196+
# Set the below to 1 to disable Rate Limiting across Formbricks
197+
RATE_LIMITING_DISABLED="1"
198+
199+
# Set the below to send OpenTelemetry data for tracing
200+
# OPENTELEMETRY_LISTENER_URL="http://localhost:4318/v1/traces"
201+
202+
########################################## OPTIONAL (AUDIT LOGGING) ###########################################
203+
204+
# Set the below to 1 to enable audit logging.
205+
AUDIT_LOG_ENABLED="1"
206+
207+
# Set the below to get the ip address of the user from the request headers
208+
AUDIT_LOG_GET_USER_IP="1"
209+
210+
############################################# OPTIONAL (OTHER) #############################################
211+
212+
# signup is disabled by default for self-hosted instances, users can only signup using an invite link, in order to allow signup from SSO(without invite), set the below to 1
213+
AUTH_SKIP_INVITE_FOR_SSO="0"
214+
215+
# Set the below to automatically assign new users to a specific team, insert an existing team id
216+
# (Role Management is an Enterprise feature)
217+
# AUTH_SSO_DEFAULT_TEAM_ID=""
218+
219+
# Configure the minimum role for user management from UI(owner, manager, disabled)
220+
USER_MANAGEMENT_MINIMUM_ROLE="manager"
221+
222+
# Configure the maximum age for the session in seconds. Default is 86400 (24 hours)
223+
SESSION_MAX_AGE="86400"

0 commit comments

Comments
 (0)