Backup (backup.sh.j2): - Creates a single data_YYYY-MM-DD_HH-MM.tar.gz archive - Unified data/ layout: databases/ (pg_dump .sql.gz) + volumes/ (docker volumes) - Includes RESTORE.md with step-by-step instructions inside the archive - S3 uploads to main/ prefix instead of flat root Outline (tools role): - Add SMTP_HOST/PORT/FROM vars to env.j2 template (required for email magic-link auth to activate) - Add outline_smtp_* defaults to roles/tools/defaults/main.yml - Without SMTP_HOST, the email auth plugin is disabled and clicking login does nothing Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
49 lines
1.3 KiB
Django/Jinja
49 lines
1.3 KiB
Django/Jinja
# Outline env — generated by Ansible
|
|
NODE_ENV=production
|
|
SECRET_KEY={{ outline_secret_key }}
|
|
UTILS_SECRET={{ outline_utils_secret }}
|
|
|
|
# Database
|
|
DATABASE_URL=postgres://outline:{{ outline_db_password }}@outline-db:5432/outline
|
|
PGSSLMODE=disable
|
|
|
|
# Redis
|
|
REDIS_URL=redis://outline-redis:6379
|
|
|
|
# App URL
|
|
URL=https://{{ domain_wiki }}
|
|
PORT=3000
|
|
|
|
# S3 file storage (Timeweb Object Storage)
|
|
AWS_ACCESS_KEY_ID={{ s3_access_key }}
|
|
AWS_SECRET_ACCESS_KEY={{ s3_secret_key }}
|
|
AWS_REGION=ru-1
|
|
AWS_S3_UPLOAD_BUCKET_NAME=visual-outline
|
|
AWS_S3_UPLOAD_BUCKET_URL=https://s3.timeweb.cloud
|
|
AWS_S3_FORCE_PATH_STYLE=true
|
|
AWS_S3_ACL=private
|
|
FILE_STORAGE=s3
|
|
|
|
# Auth — local accounts (can add OIDC/Authelia later)
|
|
AUTH_PROVIDERS=email
|
|
|
|
# SMTP (required to enable email magic-link auth)
|
|
SMTP_HOST={{ outline_smtp_host }}
|
|
SMTP_PORT={{ outline_smtp_port | default(587) }}
|
|
SMTP_FROM_EMAIL={{ outline_smtp_from }}
|
|
{% if outline_smtp_username is defined and outline_smtp_username %}
|
|
SMTP_USERNAME={{ outline_smtp_username }}
|
|
SMTP_PASSWORD={{ outline_smtp_password }}
|
|
{% endif %}
|
|
|
|
# Outline DB password (used in docker-compose)
|
|
OUTLINE_DB_PASSWORD={{ outline_db_password }}
|
|
|
|
# Optional
|
|
DEFAULT_LANGUAGE=en_US
|
|
RATE_LIMITER_ENABLED=true
|
|
ENABLE_UPDATES=false
|
|
|
|
# n8n secrets
|
|
N8N_ENCRYPTION_KEY={{ n8n_encryption_key }}
|
|
N8N_JWT_SECRET={{ n8n_jwt_secret }}
|