Files
Gardomatic/.env.example
T
2026-09-14 19:58:31 +02:00

77 lines
3.3 KiB
Bash

# Copy this file to .env before starting the Compose stack. Do not commit .env.
# PostgreSQL database and role name. Simple lowercase identifiers are recommended.
POSTGRES_DB=gardomatic
POSTGRES_USER=gardomatic
# Required, non-empty password. If it contains URI-reserved characters, use the
# percent-encoded form of the same password in GARDOMATIC_DB_DSN below.
POSTGRES_PASSWORD=change-me
# Host port published by Compose. Allowed: integer from 1 to 65535.
POSTGRES_PORT=5432
# Host ports published for API and web. Allowed: integers from 1 to 65535.
API_PORT=4000
WEB_PORT=4040
# Runtime mode. Allowed: development, test, production.
GARDOMATIC_ENV=development
# Required PostgreSQL connection string. Supported form:
# postgres://USER:PASSWORD@HOST:PORT/DATABASE?sslmode=MODE
GARDOMATIC_DB_DSN=postgres://gardomatic:change-me@localhost:5432/gardomatic?sslmode=disable
# Connection-pool limits. Open must be at least 1; idle must be between 0 and open.
GARDOMATIC_DB_MAX_OPEN_CONNS=25
GARDOMATIC_DB_MAX_IDLE_CONNS=25
# Go duration, for example 30s, 15m or 1h30m.
GARDOMATIC_DB_MAX_IDLE_TIME=15m
# Listener ports. Allowed: integers from 1 to 65535.
GARDOMATIC_API_PORT=4000
GARDOMATIC_WEB_PORT=4040
# Listener hosts. Empty means all available interfaces; otherwise use an IP address
# or resolvable hostname such as 127.0.0.1 or localhost.
GARDOMATIC_API_HOST=
GARDOMATIC_WEB_HOST=
# Absolute HTTP(S) URLs including scheme and host. These are addresses used by the
# applications, not listener addresses.
GARDOMATIC_API_BASE_URL=http://localhost:4000
GARDOMATIC_WEB_BASE_URL=http://localhost:4040
# Non-empty cookie name shared by API and web.
GARDOMATIC_SESSION_COOKIE_NAME=gardomatic_session
# Go durations, for example 30m, 12h or 168h. Use positive values.
GARDOMATIC_SESSION_LIFETIME=12h
GARDOMATIC_SESSION_IDLE_TIMEOUT=30m
# Boolean. Accepted true values: 1, t, T, TRUE, true, True. Accepted false
# values: 0, f, F, FALSE, false, False. Must be true in production.
GARDOMATIC_COOKIE_SECURE=false
# Boolean with the same accepted forms as GARDOMATIC_COOKIE_SECURE.
GARDOMATIC_RATE_LIMIT_ENABLED=true
# Positive requests per second; decimal values such as 0.5 are accepted.
GARDOMATIC_RATE_LIMIT_RPS=10
# Positive integer defining the permitted request burst.
GARDOMATIC_RATE_LIMIT_BURST=40
# Comma-separated absolute URLs; every entry requires a scheme and host. Empty
# disables cross-origin browser access. Use origins without paths, for example:
# https://garden.example.com,https://admin.example.com
GARDOMATIC_CORS_TRUSTED_ORIGINS=http://localhost:4040
# Destructive demo reset. Never enable this for a database containing real data.
GARDOMATIC_DEMO_RESET_ENABLED=false
# When set, this shared account cannot change its identity, password or sessions.
# Use the same address as `demo reset --email` on a disposable demo instance.
GARDOMATIC_DEMO_ACCOUNT_EMAIL=
# Delivery mode. Allowed: file or smtp.
GARDOMATIC_SMTP_MODE=file
# SMTP hostname and TCP port. Used only in smtp mode.
GARDOMATIC_SMTP_HOST=
GARDOMATIC_SMTP_PORT=25
# SMTP credentials. Used only in smtp mode; keep the password in .env only.
GARDOMATIC_SMTP_USERNAME=
GARDOMATIC_SMTP_PASSWORD=
# Sender mailbox, for example gardomatic@example.com.
GARDOMATIC_SMTP_SENDER=gardomatic@localhost
# Writable absolute file path. Required only in file mode.
GARDOMATIC_SMTP_FILE_PATH=/tmp/gardomatic-mails.log