chore: remove sablier, scrapy, and vpn stacks

Remove three unused stacks and related configuration:
- Removed sablier, scrapy, vpn from compose includes
- Deleted sablier/compose.yaml, scrapy/compose.yaml, vpn/compose.yaml
- Removed scrapy-backup from restic config
- Removed scrapy volume mounts from restic compose
- Removed SABLIER, SCRAPY, VPN env vars from arty.yml
- Cleaned up sexy/uploads directory

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-15 16:22:45 +01:00
parent 37c45065e2
commit e7390a5ab1
52 changed files with 0 additions and 232 deletions

View File

@@ -19,11 +19,6 @@ envs:
CORE_REDIS_PORT: 6379
CORE_REDIS_IMAGE: redis:7-alpine
CORE_POSTGRES_IMAGE: postgres:16-alpine
# VPN
VPN_TRAEFIK_ENABLED: true
VPN_COMPOSE_PROJECT_NAME: vpn
VPN_DOCKER_IMAGE: ghcr.io/wg-easy/wg-easy:latest
VPN_TRAEFIK_HOST: vpn.pivoine.art
# Track
TRACK_TRAEFIK_ENABLED: true
TRACK_COMPOSE_PROJECT_NAME: track
@@ -64,17 +59,6 @@ envs:
TANDOOR_GUNICORN_MEDIA: 0
TANDOOR_COMMENT_PREF_DEFAULT: 1
TANDOOR_SHOPPING_MIN_AUTOSYNC_INTERVAL: 5
# Scrapy
SCRAPY_TRAEFIK_ENABLED: true
SCRAPY_COMPOSE_PROJECT_NAME: scrapy
SCRAPY_SCRAPYD_IMAGE: vimagick/scrapyd
SCRAPY_IMAGE: vimagick/scrapyd
SCRAPY_SCRAPYRT_IMAGE: vimagick/scrapyd
SCRAPY_UI_IMAGE: ghcr.io/valknarness/scrapy-ui:main
SCRAPY_TRAEFIK_HOST: scrapy.pivoine.art
SCRAPY_SCRAPYD_PORT: 6800
SCRAPY_SCRAPYRT_PORT: 9080
SCRAPY_UI_SCRAPYD_URL: https://scrapy.pivoine.art/scrapyd
# n8n
N8N_TRAEFIK_ENABLED: true
N8N_COMPOSE_PROJECT_NAME: n8n
@@ -158,9 +142,6 @@ envs:
PROXY_COMPOSE_PROJECT_NAME: proxy
PROXY_DOCKER_IMAGE: traefik:latest
PROXY_TRAEFIK_HOST: proxy.pivoine.art
# Sablier
SABLIER_COMPOSE_PROJECT_NAME: sablier
SABLIER_VERSION: latest
# AI Stack
AI_TRAEFIK_ENABLED: true
AI_COMPOSE_PROJECT_NAME: ai

View File

@@ -4,7 +4,6 @@ include:
- sexy/compose.yaml
- mattermost/compose.yaml
- tandoor/compose.yaml
- scrapy/compose.yaml
- n8n/compose.yaml
- links/compose.yaml
- vault/compose.yaml
@@ -15,7 +14,6 @@ include:
- restic/compose.yaml
- netdata/compose.yaml
- umami/compose.yaml
- sablier/compose.yaml
- proxy/compose.yaml
- watch/compose.yaml
- media/compose.yaml

View File

@@ -24,8 +24,6 @@ services:
- backup_mattermost_plugins:/volumes/mattermost_plugins:ro
- backup_tandoor_staticfiles:/volumes/tandoor_staticfiles:ro
- backup_tandoor_mediafiles:/volumes/tandoor_mediafiles:ro
- backup_scrapyd_data:/volumes/scrapyd_data:ro
- backup_scrapy_code:/volumes/scrapy_code:ro
- backup_n8n_data:/volumes/n8n_data:ro
- backup_filestash_data:/volumes/filestash_data:ro
- backup_linkwarden_data:/volumes/linkwarden_data:ro
@@ -108,12 +106,6 @@ volumes:
backup_tandoor_mediafiles:
name: tandoor_mediafiles
external: true
backup_scrapyd_data:
name: scrapy_scrapyd_data
external: true
backup_scrapy_code:
name: scrapy_scrapy_code
external: true
backup_n8n_data:
name: n8n_n8n_data
external: true

View File

@@ -131,24 +131,6 @@
}
}
},
{
"id": "scrapy-backup",
"repo": "hidrive-backup",
"paths": [
"/volumes/scrapyd_data",
"/volumes/scrapy_code"
],
"schedule": {
"cron": "0 6 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 3
}
}
},
{
"id": "n8n-backup",
"repo": "hidrive-backup",

View File

@@ -1,21 +0,0 @@
services:
sablier:
image: acouvreur/sablier:${SABLIER_VERSION:-latest}
container_name: ${SABLIER_COMPOSE_PROJECT_NAME}_app
restart: unless-stopped
command:
- start
- --provider.name=docker
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- compose_network
environment:
TZ: ${TIMEZONE:-Europe/Berlin}
labels:
- 'traefik.enable=false'
networks:
compose_network:
name: ${NETWORK_NAME}
external: true

View File

@@ -1,97 +0,0 @@
services:
scrapyd:
image: ${SCRAPY_SCRAPYD_IMAGE:-vimagick/scrapyd}
container_name: ${SCRAPY_COMPOSE_PROJECT_NAME}_scrapyd
restart: unless-stopped
volumes:
- scrapyd_data:/var/lib/scrapyd
- /usr/local/lib/python3.9/dist-packages
environment:
TZ: ${TIMEZONE:-Europe/Berlin}
networks:
- compose_network
labels:
- 'traefik.enable=${SCRAPY_TRAEFIK_ENABLED}'
- 'traefik.http.middlewares.${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-redirect-web-secure.redirectscheme.scheme=https'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-web.middlewares=${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-redirect-web-secure'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-web.rule=Host(`${SCRAPY_TRAEFIK_HOST}`) && PathPrefix(`/scrapyd`)'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-web.entrypoints=web'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-web.priority=100'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-web-secure.rule=Host(`${SCRAPY_TRAEFIK_HOST}`) && PathPrefix(`/scrapyd`)'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-web-secure.tls.certresolver=resolver'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-web-secure.entrypoints=web-secure'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-web-secure.priority=100'
- 'traefik.http.middlewares.${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-stripprefix.stripprefix.prefixes=/scrapyd'
- 'traefik.http.middlewares.${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-auth.basicauth.users=${AUTH_USERS}'
- 'traefik.http.middlewares.${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-web-secure-compress.compress=true'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-web-secure.middlewares=${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-auth,${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-stripprefix,${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-web-secure-compress'
- 'traefik.http.services.${SCRAPY_COMPOSE_PROJECT_NAME}-scrapyd-web-secure.loadbalancer.server.port=6800'
- 'traefik.docker.network=${NETWORK_NAME}'
- 'com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}'
scrapy:
image: ${SCRAPY_IMAGE:-vimagick/scrapyd}
container_name: ${SCRAPY_COMPOSE_PROJECT_NAME}_scrapy
command: bash
volumes:
- scrapy_code:/code
working_dir: /code
restart: unless-stopped
environment:
TZ: ${TIMEZONE:-Europe/Berlin}
networks:
- compose_network
scrapyrt:
image: ${SCRAPY_SCRAPYRT_IMAGE:-vimagick/scrapyd}
container_name: ${SCRAPY_COMPOSE_PROJECT_NAME}_scrapyrt
command: scrapyrt -i 0.0.0.0 -p 9080
restart: unless-stopped
ports:
- "${SCRAPY_SCRAPYRT_PORT:-9080}:9080"
volumes:
- scrapy_code:/code
working_dir: /code
environment:
TZ: ${TIMEZONE:-Europe/Berlin}
networks:
- compose_network
scrapy_ui:
image: ${SCRAPY_UI_IMAGE:-ghcr.io/valknarness/scrapy-ui:main}
container_name: ${SCRAPY_COMPOSE_PROJECT_NAME}_ui
restart: unless-stopped
environment:
TZ: ${TIMEZONE:-Europe/Berlin}
NODE_ENV: production
SCRAPYD_URL: ${SCRAPY_UI_SCRAPYD_URL:-https://scrapy.pivoine.art/scrapyd}
SCRAPYD_USERNAME: ${SCRAPY_UI_SCRAPYD_USERNAME}
SCRAPYD_PASSWORD: ${SCRAPY_UI_SCRAPYD_PASSWORD}
networks:
- compose_network
labels:
- 'traefik.enable=${SCRAPY_TRAEFIK_ENABLED}'
- 'traefik.http.middlewares.${SCRAPY_COMPOSE_PROJECT_NAME}-ui-redirect-web-secure.redirectscheme.scheme=https'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-ui-web.middlewares=${SCRAPY_COMPOSE_PROJECT_NAME}-ui-redirect-web-secure'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-ui-web.rule=Host(`${SCRAPY_TRAEFIK_HOST}`)'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-ui-web.entrypoints=web'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-ui-web-secure.rule=Host(`${SCRAPY_TRAEFIK_HOST}`)'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-ui-web-secure.tls.certresolver=resolver'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-ui-web-secure.entrypoints=web-secure'
- 'traefik.http.middlewares.${SCRAPY_COMPOSE_PROJECT_NAME}-ui-auth.basicauth.users=${AUTH_USERS}'
- 'traefik.http.middlewares.${SCRAPY_COMPOSE_PROJECT_NAME}-ui-web-secure-compress.compress=true'
- 'traefik.http.routers.${SCRAPY_COMPOSE_PROJECT_NAME}-ui-web-secure.middlewares=${SCRAPY_COMPOSE_PROJECT_NAME}-ui-auth,${SCRAPY_COMPOSE_PROJECT_NAME}-ui-web-secure-compress'
- 'traefik.http.services.${SCRAPY_COMPOSE_PROJECT_NAME}-ui-web-secure.loadbalancer.server.port=3000'
- 'traefik.docker.network=${NETWORK_NAME}'
- 'com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}'
volumes:
scrapyd_data:
name: ${SCRAPY_COMPOSE_PROJECT_NAME}_scrapyd_data
scrapy_code:
name: ${SCRAPY_COMPOSE_PROJECT_NAME}_scrapy_code
networks:
compose_network:
name: ${NETWORK_NAME}
external: true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 860 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 716 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

View File

@@ -1,67 +0,0 @@
services:
vpn:
image: ${VPN_DOCKER_IMAGE}
container_name: ${VPN_COMPOSE_PROJECT_NAME}_app
restart: unless-stopped
volumes:
- etc_wireguard:/etc/wireguard
- /lib/modules:/lib/modules:ro
ports:
- "${VPN_WG_PORT:-51820}:51820/udp"
- "${VPN_APP_PORT:-51821}:51821/tcp"
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
# - net.ipv6.conf.all.disable_ipv6=0
# - net.ipv6.conf.all.forwarding=1
# - net.ipv6.conf.default.forwarding=1
environment:
TZ: ${TIMEZONE:-Europe/Amsterdam}
WG_HOST: ${VPN_WG_HOST}
WG_PORT: ${VPN_WG_PORT}
PORT: ${VPN_APP_PORT}
WG_DEVICE: eth0
PASSWORD: ${VPN_PASSWORD}
LANG: ${VPN_LANG:-en}
UI_TRAFFIC_STATS: ${VPN_UI_TRAFFIC_STATS:-true}
UI_CHART_TYPE: ${VPN_UI_CHART_TYPE:-0}
WG_ALLOWED_IPS: ${VPN_WG_ALLOWED_IPS:-0.0.0.0/0, ::/0}
WG_DEFAULT_ADDRESS: ${VPN_WG_DEFAULT_ADDRESS:-10.8.0.x}
WG_DEFAULT_DNS: ${VPN_WG_DEFAULT_DNS:-1.1.1.1}
WG_PERSISTENT_KEEPALIVE: ${VPN_WG_PERSISTENT_KEEPALIVE:-25}
WG_MTU: ${VPN_WG_MTU:-1420}
networks:
wg:
ipv4_address: 10.42.42.42
ipv6_address: fdcc:ad94:bacf:61a3::2a
compose_network:
labels:
- 'traefik.enable=${VPN_TRAEFIK_ENABLED:-true}'
- 'traefik.http.middlewares.${VPN_COMPOSE_PROJECT_NAME}-redirect-web-secure.redirectscheme.scheme=https'
- 'traefik.http.routers.${VPN_COMPOSE_PROJECT_NAME}-web.middlewares=${VPN_COMPOSE_PROJECT_NAME}-redirect-web-secure'
- 'traefik.http.routers.${VPN_COMPOSE_PROJECT_NAME}-web.rule=Host(`${VPN_TRAEFIK_HOST}`)'
- 'traefik.http.routers.${VPN_COMPOSE_PROJECT_NAME}-web.entrypoints=web'
- 'traefik.http.routers.${VPN_COMPOSE_PROJECT_NAME}-web-secure.rule=Host(`${VPN_TRAEFIK_HOST}`)'
- 'traefik.http.routers.${VPN_COMPOSE_PROJECT_NAME}-web-secure.tls.certresolver=resolver'
- 'traefik.http.routers.${VPN_COMPOSE_PROJECT_NAME}-web-secure.entrypoints=web-secure'
- 'traefik.http.middlewares.${VPN_COMPOSE_PROJECT_NAME}-web-secure-compress.compress=true'
- 'traefik.http.routers.${VPN_COMPOSE_PROJECT_NAME}-web-secure.middlewares=${VPN_COMPOSE_PROJECT_NAME}-web-secure-compress'
- 'traefik.http.services.${VPN_COMPOSE_PROJECT_NAME}-web-secure.loadbalancer.server.port=51821'
- 'traefik.docker.network=${NETWORK_NAME}'
volumes:
etc_wireguard:
name: ${VPN_COMPOSE_PROJECT_NAME}_etc_wireguard
networks:
wg:
driver: bridge
enable_ipv6: true
ipam:
driver: default
config:
- subnet: 10.42.42.0/24
- subnet: fdcc:ad94:bacf:61a3::/64