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:
12
.env.example
12
.env.example
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user