From 6f953a090de943976cb21c05b0217d8653259de0 Mon Sep 17 00:00:00 2001 From: elfateh4 Date: Tue, 2 Dec 2025 05:54:59 +0100 Subject: [PATCH] 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 --- .env.example | 12 +++++++++++- README.md | 9 +++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index e4358ef..c84aa6c 100644 --- a/.env.example +++ b/.env.example @@ -25,13 +25,17 @@ PGADMIN_DEFAULT_EMAIL=admin@your-domain.com PGADMIN_DEFAULT_PASSWORD=your_strong_pgadmin_password ## Authelia +# Database name for Authelia +AUTHELIA_DB_NAME=authelia +# Database user for Authelia +AUTHELIA_DB_USER=authelia # Database password for Authelia PostgreSQL AUTHELIA_DB_PASSWORD=your_authelia_db_password # JWT secret for Authelia (64+ character random string) AUTHELIA_JWT_SECRET=your_64_character_jwt_secret_here # Session secret for Authelia (64+ character random string) 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 # SMTP password for Authelia notifier 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 # 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 + +## 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 diff --git a/README.md b/README.md index 1f5ad43..227725d 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ A production-ready Traefik-based reverse proxy gateway with automatic SSL/TLS, a - **Uptime Monitoring** with Uptime Kuma - **Server Monitoring** with Beszel - **Git Repository Hosting** with Gitea +- **Encrypted Backups** with Duplicati - **Security Headers** and Flexible Routing - **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 - **Beszel**: `beszel.${DOMAIN_PREFIX}.${DOMAIN}` - Server monitoring - **Gitea**: `git.${DOMAIN_PREFIX}.${DOMAIN}` - Self-hosted Git service (SSH on port 222) +- **Duplicati**: `backup.${DOMAIN_PREFIX}.${DOMAIN}` - Encrypted cloud backup ## 🛠️ Quick Start @@ -69,6 +71,8 @@ UMAMI_DB_NAME=umami UMAMI_APP_SECRET=your_64_character_secret # Authelia secrets (generate with openssl rand -hex 32) +AUTHELIA_DB_NAME=authelia +AUTHELIA_DB_USER=authelia AUTHELIA_DB_PASSWORD=your_secure_password AUTHELIA_JWT_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_SECRET_KEY=your_64_char_secret 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}` - **Beszel**: `https://beszel.${DOMAIN_PREFIX}.${DOMAIN}` - **Gitea**: `https://git.${DOMAIN_PREFIX}.${DOMAIN}` (SSH: port 222) +- **Duplicati**: `https://backup.${DOMAIN_PREFIX}.${DOMAIN}` ## 📋 Adding New Services