Fix Magic Mirror npm setup and add ActualBudget, Keycloak, Caddy/fail2ban support
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.
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user