From becfc4cde21ef138b16e1c499ce0f05788ca2586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Kr=C3=BCger?= Date: Sat, 15 Nov 2025 17:06:51 +0100 Subject: [PATCH] chore: remove old restic stack directory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Backrest service has been moved to core stack. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- restic/compose.yaml | 165 ---------------------- restic/config.json | 336 -------------------------------------------- 2 files changed, 501 deletions(-) delete mode 100644 restic/compose.yaml delete mode 100644 restic/config.json diff --git a/restic/compose.yaml b/restic/compose.yaml deleted file mode 100644 index 50fa19e..0000000 --- a/restic/compose.yaml +++ /dev/null @@ -1,165 +0,0 @@ -services: - backrest: - image: ${RESTIC_IMAGE:-garethgeorge/backrest:latest} - container_name: ${RESTIC_COMPOSE_PROJECT_NAME}_app - restart: unless-stopped - hostname: ${RESTIC_HOSTNAME:-falcon} - volumes: - # Backrest application data - - backrest_data:/data - - backrest_config:/config - - backrest_cache:/cache - - backrest_tmp:/tmp - - # Backup destination - - ${RESTIC_BACKUP_PATH:-/mnt/hidrive/users/valknar/Backup}:/repos - - # Docker volumes to backup (read-only) - - backup_core_postgres_data:/volumes/core_postgres_data:ro - - backup_core_redis_data:/volumes/core_redis_data:ro - - backup_directus_uploads:/volumes/directus_uploads:ro - - backup_directus_bundle:/volumes/directus_bundle:ro - - backup_util_mattermost_config:/volumes/mattermost_config:ro - - backup_util_mattermost_data:/volumes/mattermost_data:ro - - backup_util_mattermost_plugins:/volumes/mattermost_plugins:ro - - backup_util_tandoor_staticfiles:/volumes/tandoor_staticfiles:ro - - backup_util_tandoor_mediafiles:/volumes/tandoor_mediafiles:ro - - backup_n8n_data:/volumes/n8n_data:ro - - backup_filestash_data:/volumes/filestash_data:ro - - backup_util_linkwarden_data:/volumes/linkwarden_data:ro - - backup_util_linkwarden_meili_data:/volumes/linkwarden_meili_data:ro - - backup_letsencrypt_data:/volumes/letsencrypt_data:ro - - backup_util_vaultwarden_data:/volumes/vaultwarden_data:ro - - backup_util_joplin_data:/volumes/joplin_data:ro - - backup_jelly_config:/volumes/jelly_config:ro - - backup_netdata_config:/volumes/netdata_config:ro - - backup_ai_postgres_data:/volumes/ai_postgres_data:ro - - backup_ai_webui_data:/volumes/ai_webui_data:ro - - backup_ai_crawl4ai_data:/volumes/ai_crawl4ai_data:ro - - backup_asciinema_data:/volumes/asciinema_data:ro - - backup_dev_gitea_data:/volumes/dev_gitea_data:ro - - backup_dev_gitea_config:/volumes/dev_gitea_config:ro - - backup_dev_gitea_runner_data:/volumes/dev_gitea_runner_data:ro - - backup_dev_coolify_data:/volumes/dev_coolify_data:ro - - environment: - TZ: ${TIMEZONE:-Europe/Berlin} - BACKREST_DATA: /data - BACKREST_CONFIG: /config/config.json - XDG_CACHE_HOME: /cache - TMPDIR: /tmp - MATTERMOST_WEBHOOK_URL: ${MATTERMOST_WEBHOOK_URL:-} - - networks: - - compose_network - - labels: - - 'traefik.enable=${RESTIC_TRAEFIK_ENABLED}' - - 'traefik.http.middlewares.${RESTIC_COMPOSE_PROJECT_NAME}-redirect-web-secure.redirectscheme.scheme=https' - - 'traefik.http.routers.${RESTIC_COMPOSE_PROJECT_NAME}-web.middlewares=${RESTIC_COMPOSE_PROJECT_NAME}-redirect-web-secure' - - 'traefik.http.routers.${RESTIC_COMPOSE_PROJECT_NAME}-web.rule=Host(`${RESTIC_TRAEFIK_HOST}`)' - - 'traefik.http.routers.${RESTIC_COMPOSE_PROJECT_NAME}-web.entrypoints=web' - - 'traefik.http.routers.${RESTIC_COMPOSE_PROJECT_NAME}-web-secure.rule=Host(`${RESTIC_TRAEFIK_HOST}`)' - - 'traefik.http.routers.${RESTIC_COMPOSE_PROJECT_NAME}-web-secure.tls.certresolver=resolver' - - 'traefik.http.routers.${RESTIC_COMPOSE_PROJECT_NAME}-web-secure.entrypoints=web-secure' - - 'traefik.http.middlewares.${RESTIC_COMPOSE_PROJECT_NAME}-web-secure-compress.compress=true' - - 'traefik.http.routers.${RESTIC_COMPOSE_PROJECT_NAME}-web-secure.middlewares=${RESTIC_COMPOSE_PROJECT_NAME}-web-secure-compress' - - 'traefik.http.services.${RESTIC_COMPOSE_PROJECT_NAME}-web-secure.loadbalancer.server.port=9898' - - 'traefik.docker.network=${NETWORK_NAME}' - - 'com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}' - -volumes: - backrest_data: - name: ${RESTIC_COMPOSE_PROJECT_NAME}_data - backrest_config: - name: ${RESTIC_COMPOSE_PROJECT_NAME}_config - backrest_cache: - name: ${RESTIC_COMPOSE_PROJECT_NAME}_cache - backrest_tmp: - name: ${RESTIC_COMPOSE_PROJECT_NAME}_tmp - - # External volumes from other stacks (read-only mounts) - backup_core_postgres_data: - name: core_postgres_data - external: true - backup_core_redis_data: - name: core_redis_data - external: true - backup_directus_uploads: - name: core_directus_uploads - external: true - backup_directus_bundle: - name: core_directus_bundle - external: true - backup_util_mattermost_config: - name: util_mattermost_config - external: true - backup_util_mattermost_data: - name: util_mattermost_data - external: true - backup_util_mattermost_plugins: - name: util_mattermost_plugins - external: true - backup_util_tandoor_staticfiles: - name: util_tandoor_staticfiles - external: true - backup_util_tandoor_mediafiles: - name: util_tandoor_mediafiles - external: true - backup_n8n_data: - name: dev_n8n_data - external: true - backup_filestash_data: - name: stash_filestash_data - external: true - backup_util_linkwarden_data: - name: util_linkwarden_data - external: true - backup_util_linkwarden_meili_data: - name: util_linkwarden_meili_data - external: true - backup_letsencrypt_data: - name: net_letsencrypt_data - external: true - backup_util_vaultwarden_data: - name: util_vaultwarden_data - external: true - backup_util_joplin_data: - name: util_joplin_data - external: true - - backup_jelly_config: - name: jelly_config - external: true - backup_netdata_config: - name: net_netdata_config - external: true - backup_ai_postgres_data: - name: ai_postgres_data - external: true - backup_ai_webui_data: - name: ai_webui_data - external: true - backup_ai_crawl4ai_data: - name: ai_crawl4ai_data - external: true - backup_asciinema_data: - name: dev_asciinema_data - external: true - backup_dev_gitea_data: - name: dev_gitea_data - external: true - backup_dev_gitea_config: - name: dev_gitea_config - external: true - backup_dev_gitea_runner_data: - name: dev_gitea_runner_data - external: true - backup_dev_coolify_data: - name: dev_coolify_data - external: true - -networks: - compose_network: - name: ${NETWORK_NAME} - external: true diff --git a/restic/config.json b/restic/config.json deleted file mode 100644 index f89ad32..0000000 --- a/restic/config.json +++ /dev/null @@ -1,336 +0,0 @@ -{ - "version": 4, - "instance": "falcon", - "hooks": [ - { - "id": "mattermost-notifications", - "conditions": ["*"], - "actionShoutrrr": { - "shoutrrrUrl": "mattermost://mattermost.pivoine.art/nxsqk4x86jr9bgniheaksem8qy", - "template": "Backrest notification:\n{{if .Task.Op.OperationBackup}}Backup {{.Plan.Id}} - {{.Status}}{{end}}{{if .Task.Op.OperationPrune}}Prune {{.Repo.Id}} - {{.Status}}{{end}}{{if .Task.Op.OperationCheck}}Check {{.Repo.Id}} - {{.Status}}{{end}}\n{{if .Error}}Error: {{.Error}}{{end}}" - } - } - ], - "repos": [ - { - "id": "hidrive-backup", - "uri": "/repos", - "password": "falcon-backup-2025", - "autoUnlock": true, - "autoInitialize": true, - "prunePolicy": { - "schedule": { - "cron": "0 2 * * 0" - } - }, - "checkPolicy": { - "schedule": { - "cron": "0 3 * * 0" - } - } - } - ], - "plans": [ - { - "id": "postgres-backup", - "repo": "hidrive-backup", - "paths": ["/volumes/core_postgres_data"], - "schedule": { - "cron": "0 2 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 6, - "yearly": 2 - } - } - }, - { - "id": "redis-backup", - "repo": "hidrive-backup", - "paths": ["/volumes/core_redis_data"], - "schedule": { - "cron": "0 3 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 3 - } - } - }, - { - "id": "directus-uploads-backup", - "repo": "hidrive-backup", - "paths": ["/volumes/directus_uploads"], - "schedule": { - "cron": "0 4 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 6, - "yearly": 2 - } - } - }, - { - "id": "directus-bundle-backup", - "repo": "hidrive-backup", - "paths": ["/volumes/directus_bundle"], - "schedule": { - "cron": "0 4 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 3 - } - } - }, - { - "id": "mattermost-backup", - "repo": "hidrive-backup", - "paths": [ - "/volumes/mattermost_config", - "/volumes/mattermost_data", - "/volumes/mattermost_plugins" - ], - "schedule": { - "cron": "0 5 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 6, - "yearly": 2 - } - } - }, - { - "id": "tandoor-backup", - "repo": "hidrive-backup", - "paths": [ - "/volumes/tandoor_staticfiles", - "/volumes/tandoor_mediafiles" - ], - "schedule": { - "cron": "0 5 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 6 - } - } - }, - { - "id": "n8n-backup", - "repo": "hidrive-backup", - "paths": ["/volumes/n8n_data"], - "schedule": { - "cron": "0 6 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 6 - } - } - }, - { - "id": "filestash-backup", - "repo": "hidrive-backup", - "paths": ["/volumes/filestash_data"], - "schedule": { - "cron": "0 7 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 3 - } - } - }, - { - "id": "linkwarden-backup", - "repo": "hidrive-backup", - "paths": [ - "/volumes/linkwarden_data", - "/volumes/linkwarden_meili_data" - ], - "schedule": { - "cron": "0 7 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 6 - } - } - }, - { - "id": "letsencrypt-backup", - "repo": "hidrive-backup", - "paths": ["/volumes/letsencrypt_data"], - "schedule": { - "cron": "0 8 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 12, - "yearly": 3 - } - } - }, - { - "id": "vaultwarden-backup", - "repo": "hidrive-backup", - "paths": ["/volumes/vaultwarden_data"], - "schedule": { - "cron": "0 8 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 12, - "yearly": 3 - } - } - }, - { - "id": "joplin-backup", - "repo": "hidrive-backup", - "paths": ["/volumes/joplin_data"], - "schedule": { - "cron": "0 2 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 6, - "yearly": 2 - } - } - }, - { - "id": "jellyfin-backup", - "repo": "hidrive-backup", - "paths": ["/volumes/jelly_config"], - "schedule": { - "cron": "0 9 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 6, - "yearly": 2 - } - } - }, - { - "id": "netdata-backup", - "repo": "hidrive-backup", - "paths": ["/volumes/netdata_config"], - "schedule": { - "cron": "0 10 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 3 - } - } - }, - { - "id": "ai-backup", - "repo": "hidrive-backup", - "paths": [ - "/volumes/ai_postgres_data", - "/volumes/ai_webui_data", - "/volumes/ai_crawl4ai_data" - ], - "schedule": { - "cron": "0 3 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 6, - "yearly": 2 - } - } - }, - { - "id": "asciinema-backup", - "repo": "hidrive-backup", - "paths": ["/volumes/asciinema_data"], - "schedule": { - "cron": "0 11 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 6, - "yearly": 2 - } - } - }, - { - "id": "gitea-backup", - "repo": "hidrive-backup", - "paths": [ - "/volumes/dev_gitea_data", - "/volumes/dev_gitea_config", - "/volumes/dev_gitea_runner_data" - ], - "schedule": { - "cron": "0 11 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 6, - "yearly": 2 - } - } - }, - { - "id": "coolify-backup", - "repo": "hidrive-backup", - "paths": [ - "/volumes/dev_coolify_data" - ], - "schedule": { - "cron": "0 0 * * *" - }, - "retention": { - "policyTimeBucketed": { - "daily": 7, - "weekly": 4, - "monthly": 6, - "yearly": 2 - } - } - } - ] -}