150 lines
6.2 KiB
Plaintext
150 lines
6.2 KiB
Plaintext
# ==============================================================================
|
||
# .env.example – OpenProject Docker Compose environment template
|
||
# ==============================================================================
|
||
# 1. cp .env.example .env
|
||
# 2. Edit .env with real values (never commit .env to version control)
|
||
# 3. docker compose up -d --build --pull always
|
||
# ==============================================================================
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Core – OpenProject behaviour
|
||
# ---------------------------------------------------------------------------
|
||
# Docker image tag. Use XX-slim for the compose setup (recommended).
|
||
TAG=17-slim
|
||
|
||
# Protocol flag. Set to "false" for first-run / local dev without TLS.
|
||
# In production set to "true" and terminate TLS at your reverse proxy.
|
||
OPENPROJECT_HTTPS=true
|
||
|
||
# Public hostname + optional port that appears in every generated URL and
|
||
# e-mail link. Must match what end-users type in the browser.
|
||
OPENPROJECT_HOST__NAME=project.martinhal.tech
|
||
|
||
# If OpenProject is mounted at a sub-path (e.g. /op), set it here.
|
||
# Leave empty for root mount.
|
||
OPENPROJECT_RAILS__RELATIVE__URL__ROOT=
|
||
|
||
# Edition: "standard" (community) or "bim"
|
||
OPENPROJECT_EDITION=standard
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Database – PostgreSQL
|
||
# ---------------------------------------------------------------------------
|
||
# Password for the postgres superuser created by the db container.
|
||
# Must match the :password segment in DATABASE_URL below.
|
||
POSTGRES_PASSWORD=Chu929qw4Nf67r
|
||
|
||
# Full connection string. Edit only if you point at an external database.
|
||
DATABASE_URL=postgres://postgres:Chu929qw4Nf67r@db/openproject?pool=20&encoding=unicode&reconnect=true
|
||
|
||
# Where Docker stores the PostgreSQL data volume.
|
||
# Use a named volume (default) or an absolute host path.
|
||
PGDATA=pgdata
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Attachments / assets volume
|
||
# ---------------------------------------------------------------------------
|
||
# Use a named volume (default) or an absolute host path, e.g.
|
||
# OPDATA=/var/openproject/assets
|
||
# If using an absolute path, run:
|
||
# sudo mkdir -p /var/openproject/assets
|
||
# sudo chown 1000:1000 -R /var/openproject/assets
|
||
OPDATA=opdata
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Networking
|
||
# ---------------------------------------------------------------------------
|
||
# Port exposed by the Caddy proxy to the host.
|
||
# Bind to 0.0.0.0 (public) or 127.0.0.1 (localhost-only).
|
||
PORT=8080
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Threads
|
||
# ---------------------------------------------------------------------------
|
||
RAILS_MIN_THREADS=4
|
||
RAILS_MAX_THREADS=16
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Collaborative editing – Hocuspocus
|
||
# ---------------------------------------------------------------------------
|
||
# URL where the browser connects for real-time collaboration.
|
||
# Leave empty to use the auto-generated value: wss://<OPENPROJECT_HOST__NAME>/hocuspocus
|
||
COLLABORATIVE_SERVER_URL=
|
||
|
||
# ⚠️ CHANGE THIS in production – it protects the WebSocket endpoint.
|
||
COLLABORATIVE_SERVER_SECRET=replace_with_a_long_random_string
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Inbound email (IMAP) – optional
|
||
# ---------------------------------------------------------------------------
|
||
IMAP_ENABLED=false
|
||
|
||
# ===========================================================================
|
||
# SMTP – Outbound e-mail ← fill these in to enable notification mails
|
||
# ===========================================================================
|
||
# Docs:
|
||
# /docs/installation-and-operations/configuration/outbound-emails/
|
||
# /docs/installation-and-operations/configuration/environment/
|
||
#
|
||
# These variables are forwarded to *every* OpenProject container that may
|
||
# need to send mail (web, worker). Setting them here disables the manual
|
||
# SMTP form inside Administration → Emails and notifications.
|
||
# ===========================================================================
|
||
|
||
# Delivery method – keep as "smtp".
|
||
EMAIL_DELIVERY_METHOD=smtp
|
||
|
||
# Hostname of your SMTP relay.
|
||
# Examples:
|
||
# Gmail → smtp.gmail.com
|
||
# Outlook/O365 → smtp-mail.outlook.com (or smtp.office365.com)
|
||
# SendGrid → smtp.sendgrid.net
|
||
# Mailgun → smtp.mailgun.org
|
||
# Custom/on-prem → smtp.yourdomain.com
|
||
SMTP_ADDRESS=smtp.purelymail.com
|
||
|
||
# Port – 587 (STARTTLS, recommended) | 465 (implicit SSL) | 25 (plain, avoid)
|
||
SMTP_PORT=587
|
||
|
||
# HELO / EHLO domain sent to the SMTP server.
|
||
# Usually the public domain of your OpenProject instance.
|
||
SMTP_DOMAIN=smtp.purelymail.com
|
||
|
||
# Authentication method.
|
||
# plain – most cloud providers (Gmail, O365, SendGrid, Mailgun …)
|
||
# login – some on-premises / legacy servers
|
||
# cram_md5 – rarely used
|
||
SMTP_AUTHENTICATION=plain
|
||
|
||
# SMTP user name.
|
||
# Gmail → your full Gmail address
|
||
# SendGrid → apikey (literal string)
|
||
# Mailgun → postmaster@your-sandbox.mailgun.org
|
||
# On-premises → usually an e-mail address
|
||
SMTP_USER_NAME=projects@martinhakl.tech
|
||
|
||
# SMTP password / API key.
|
||
# ⚠️ Never commit this file after editing – use .gitignore on .env.
|
||
# Gmail → App Password (not your Google password)
|
||
# SendGrid → API key starting with SG.xxxxx
|
||
# Mailgun → API key from Mailgun dashboard
|
||
SMTP_PASSWORD=Chu929qw4Nf67r
|
||
|
||
# STARTTLS – upgrade a plain connection to encrypted mid-session.
|
||
# Set to "true" when SMTP_PORT=587 (the common case).
|
||
# Set to "false" when SMTP_PORT=465 (implicit SSL) or 25.
|
||
SMTP_ENABLE_STARTTLS_AUTO=true
|
||
|
||
# Implicit SSL – set to "true" only when SMTP_PORT=465.
|
||
SMTP_SSL=false
|
||
|
||
# Connection timeout in seconds. Increase if your SMTP relay is slow.
|
||
SMTP_TIMEOUT=5
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Envelope sender ("From" address in outgoing mails)
|
||
# ---------------------------------------------------------------------------
|
||
# Must be a valid address on the SMTP account, unless your provider
|
||
# allows arbitrary sender addresses.
|
||
MAILER_FROM_ADDRESS=projects@martinhakl.tech
|