Add Duplicati backup service and update Authelia configuration

- Add Duplicati encrypted cloud backup service
- Add AUTHELIA_DB_NAME and AUTHELIA_DB_USER environment variables
- Add DUPLICATI_ENCRYPTION_KEY and DUPLICATI_PASSWORD to .env.example
- Update README.md with Duplicati documentation
- Configure Gitea with English-only language setting
This commit is contained in:
elfateh4
2025-12-02 05:54:59 +01:00
parent 96e3c80ffb
commit 6f953a090d
2 changed files with 20 additions and 1 deletions

View File

@@ -25,13 +25,17 @@ PGADMIN_DEFAULT_EMAIL=admin@your-domain.com
PGADMIN_DEFAULT_PASSWORD=your_strong_pgadmin_password PGADMIN_DEFAULT_PASSWORD=your_strong_pgadmin_password
## Authelia ## Authelia
# Database name for Authelia
AUTHELIA_DB_NAME=authelia
# Database user for Authelia
AUTHELIA_DB_USER=authelia
# Database password for Authelia PostgreSQL # Database password for Authelia PostgreSQL
AUTHELIA_DB_PASSWORD=your_authelia_db_password AUTHELIA_DB_PASSWORD=your_authelia_db_password
# JWT secret for Authelia (64+ character random string) # JWT secret for Authelia (64+ character random string)
AUTHELIA_JWT_SECRET=your_64_character_jwt_secret_here AUTHELIA_JWT_SECRET=your_64_character_jwt_secret_here
# Session secret for Authelia (64+ character random string) # Session secret for Authelia (64+ character random string)
AUTHELIA_SESSION_SECRET=your_64_character_session_secret_here AUTHELIA_SESSION_SECRET=your_64_character_session_secret_here
# Storage encryption key for Authelia (20+ character string) # Storage encryption key for Authelia (64+ character random string)
AUTHELIA_STORAGE_ENCRYPTION_KEY=your_storage_encryption_key_here AUTHELIA_STORAGE_ENCRYPTION_KEY=your_storage_encryption_key_here
# SMTP password for Authelia notifier # SMTP password for Authelia notifier
AUTHELIA_NOTIFIER_SMTP_PASSWORD=your_smtp_password_here AUTHELIA_NOTIFIER_SMTP_PASSWORD=your_smtp_password_here
@@ -47,3 +51,9 @@ GITEA_DB_NAME=gitea
GITEA_SECRET_KEY=your_64_character_gitea_secret_key_here GITEA_SECRET_KEY=your_64_character_gitea_secret_key_here
# Internal token for Gitea (generate with: docker run -it --rm docker.gitea.com/gitea:1 gitea generate secret INTERNAL_TOKEN) # Internal token for Gitea (generate with: docker run -it --rm docker.gitea.com/gitea:1 gitea generate secret INTERNAL_TOKEN)
GITEA_INTERNAL_TOKEN=your_gitea_internal_token_here GITEA_INTERNAL_TOKEN=your_gitea_internal_token_here
## Duplicati
# Settings encryption key for Duplicati (random string for encrypting settings database)
DUPLICATI_ENCRYPTION_KEY=your_duplicati_encryption_key_here
# Web UI password for Duplicati
DUPLICATI_PASSWORD=your_duplicati_password_here

View File

@@ -12,6 +12,7 @@ A production-ready Traefik-based reverse proxy gateway with automatic SSL/TLS, a
- **Uptime Monitoring** with Uptime Kuma - **Uptime Monitoring** with Uptime Kuma
- **Server Monitoring** with Beszel - **Server Monitoring** with Beszel
- **Git Repository Hosting** with Gitea - **Git Repository Hosting** with Gitea
- **Encrypted Backups** with Duplicati
- **Security Headers** and Flexible Routing - **Security Headers** and Flexible Routing
- **Flexible Domain Routing** (subdomains, paths, custom rules) - **Flexible Domain Routing** (subdomains, paths, custom rules)
@@ -30,6 +31,7 @@ Internet → Traefik (Port 80/443) → Authelia (Auth) → Internal Services (tr
- **pgAdmin**: `pgadmin.${DOMAIN_PREFIX}.${DOMAIN}` - PostgreSQL administration - **pgAdmin**: `pgadmin.${DOMAIN_PREFIX}.${DOMAIN}` - PostgreSQL administration
- **Beszel**: `beszel.${DOMAIN_PREFIX}.${DOMAIN}` - Server monitoring - **Beszel**: `beszel.${DOMAIN_PREFIX}.${DOMAIN}` - Server monitoring
- **Gitea**: `git.${DOMAIN_PREFIX}.${DOMAIN}` - Self-hosted Git service (SSH on port 222) - **Gitea**: `git.${DOMAIN_PREFIX}.${DOMAIN}` - Self-hosted Git service (SSH on port 222)
- **Duplicati**: `backup.${DOMAIN_PREFIX}.${DOMAIN}` - Encrypted cloud backup
## 🛠️ Quick Start ## 🛠️ Quick Start
@@ -69,6 +71,8 @@ UMAMI_DB_NAME=umami
UMAMI_APP_SECRET=your_64_character_secret UMAMI_APP_SECRET=your_64_character_secret
# Authelia secrets (generate with openssl rand -hex 32) # Authelia secrets (generate with openssl rand -hex 32)
AUTHELIA_DB_NAME=authelia
AUTHELIA_DB_USER=authelia
AUTHELIA_DB_PASSWORD=your_secure_password AUTHELIA_DB_PASSWORD=your_secure_password
AUTHELIA_JWT_SECRET=your_64_char_secret AUTHELIA_JWT_SECRET=your_64_char_secret
AUTHELIA_SESSION_SECRET=your_64_char_secret AUTHELIA_SESSION_SECRET=your_64_char_secret
@@ -81,6 +85,10 @@ GITEA_DB_PASSWORD=your_secure_password
GITEA_DB_NAME=gitea GITEA_DB_NAME=gitea
GITEA_SECRET_KEY=your_64_char_secret GITEA_SECRET_KEY=your_64_char_secret
GITEA_INTERNAL_TOKEN=your_internal_token GITEA_INTERNAL_TOKEN=your_internal_token
# Duplicati secrets
DUPLICATI_ENCRYPTION_KEY=your_encryption_key
DUPLICATI_PASSWORD=your_backup_password
``` ```
@@ -98,6 +106,7 @@ docker compose up -d
- **pgAdmin**: `https://pgadmin.${DOMAIN_PREFIX}.${DOMAIN}` - **pgAdmin**: `https://pgadmin.${DOMAIN_PREFIX}.${DOMAIN}`
- **Beszel**: `https://beszel.${DOMAIN_PREFIX}.${DOMAIN}` - **Beszel**: `https://beszel.${DOMAIN_PREFIX}.${DOMAIN}`
- **Gitea**: `https://git.${DOMAIN_PREFIX}.${DOMAIN}` (SSH: port 222) - **Gitea**: `https://git.${DOMAIN_PREFIX}.${DOMAIN}` (SSH: port 222)
- **Duplicati**: `https://backup.${DOMAIN_PREFIX}.${DOMAIN}`
## 📋 Adding New Services ## 📋 Adding New Services