-
Use a Strong Password: Choose a strong password during the initial setup wizard
-
Secure Environment File:
chmod 600 infrastructure/.env # Never commit .env to version control -
Rotate Secrets Regularly:
# Generate new secrets openssl rand -base64 32 # JWT_SECRET openssl rand -hex 32 # MANAGEMENT_API_KEY # Update .env and restart services
-
Firewall Configuration:
- Only open required ports
- Use
ufw limitfor SSH to enable rate limiting - Consider IP whitelisting for SSH access
-
Regular Updates:
cd infrastructure docker compose pull docker compose up -dDashboard updates can also be applied from the Settings page in the admin panel.
-
Monitor Logs:
docker compose logs -f --tail=100
-
Automated Backups:
- Enable daily or weekly backups during installation
- Store backups off-server
- Test restore procedures regularly
- Encrypt backups for remote storage
-
Database Security:
- PostgreSQL is on isolated internal network (no internet access)
- Use strong passwords for database credentials
- Regularly update PostgreSQL image
-
TLS Configuration:
- Caddy automatically provisions Let's Encrypt certificates
- Certificates auto-renew before expiration
- HTTPS enforced for all connections