132 lines
3.9 KiB
YAML
132 lines
3.9 KiB
YAML
version: "3.8"
|
|
|
|
|
|
configs:
|
|
wg0_conf:
|
|
file: ./aniworld/wg0.conf
|
|
|
|
services:
|
|
wireguard:
|
|
image: linuxserver/wireguard
|
|
cap_add:
|
|
- NET_ADMIN # Required for networking changes
|
|
- SYS_MODULE # Optional for WireGuard modules
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/Berlin
|
|
restart: unless-stopped
|
|
sysctls:
|
|
- net.ipv4.conf.all.src_valid_mark=1
|
|
configs:
|
|
- source: wg0_conf
|
|
target: /config/wg0.conf
|
|
networks:
|
|
- proxy
|
|
labels:
|
|
traefik.enable: true
|
|
traefik.http.routers.aniworld.service: aniworld
|
|
traefik.http.routers.aniworld.rule: Host(`aniworld.arpa.urmel.de`)
|
|
traefik.http.routers.aniworld.tls: "true"
|
|
traefik.http.routers.aniworld.tls.certresolver: hetzner
|
|
traefik.http.services.aniworld.loadbalancer.server.port: 3000
|
|
traefik.http.routers.aniworld.middlewares: traefik-auth@file
|
|
|
|
|
|
aniworld:
|
|
build:
|
|
context: ./aniworld
|
|
dockerfile: Dockerfile
|
|
target: base
|
|
image: katzenkralle/aniworld_served:latest
|
|
user: "0:0"
|
|
network_mode: "service:wireguard"
|
|
restart: unless-stopped
|
|
volumes:
|
|
- data_aniworld:/var/aniworld/downloads
|
|
|
|
bittorrent:
|
|
image: linuxserver/qbittorrent:5.1.4
|
|
networks:
|
|
- proxy
|
|
volumes:
|
|
- config_qbittorrent:/config
|
|
- data_qbittorrent:/downloads
|
|
ports:
|
|
- 6881:6881
|
|
- 6881:6881/udp
|
|
environment:
|
|
- PUID=0
|
|
- PGID=0
|
|
- TZ=Europe/Berlin
|
|
labels:
|
|
traefik.enable: true
|
|
traefik.http.routers.qb.rule: "Host(`qbittorrent.arpa.urmel.de`)"
|
|
traefik.http.routers.qb.tls: "true"
|
|
traefik.http.routers.qb.tls.certresolver: hetzner
|
|
traefik.http.services.qb.loadbalancer.server.port: "8080"
|
|
|
|
|
|
traefik.http.middlewares.qb-headers.headers.customRequestHeaders.X-Frame-Options: SAMEORIGIN
|
|
traefik.http.middlewares.qb-headers.headers.customRequestHeaders.Referer: ""
|
|
traefik.http.middlewares.qb-headers.headers.customRequestHeaders.Origin: ""
|
|
|
|
traefik.http.routers.qb.middlewares: traefik-auth@file,qb-headers
|
|
traefik.http.services.qb.loadbalancer.passhostheader: "false"
|
|
|
|
|
|
i2psnark:
|
|
image: ypopovych/i2psnark:latest
|
|
volumes:
|
|
- config_i2psnark:/snark/config
|
|
- data_i2psnark:/snark/downloads
|
|
networks:
|
|
- proxy
|
|
environment:
|
|
HOSTNAMES: "i2psnark.arpa.urmel.de"
|
|
I2CP_HOST: "i2pendpoint.arpa"
|
|
restart: "on-failure"
|
|
|
|
labels:
|
|
traefik.enable: true
|
|
traefik.http.routers.i2psnark.rule: "Host(`i2psnark.arpa.urmel.de`) && (PathPrefix(`/i2psnark/`) || Path(`/`))"
|
|
traefik.http.routers.i2psnark.tls: "true"
|
|
traefik.http.routers.i2psnark.tls.certresolver: hetzner
|
|
|
|
traefik.http.routers.i2psnark.service: i2psnark
|
|
traefik.http.services.i2psnark.loadbalancer.server.port: "8002"
|
|
|
|
traefik.http.middlewares.i2psnark-redirect.redirectregex.regex: "^/$"
|
|
traefik.http.middlewares.i2psnark-redirect.redirectregex.replacement: "/i2psnark/"
|
|
traefik.http.middlewares.i2psnark-redirect.redirectregex.permanent: "true"
|
|
|
|
traefik.http.middlewares.i2psnark-headers.headers.customRequestHeaders.Host: i2psnark.arpa.urmel.de
|
|
traefik.http.middlewares.i2psnark-headers.headers.customRequestHeaders.X-Forwarded-Proto: https
|
|
traefik.http.routers.i2psnark.middlewares: i2psnark-redirect,i2psnark-headers,traefik-auth@file
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
name: traefik_exposed
|
|
|
|
volumes:
|
|
data_i2psnark:
|
|
driver_opts:
|
|
type: nfs4
|
|
o: addr=217.100.0.2,rw,noatime,tcp
|
|
device: ":/mnt/Main/servicesData/i2psnark"
|
|
config_i2psnark:
|
|
|
|
data_aniworld:
|
|
driver_opts:
|
|
type: nfs4
|
|
o: addr=217.100.0.2,rw,noatime,tcp
|
|
device: ":/mnt/Main/servicesData/aniworld"
|
|
|
|
config_qbittorrent:
|
|
data_qbittorrent:
|
|
driver_opts:
|
|
type: nfs4
|
|
o: addr=217.100.0.2,rw,noatime,tcp
|
|
device: ":/mnt/Main/servicesData/qbittorrent"
|