FIXES: - Fix Magic Mirror npm install to run inside Docker container instead of on host - npm (Node Package Manager) commands now execute inside the MagicMirror container where Node.js is installed, preventing errors on hosts without Node.js NEW SERVICES: - Add ActualBudget: Open-source personal finance management with bank sync (SimpleFIN) - Add Keycloak: Identity and Access Management (SSO, OAuth2, SAML, MFA) - Both services integrated into main installation script and available as standalone docker-compose files for existing servers CADDY & FAIL2BAN: - Add caddy-setup-helper.sh: Interactive script to configure Caddy and fail2ban * Detects existing Caddy installation * Automatically backs up Caddyfile with timestamp * Checks for fail2ban support * Provides service integration examples - Add fail2ban filter and jail configurations for Caddy protection - Add comprehensive setup guide (CADDY-FAIL2BAN-SETUP.md) DOCUMENTATION: - Detailed deployment instructions for each service - Reverse proxy configuration examples - Security best practices and headers - Backup/restore procedures - Troubleshooting guides This update enables secure deployment of new services on existing servers with proper Caddy reverse proxy integration and fail2ban protection against attacks.
61 lines
1.9 KiB
YAML
61 lines
1.9 KiB
YAML
# ActualBudget - Open-source personal finance management
|
|
# https://actualbudget.org/
|
|
#
|
|
# DEPLOYMENT INSTRUCTIONS:
|
|
# 1. Create directory: mkdir -p ~/docker/actualbudget
|
|
# 2. Copy this file: cp docker-compose-actualbudget.yml ~/docker/actualbudget/docker-compose.yml
|
|
# 3. Create data directory: mkdir -p ~/docker/actualbudget/data
|
|
# 4. Start the service: cd ~/docker/actualbudget && docker compose up -d
|
|
# 5. Access at: http://localhost:5006
|
|
#
|
|
# REVERSE PROXY SETUP (with Caddy):
|
|
# Add to your Caddyfile:
|
|
# budget.yourdomain.com {
|
|
# reverse_proxy localhost:5006
|
|
# }
|
|
#
|
|
# BANK ACCOUNT SYNC:
|
|
# ActualBudget supports SimpleFIN (https://simplefin.org/) for bank synchronization.
|
|
# You'll need a SimpleFIN account to sync with your bank accounts.
|
|
# Setup instructions: https://actualbudget.org/docs/advanced/bank-sync
|
|
|
|
name: actualbudget
|
|
|
|
services:
|
|
actualbudget:
|
|
image: actualbudget/actual-server:latest
|
|
container_name: actualbudget
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5006:5006"
|
|
volumes:
|
|
- ./data:/data
|
|
environment:
|
|
# Set your timezone
|
|
- TZ=UTC
|
|
# Uncomment and set these for HTTPS/production deployment:
|
|
# - ACTUAL_UPLOAD_FILE_SYNC_SIZE_LIMIT_MB=20
|
|
# - ACTUAL_UPLOAD_SYNC_ENCRYPTED_FILE_SYNC_SIZE_LIMIT_MB=50
|
|
# - ACTUAL_UPLOAD_FILE_SIZE_LIMIT_MB=20
|
|
labels:
|
|
# Fail2ban support - logs HTTP requests
|
|
- "io.podman.annotations.label/fail2ban.enable=true"
|
|
- "io.podman.annotations.label/fail2ban.filter=caddy-auth"
|
|
|
|
# NOTES:
|
|
# - Default port: 5006
|
|
# - Data stored in: ./data
|
|
# - First run: Create an account at http://localhost:5006
|
|
# - Bank sync requires SimpleFIN: https://simplefin.org/
|
|
# - Official docs: https://actualbudget.org/docs/
|
|
#
|
|
# BACKUP YOUR DATA:
|
|
# Regular backups are important! ActualBudget stores data in SQLite.
|
|
# docker compose down
|
|
# cp -r data data-backup-$(date +%Y%m%d)
|
|
# docker compose up -d
|
|
#
|
|
# UPDATES:
|
|
# docker compose pull
|
|
# docker compose up -d
|