Compare commits
2 Commits
master
...
ccdfa80fe6
| Author | SHA1 | Date | |
|---|---|---|---|
| ccdfa80fe6 | |||
| 99b343e64d |
@@ -6,8 +6,10 @@ services:
|
|||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
- TZ=Etc/UTC
|
- TZ=Etc/UTC
|
||||||
|
- APPRISE_ATTACH_SIZE=0 #optional
|
||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/apprise-api/config:/config
|
- /home/fejy/docker/apprise-api/config:/config
|
||||||
|
- /home/fejy/docker/apprise-api/attachments:/attachments #optional
|
||||||
ports:
|
ports:
|
||||||
- 8006:8000
|
- 8006:8000
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@@ -17,8 +19,8 @@ services:
|
|||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.apprise.rule=Host(`apprise.nearfuture`)"
|
- "traefik.http.routers.apprise.rule=Host(`apprise.nearfuture`)"
|
||||||
- "traefik.http.routers.apprise.entrypoints=web"
|
- "traefik.http.routers.apprise.entrypoints=web"
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
external: true
|
external: true
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ services:
|
|||||||
- TZ=Etc/UTC
|
- TZ=Etc/UTC
|
||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/prowlarr/data:/config
|
- /home/fejy/docker/prowlarr/data:/config
|
||||||
|
ports:
|
||||||
|
- 9696:9696
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
@@ -15,7 +17,6 @@ services:
|
|||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.prowlarr.rule=Host(`prowlarr.nearfuture`)"
|
- "traefik.http.routers.prowlarr.rule=Host(`prowlarr.nearfuture`)"
|
||||||
- "traefik.http.routers.prowlarr.entrypoints=web"
|
- "traefik.http.routers.prowlarr.entrypoints=web"
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
radarr:
|
radarr:
|
||||||
image: lscr.io/linuxserver/radarr:latest
|
image: lscr.io/linuxserver/radarr:latest
|
||||||
@@ -24,12 +25,12 @@ services:
|
|||||||
- PUID=1029
|
- PUID=1029
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
- TZ=Etc/UTC
|
- TZ=Etc/UTC
|
||||||
ports:
|
|
||||||
- "7878:7878"
|
|
||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/radarr:/config
|
- /home/fejy/docker/radarr:/config
|
||||||
- /mnt/LUXURIA/Share:/Share
|
- /mnt/LUXURIA/Share:/Share
|
||||||
- /mnt/AVARITIA/Share:/Avaritia/Share
|
- /mnt/AVARITIA/Share:/Avaritia/Share
|
||||||
|
ports:
|
||||||
|
- 7878:7878
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
@@ -37,7 +38,6 @@ services:
|
|||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.radarr.rule=Host(`radarr.nearfuture`)"
|
- "traefik.http.routers.radarr.rule=Host(`radarr.nearfuture`)"
|
||||||
- "traefik.http.routers.radarr.entrypoints=web"
|
- "traefik.http.routers.radarr.entrypoints=web"
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
sonarr:
|
sonarr:
|
||||||
image: lscr.io/linuxserver/sonarr:latest
|
image: lscr.io/linuxserver/sonarr:latest
|
||||||
@@ -46,12 +46,12 @@ services:
|
|||||||
- PUID=1029
|
- PUID=1029
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
- TZ=Etc/UTC
|
- TZ=Etc/UTC
|
||||||
ports:
|
|
||||||
- "8989:8989"
|
|
||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/sonarr:/config
|
- /home/fejy/docker/sonarr:/config
|
||||||
- /mnt/LUXURIA/Share:/Share
|
- /mnt/LUXURIA/Share:/Share
|
||||||
- /mnt/AVARITIA/Share:/Avaritia/Share
|
- /mnt/AVARITIA/Share:/Avaritia/Share
|
||||||
|
ports:
|
||||||
|
- 8989:8989
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
@@ -59,7 +59,28 @@ services:
|
|||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.sonarr.rule=Host(`sonarr.nearfuture`)"
|
- "traefik.http.routers.sonarr.rule=Host(`sonarr.nearfuture`)"
|
||||||
- "traefik.http.routers.sonarr.entrypoints=web"
|
- "traefik.http.routers.sonarr.entrypoints=web"
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
overseerr:
|
||||||
|
image: lscr.io/linuxserver/overseerr:latest
|
||||||
|
container_name: overseerr
|
||||||
|
environment:
|
||||||
|
- PUID=1029
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Etc/UTC
|
||||||
|
volumes:
|
||||||
|
- /home/fejy/docker/overseerr:/config
|
||||||
|
ports:
|
||||||
|
- 5055:5055
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.overseerr.rule=Host(`overseerr.nearfuture`)"
|
||||||
|
- "traefik.http.routers.overseerr.entrypoints=web"
|
||||||
|
- "traefik.http.routers.overseerr-ssl.rule=Host(`overseerr.nearfuture`)"
|
||||||
|
- "traefik.http.routers.overseerr-ssl.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.overseerr-ssl.tls=true"
|
||||||
|
|
||||||
lidarr:
|
lidarr:
|
||||||
image: lscr.io/linuxserver/lidarr:latest
|
image: lscr.io/linuxserver/lidarr:latest
|
||||||
@@ -72,6 +93,8 @@ services:
|
|||||||
- /home/fejy/docker/lidarr:/config
|
- /home/fejy/docker/lidarr:/config
|
||||||
- /mnt/LUXURIA/Share:/Share
|
- /mnt/LUXURIA/Share:/Share
|
||||||
- /mnt/AVARITIA/Share:/Avaritia/Share
|
- /mnt/AVARITIA/Share:/Avaritia/Share
|
||||||
|
ports:
|
||||||
|
- 8686:8686
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
@@ -79,27 +102,8 @@ services:
|
|||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.lidarr.rule=Host(`lidarr.nearfuture`)"
|
- "traefik.http.routers.lidarr.rule=Host(`lidarr.nearfuture`)"
|
||||||
- "traefik.http.routers.lidarr.entrypoints=web"
|
- "traefik.http.routers.lidarr.entrypoints=web"
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
seerr:
|
|
||||||
image: ghcr.io/seerr-team/seerr:latest
|
|
||||||
container_name: seerr
|
|
||||||
environment:
|
|
||||||
- TZ=Etc/UTC
|
|
||||||
volumes:
|
|
||||||
- /home/fejy/docker/overseerr:/app/config
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- proxy
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.overseerr.rule=Host(`overseerr.nearfuture`)"
|
|
||||||
- "traefik.http.routers.overseerr.entrypoints=web"
|
|
||||||
- "traefik.http.routers.overseerr-ssl.rule=Host(`overseerr.nearfuture`)"
|
|
||||||
- "traefik.http.routers.overseerr-ssl.entrypoints=websecure"
|
|
||||||
- "traefik.http.routers.overseerr-ssl.tls=true"
|
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
external: true
|
external: true
|
||||||
|
|
||||||
|
|||||||
@@ -1,89 +0,0 @@
|
|||||||
services:
|
|
||||||
postgresql:
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
environment:
|
|
||||||
POSTGRES_DB: ${PG_DB:-authentik}
|
|
||||||
POSTGRES_PASSWORD: ${PG_PASS:?database password required}
|
|
||||||
POSTGRES_USER: ${PG_USER:-authentik}
|
|
||||||
healthcheck:
|
|
||||||
interval: 30s
|
|
||||||
retries: 5
|
|
||||||
start_period: 20s
|
|
||||||
test:
|
|
||||||
- CMD-SHELL
|
|
||||||
- pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}
|
|
||||||
timeout: 5s
|
|
||||||
image: docker.io/library/postgres:16-alpine
|
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- /home/fejy/docker/authentik/database:/var/lib/postgresql/data
|
|
||||||
networks:
|
|
||||||
- authentik
|
|
||||||
|
|
||||||
authentik-server:
|
|
||||||
command: server
|
|
||||||
depends_on:
|
|
||||||
postgresql:
|
|
||||||
condition: service_healthy
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
environment:
|
|
||||||
AUTHENTIK_POSTGRESQL__HOST: postgresql
|
|
||||||
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
|
|
||||||
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
|
|
||||||
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
|
|
||||||
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
|
|
||||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2026.2.2-rc2}
|
|
||||||
container_name: authentik-server
|
|
||||||
restart: unless-stopped
|
|
||||||
shm_size: 512mb
|
|
||||||
volumes:
|
|
||||||
- /home/fejy/docker/authentik/data:/data
|
|
||||||
- /home/fejy/docker/authentik/custom-templates:/templates
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.docker.network=proxy"
|
|
||||||
- "traefik.http.routers.https-auth.entryPoints=websecure"
|
|
||||||
- "traefik.http.routers.https-auth.rule=Host(`auth.nearfuture.industries`) || HostRegexp(`{subdomain:[a-z0-9-]+}.nearfuture.industries`) && PathPrefix(`/outpost.goauthentik.io/`)"
|
|
||||||
- "traefik.http.routers.https-auth.tls=true"
|
|
||||||
- "traefik.http.routers.https-auth.tls.certresolver=myresolver"
|
|
||||||
- "traefik.http.routers.https-auth.priority=50"
|
|
||||||
- "traefik.http.routers.https-auth.service=https-auth"
|
|
||||||
- "traefik.http.services.https-auth.loadbalancer.server.port=9000"
|
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
networks:
|
|
||||||
- proxy
|
|
||||||
- authentik
|
|
||||||
|
|
||||||
worker:
|
|
||||||
command: worker
|
|
||||||
depends_on:
|
|
||||||
postgresql:
|
|
||||||
condition: service_healthy
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
environment:
|
|
||||||
AUTHENTIK_POSTGRESQL__HOST: postgresql
|
|
||||||
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
|
|
||||||
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
|
|
||||||
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
|
|
||||||
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
|
|
||||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2026.2.2-rc2}
|
|
||||||
restart: unless-stopped
|
|
||||||
shm_size: 512mb
|
|
||||||
user: root
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
- /home/fejy/docker/authentik/data:/data
|
|
||||||
- /home/fejy/docker/authentik/certs:/certs
|
|
||||||
- /home/fejy/docker/authentik/custom-templates:/templates
|
|
||||||
labels:
|
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
networks:
|
|
||||||
- authentik
|
|
||||||
|
|
||||||
networks:
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
||||||
authentik:
|
|
||||||
@@ -3,6 +3,8 @@ services:
|
|||||||
image: ghcr.io/cross-seed/cross-seed:6
|
image: ghcr.io/cross-seed/cross-seed:6
|
||||||
container_name: cross-seed
|
container_name: cross-seed
|
||||||
user: 1029:1000 # this must match your torrent client (cross-seed does not support using PGID and PUID)
|
user: 1029:1000 # this must match your torrent client (cross-seed does not support using PGID and PUID)
|
||||||
|
ports:
|
||||||
|
- "2468:2468"
|
||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/cross-seed:/config
|
- /home/fejy/docker/cross-seed:/config
|
||||||
- /mnt/LUXURIA/Share:/Share
|
- /mnt/LUXURIA/Share:/Share
|
||||||
@@ -14,12 +16,12 @@ services:
|
|||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.cross-seed.rule=Host(`cross-seed.nearfuture`)"
|
- "traefik.http.routers.cross-seed.rule=Host(`cross-seed.nearfuture`)"
|
||||||
- "traefik.http.routers.cross-seed.entrypoints=web"
|
- "traefik.http.routers.cross-seed.entrypoints=web"
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
cross-seed2:
|
cross-seed2:
|
||||||
image: ghcr.io/cross-seed/cross-seed:6
|
image: ghcr.io/cross-seed/cross-seed:6
|
||||||
container_name: cross-seed2
|
container_name: cross-seed2
|
||||||
user: 1029:1000 # this must match your torrent client (cross-seed does not support using PGID and PUID)
|
user: 1029:1000 # this must match your torrent client (cross-seed does not support using PGID and PUID)
|
||||||
|
ports:
|
||||||
|
- "2469:2468"
|
||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/cross-seed2:/config
|
- /home/fejy/docker/cross-seed2:/config
|
||||||
- /mnt/LUXURIA/Share:/Share
|
- /mnt/LUXURIA/Share:/Share
|
||||||
@@ -31,12 +33,12 @@ services:
|
|||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.cross-seed2.rule=Host(`cross-seed2.nearfuture`)"
|
- "traefik.http.routers.cross-seed2.rule=Host(`cross-seed2.nearfuture`)"
|
||||||
- "traefik.http.routers.cross-seed2.entrypoints=web"
|
- "traefik.http.routers.cross-seed2.entrypoints=web"
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
cross-seed3:
|
cross-seed3:
|
||||||
image: ghcr.io/cross-seed/cross-seed:6
|
image: ghcr.io/cross-seed/cross-seed:6
|
||||||
container_name: cross-seed3
|
container_name: cross-seed3
|
||||||
user: 1029:1000 # this must match your torrent client (cross-seed does not support using PGID and PUID)
|
user: 1029:1000 # this must match your torrent client (cross-seed does not support using PGID and PUID)
|
||||||
|
ports:
|
||||||
|
- "2470:2468"
|
||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/cross-seed3:/config
|
- /home/fejy/docker/cross-seed3:/config
|
||||||
- /mnt/AVARITIA/Share:/Avaritia/Share/
|
- /mnt/AVARITIA/Share:/Avaritia/Share/
|
||||||
@@ -48,12 +50,12 @@ services:
|
|||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.cross-seed3.rule=Host(`cross-seed3.nearfuture`)"
|
- "traefik.http.routers.cross-seed3.rule=Host(`cross-seed3.nearfuture`)"
|
||||||
- "traefik.http.routers.cross-seed3.entrypoints=web"
|
- "traefik.http.routers.cross-seed3.entrypoints=web"
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
cross-seed-priv:
|
cross-seed-priv:
|
||||||
image: ghcr.io/cross-seed/cross-seed:6
|
image: ghcr.io/cross-seed/cross-seed:6
|
||||||
container_name: cross-seed-priv
|
container_name: cross-seed-priv
|
||||||
user: 1029:1000 # this must match your torrent client (cross-seed does not support using PGID and PUID)
|
user: 1029:1000 # this must match your torrent client (cross-seed does not support using PGID and PUID)
|
||||||
|
ports:
|
||||||
|
- "2471:2468"
|
||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/cross-seed-priv:/config
|
- /home/fejy/docker/cross-seed-priv:/config
|
||||||
- /mnt/LUXURIA/Private:/mnt/LUXURIA/Private
|
- /mnt/LUXURIA/Private:/mnt/LUXURIA/Private
|
||||||
@@ -65,8 +67,9 @@ services:
|
|||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.cross-seed-priv.rule=Host(`cross-seed-priv.nearfuture`)"
|
- "traefik.http.routers.cross-seed-priv.rule=Host(`cross-seed-priv.nearfuture`)"
|
||||||
- "traefik.http.routers.cross-seed-priv.entrypoints=web"
|
- "traefik.http.routers.cross-seed-priv.entrypoints=web"
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
external: true
|
external: true
|
||||||
|
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
services:
|
|
||||||
dozzle:
|
|
||||||
image: amir20/dozzle:latest
|
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
- /home/fejy/docker/dozzle_data:/data
|
|
||||||
environment:
|
|
||||||
- DOZZLE_ENABLE_ACTIONS=true
|
|
||||||
- DOZZLE_AUTH_PROVIDER=forward-proxy
|
|
||||||
- DOZZLE_AUTH_HEADER_USER=X-Authentik-Email
|
|
||||||
- DOZZLE_AUTH_HEADER_EMAIL=X-Authentik-Name
|
|
||||||
- DOZZLE_AUTH_HEADER_NAME=X-Authentik-Username
|
|
||||||
networks:
|
|
||||||
- proxy
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.dozzle.rule=Host(`dozzle.nearfuture`)"
|
|
||||||
- "traefik.http.routers.dozzle.entrypoints=web"
|
|
||||||
- "traefik.http.routers.dozzle.middlewares=authentik@file"
|
|
||||||
|
|
||||||
networks:
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
services:
|
|
||||||
ersatztv:
|
|
||||||
image: ghcr.io/ersatztv/ersatztv
|
|
||||||
container_name: ersatztv
|
|
||||||
ports:
|
|
||||||
- "8409:8409"
|
|
||||||
environment:
|
|
||||||
- TZ=America/New_York
|
|
||||||
volumes:
|
|
||||||
- /home/fejy/docker/ersatztv/config:/config
|
|
||||||
# Required: media directories - Where your media files are stored. Use :ro at the end of the path to limit container to Read-Only
|
|
||||||
- /mnt/LUXURIA/Share/Videos:/mnt/LUXURIA/Share/Videos:ro
|
|
||||||
- /mnt/AVARITIA/Share/Videos:/mnt/AVARITIA/Share/Videos:ro
|
|
||||||
# tmpfs is optional but recommended: Limits writing to SSD/disk by using RAM for transcode files. Comment out to disable
|
|
||||||
tmpfs:
|
|
||||||
- /transcode
|
|
||||||
restart: unless-stopped
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.tv.entrypoints=web"
|
|
||||||
- "traefik.http.routers.tv.rule=Host(`tv.nearfuture`)"
|
|
||||||
networks:
|
|
||||||
- proxy
|
|
||||||
|
|
||||||
networks:
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
||||||
|
|
||||||
@@ -5,7 +5,9 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- PUID=1029
|
- PUID=1029
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
restart: unless-stopped
|
ports:
|
||||||
|
- "3030:80"
|
||||||
|
restart: on-failure
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
labels:
|
labels:
|
||||||
@@ -18,9 +20,8 @@ services:
|
|||||||
- "traefik.http.routers.ex-ssl-ext.rule=Host(`excalidraw.nearfuture.industries`)"
|
- "traefik.http.routers.ex-ssl-ext.rule=Host(`excalidraw.nearfuture.industries`)"
|
||||||
- "traefik.http.routers.ex-ssl-ext.entrypoints=websecure"
|
- "traefik.http.routers.ex-ssl-ext.entrypoints=websecure"
|
||||||
- "traefik.http.routers.ex-ssl-ext.tls=true"
|
- "traefik.http.routers.ex-ssl-ext.tls=true"
|
||||||
- "traefik.http.routers.ex-ssl-ext.tls.certresolver=myresolver"
|
|
||||||
- "traefik.http.routers.ex-ssl-ext.middlewares=authentik@file"
|
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
external: true
|
external: true
|
||||||
|
|||||||
16
firefox-vpn/compose.yml
Normal file
16
firefox-vpn/compose.yml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
services:
|
||||||
|
browser:
|
||||||
|
image: lscr.io/linuxserver/firefox:latest
|
||||||
|
container_name: firefox
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=America/New_York
|
||||||
|
- HTTP_PROXY=http://localhost:8888 # Set the HTTP proxy to Gluetun
|
||||||
|
- HTTPS_PROXY=http://localhost:8888 # Set the HTTPS proxy to Gluetun
|
||||||
|
network_mode: "container:gluetun"
|
||||||
|
shm_size: "1gb"
|
||||||
|
volumes:
|
||||||
|
- /home/fejy/docker/firefox/config:/config:rw
|
||||||
|
- /home/fejy/docker/firefox/downloads:/downloads:rw
|
||||||
|
restart: unless-stopped
|
||||||
@@ -4,13 +4,15 @@ services:
|
|||||||
container_name: homepage
|
container_name: homepage
|
||||||
env_file: ".env"
|
env_file: ".env"
|
||||||
environment:
|
environment:
|
||||||
PUID: 1029
|
PUID: 1029 # optional, your user id
|
||||||
PGID: 988
|
PGID: 994 # optional, your group id
|
||||||
HOMEPAGE_ALLOWED_HOSTS: home.nearfuture
|
HOMEPAGE_ALLOWED_HOSTS: home.nearfuture
|
||||||
|
ports:
|
||||||
|
- 3069:3000
|
||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/homepage/config:/app/config
|
- /home/fejy/docker/homepage/config:/app/config
|
||||||
- /home/fejy/docker/homepage/icons:/app/public/icons
|
- /home/fejy/docker/homepage/icons:/app/public/icons
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
- /var/run/docker.sock:/var/run/docker.sock:ro # optional, for docker integrations
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
@@ -18,7 +20,6 @@ services:
|
|||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.homepage.rule=Host(`home.nearfuture`)"
|
- "traefik.http.routers.homepage.rule=Host(`home.nearfuture`)"
|
||||||
- "traefik.http.routers.homepage.entrypoints=web"
|
- "traefik.http.routers.homepage.entrypoints=web"
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
matrix-registration-bot:
|
matrix-registration-bot:
|
||||||
image: moanos/matrix-registration-bot:latest
|
image: moanos/matrix-registration-bot:latest
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
environment:
|
||||||
LOGGING_LEVEL: DEBUG
|
LOGGING_LEVEL: DEBUG
|
||||||
BOT_SERVER: "https://nearfuture.industries"
|
BOT_SERVER: "https://nearfuture.industries"
|
||||||
@@ -12,11 +11,14 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/matrix-bots/matrix-registration-bot/:/data/
|
- /home/fejy/docker/matrix-bots/matrix-registration-bot/:/data/
|
||||||
|
|
||||||
|
|
||||||
maubot:
|
maubot:
|
||||||
image: dock.mau.dev/maubot/maubot
|
image: dock.mau.dev/maubot/maubot
|
||||||
container_name: maubot
|
container_name: maubot
|
||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/matrix-bots/maubot/:/data:z
|
- /home/fejy/docker/matrix-bots/maubot/:/data:z
|
||||||
|
ports:
|
||||||
|
- 29316:29316
|
||||||
environment:
|
environment:
|
||||||
R34_API_KEY: ${R34_API_KEY}
|
R34_API_KEY: ${R34_API_KEY}
|
||||||
R34_UID: ${R34_UID}
|
R34_UID: ${R34_UID}
|
||||||
|
|||||||
@@ -1,46 +0,0 @@
|
|||||||
services:
|
|
||||||
netbootxyz:
|
|
||||||
image: ghcr.io/netbootxyz/netbootxyz
|
|
||||||
container_name: netbootxyz
|
|
||||||
hostname: netbootxyz
|
|
||||||
environment:
|
|
||||||
- NGINX_PORT=80
|
|
||||||
- WEB_APP_PORT=3000
|
|
||||||
volumes:
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
- /home/fejy/docker/netbootxyz/config:/config
|
|
||||||
- /home/fejy/docker/netbootxyz/assets:/assets
|
|
||||||
ports:
|
|
||||||
- 69:69/udp
|
|
||||||
restart: unless-stopped
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:3000"]
|
|
||||||
interval: 2s
|
|
||||||
timeout: 2s
|
|
||||||
retries: 10
|
|
||||||
start_period: 3s
|
|
||||||
networks:
|
|
||||||
- proxy
|
|
||||||
- netbootxyz
|
|
||||||
labels:
|
|
||||||
# web configuration interface
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.netbootxyz.entrypoints=web"
|
|
||||||
- "traefik.http.routers.netbootxyz.rule=Host(`netbootxyz.nearfuture`)"
|
|
||||||
- "traefik.http.routers.netbootxyz.service=netbootxyz"
|
|
||||||
- "traefik.http.services.netbootxyz.loadbalancer.server.port=3000"
|
|
||||||
- "traefik.http.services.netbootxyz.loadbalancer.passhostheader=true"
|
|
||||||
- "traefik.docker.network=proxy"
|
|
||||||
# NGINX server for hosting assets
|
|
||||||
- "traefik.http.routers.netboot-assets.entrypoints=web"
|
|
||||||
- "traefik.http.routers.netboot-assets.rule=Host(`netboot-assets.nearfuture`)"
|
|
||||||
- "traefik.http.routers.netboot-assets.service=netboot-assets"
|
|
||||||
- "traefik.http.services.netboot-assets.loadbalancer.server.port=80"
|
|
||||||
- "traefik.http.services.netboot-assets.loadbalancer.passhostheader=true"
|
|
||||||
|
|
||||||
networks:
|
|
||||||
proxy:
|
|
||||||
name: proxy
|
|
||||||
external: true
|
|
||||||
netbootxyz:
|
|
||||||
name: netbootxyz
|
|
||||||
27
overseerr/compose.yml
Normal file
27
overseerr/compose.yml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
services:
|
||||||
|
overseerr:
|
||||||
|
image: lscr.io/linuxserver/overseerr:latest
|
||||||
|
container_name: overseerr
|
||||||
|
environment:
|
||||||
|
- PUID=1029
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Etc/UTC
|
||||||
|
volumes:
|
||||||
|
- /home/fejy/docker/overseerr:/config
|
||||||
|
ports:
|
||||||
|
- 5055:5055
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.overseerr.rule=Host(`overseerr.nearfuture`)"
|
||||||
|
- "traefik.http.routers.overseerr.entrypoints=web"
|
||||||
|
- "traefik.http.routers.overseerr-ssl.rule=Host(`overseerr.nearfuture`)"
|
||||||
|
- "traefik.http.routers.overseerr-ssl.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.overseerr-ssl.tls=true"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
services:
|
|
||||||
pinchflat:
|
|
||||||
image: ghcr.io/kieraneglin/pinchflat:latest
|
|
||||||
container_name: pinchflat
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- TZ=America/New_York
|
|
||||||
volumes:
|
|
||||||
- /home/fejy/docker/pinchflat/config:/config
|
|
||||||
- /mnt/AVARITIA/Share/Videos/:/downloads
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.pinchflat.entrypoints=web"
|
|
||||||
- "traefik.http.routers.pinchflat.rule=Host(`pinchflat.nearfuture`)"
|
|
||||||
networks:
|
|
||||||
- proxy
|
|
||||||
|
|
||||||
networks:
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
||||||
@@ -2,22 +2,29 @@ services:
|
|||||||
gluetun:
|
gluetun:
|
||||||
image: qmcgaw/gluetun
|
image: qmcgaw/gluetun
|
||||||
container_name: gluetun
|
container_name: gluetun
|
||||||
|
# line above must be uncommented to allow external containers to connect.
|
||||||
|
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-container-to-gluetun.md#external-container-to-gluetun
|
||||||
cap_add:
|
cap_add:
|
||||||
- NET_ADMIN
|
- NET_ADMIN
|
||||||
devices:
|
devices:
|
||||||
- /dev/net/tun:/dev/net/tun
|
- /dev/net/tun:/dev/net/tun
|
||||||
ports:
|
ports:
|
||||||
|
- 8000:8000/tcp # Gluetun's built-in HTTP control server
|
||||||
|
- 8888:8888/tcp # Gluetun's built-in HTTP proxy
|
||||||
|
- 8388:8388/tcp # Gluetun's built-in Shadowsocks server
|
||||||
|
- 8388:8388/udp # Gluetun's built-in Shadowsocks server
|
||||||
- 8089:8089/tcp # Qbittorrent web-ui
|
- 8089:8089/tcp # Qbittorrent web-ui
|
||||||
- 8090:8090/tcp # Qbittorrent2 web-gui
|
- 8090:8090/tcp # Qbittorrent2 web-gui
|
||||||
- 8091:8091/tcp # Qbittorrent3 web-gui
|
- 8091:8091/tcp # Qbittorrent3 web-gui
|
||||||
- 8069:8069/tcp # Qbittorrent_priv web-gui
|
- 8069:8069/tcp # Qbittorrent_priv web-gui
|
||||||
- 5010:5010/tcp # Mousehole
|
- 3000:3000 # Firefox desktop gui
|
||||||
|
- 3001:3001 # Firefox desktop gui HTTPS
|
||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/gluetun:/gluetun
|
- /home/fejy/docker/gluetun:/gluetun
|
||||||
environment:
|
environment:
|
||||||
|
# See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup
|
||||||
- VPN_SERVICE_PROVIDER=airvpn
|
- VPN_SERVICE_PROVIDER=airvpn
|
||||||
- VPN_TYPE=wireguard
|
- VPN_TYPE=wireguard
|
||||||
- FIREWALL_VPN_INPUT_PORTS=${qbit_portfw}
|
|
||||||
# Wireguard:
|
# Wireguard:
|
||||||
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIV_KEY}
|
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIV_KEY}
|
||||||
- WIREGUARD_PRESHARED_KEY=${WIREGUARD_PSHARE_KEY}
|
- WIREGUARD_PRESHARED_KEY=${WIREGUARD_PSHARE_KEY}
|
||||||
@@ -36,11 +43,6 @@ services:
|
|||||||
# Traefik
|
# Traefik
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.docker.network=proxy"
|
- "traefik.docker.network=proxy"
|
||||||
# Gluetun
|
|
||||||
- "traefik.http.routers.gluetun.rule=Host(`gluetun.nearfuture`)"
|
|
||||||
- "traefik.http.routers.gluetun.entrypoints=web"
|
|
||||||
- "traefik.http.routers.gluetun.service=gluetun"
|
|
||||||
- "traefik.http.services.gluetun.loadbalancer.server.port=8000"
|
|
||||||
# Qbittorrent
|
# Qbittorrent
|
||||||
- "traefik.http.routers.qbit.rule=Host(`qbit.nearfuture`)"
|
- "traefik.http.routers.qbit.rule=Host(`qbit.nearfuture`)"
|
||||||
- "traefik.http.routers.qbit.entrypoints=web"
|
- "traefik.http.routers.qbit.entrypoints=web"
|
||||||
@@ -61,16 +63,9 @@ services:
|
|||||||
- "traefik.http.routers.qbit-priv.entrypoints=web"
|
- "traefik.http.routers.qbit-priv.entrypoints=web"
|
||||||
- "traefik.http.routers.qbit-priv.service=qbit-priv"
|
- "traefik.http.routers.qbit-priv.service=qbit-priv"
|
||||||
- "traefik.http.services.qbit-priv.loadbalancer.server.port=8069"
|
- "traefik.http.services.qbit-priv.loadbalancer.server.port=8069"
|
||||||
# Mousehole
|
|
||||||
- "traefik.http.routers.mousehole.rule=Host(`mousehole.nearfuture`)"
|
|
||||||
- "traefik.http.routers.mousehole.entrypoints=web"
|
|
||||||
- "traefik.http.routers.mousehole.service=mousehole"
|
|
||||||
- "traefik.http.services.mousehole.loadbalancer.server.port=5010"
|
|
||||||
# Watchtower
|
|
||||||
#- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
qbittorrent:
|
qbittorrent:
|
||||||
image: lscr.io/linuxserver/qbittorrent:libtorrentv1
|
image: lscr.io/linuxserver/qbittorrent:latest
|
||||||
container_name: qbittorrent
|
container_name: qbittorrent
|
||||||
environment:
|
environment:
|
||||||
- PUID=1029
|
- PUID=1029
|
||||||
@@ -80,15 +75,16 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/qbittorrent:/config
|
- /home/fejy/docker/qbittorrent:/config
|
||||||
- /mnt/LUXURIA/Share:/Share
|
- /mnt/LUXURIA/Share:/Share
|
||||||
|
- /mnt/LUXURIA/Private:/Private
|
||||||
- /mnt/downloads:/downloads/
|
- /mnt/downloads:/downloads/
|
||||||
network_mode: "service:gluetun"
|
network_mode: "service:gluetun"
|
||||||
depends_on:
|
depends_on:
|
||||||
gluetun:
|
gluetun:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
restart: on-failure:2
|
#restart: unless-stopped
|
||||||
|
|
||||||
qbittorrent2:
|
qbittorrent2:
|
||||||
image: lscr.io/linuxserver/qbittorrent:libtorrentv1
|
image: lscr.io/linuxserver/qbittorrent:latest
|
||||||
container_name: qbittorrent2
|
container_name: qbittorrent2
|
||||||
environment:
|
environment:
|
||||||
- PUID=1029
|
- PUID=1029
|
||||||
@@ -98,15 +94,16 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/qbittorrent2:/config
|
- /home/fejy/docker/qbittorrent2:/config
|
||||||
- /mnt/LUXURIA/Share:/Share
|
- /mnt/LUXURIA/Share:/Share
|
||||||
|
- /mnt/LUXURIA/Private:/Private
|
||||||
- /mnt/downloads:/downloads/
|
- /mnt/downloads:/downloads/
|
||||||
network_mode: "service:gluetun"
|
network_mode: "service:gluetun"
|
||||||
depends_on:
|
depends_on:
|
||||||
gluetun:
|
gluetun:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
restart: on-failure:2
|
#restart: unless-stopped
|
||||||
|
|
||||||
qbittorrent3:
|
qbittorrent3:
|
||||||
image: lscr.io/linuxserver/qbittorrent:libtorrentv1
|
image: lscr.io/linuxserver/qbittorrent:latest
|
||||||
container_name: qbittorrent3
|
container_name: qbittorrent3
|
||||||
environment:
|
environment:
|
||||||
- PUID=1029
|
- PUID=1029
|
||||||
@@ -120,10 +117,11 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
gluetun:
|
gluetun:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
restart: on-failure:2
|
#restart: unless-stopped
|
||||||
|
|
||||||
|
|
||||||
qbittorrent_priv:
|
qbittorrent_priv:
|
||||||
image: lscr.io/linuxserver/qbittorrent:libtorrentv1
|
image: lscr.io/linuxserver/qbittorrent:latest
|
||||||
container_name: qbittorrent_priv
|
container_name: qbittorrent_priv
|
||||||
environment:
|
environment:
|
||||||
- PUID=1029
|
- PUID=1029
|
||||||
@@ -133,22 +131,25 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/qbittorrent_priv:/config
|
- /home/fejy/docker/qbittorrent_priv:/config
|
||||||
- /mnt/LUXURIA/Share:/mnt/LUXURIA/Share
|
- /mnt/LUXURIA/Share:/mnt/LUXURIA/Share
|
||||||
- /mnt/AVARITIA/Private:/mnt/LUXURIA/Private
|
- /mnt/LUXURIA/Private:/mnt/LUXURIA/Private
|
||||||
- /mnt/downloads:/downloads/
|
- /mnt/downloads:/downloads/
|
||||||
network_mode: "service:gluetun"
|
network_mode: "service:gluetun"
|
||||||
depends_on:
|
depends_on:
|
||||||
gluetun:
|
gluetun:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
restart: on-failure:2
|
#restart: unless-stopped
|
||||||
|
|
||||||
mousehole:
|
mam-api:
|
||||||
image: tmmrtn/mousehole:latest
|
image: myanonamouse/seedboxapi
|
||||||
container_name: mousehole
|
container_name: mam-api
|
||||||
network_mode: "service:gluetun"
|
user: 1029:1000
|
||||||
environment:
|
environment:
|
||||||
- TZ=Etc/UTC
|
- DEBUG=1
|
||||||
|
#- mam_id=${MAM_KEY}
|
||||||
|
- interval=1
|
||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/mousehole:/srv/mousehole
|
- /home/fejy/docker/mam-api:/config
|
||||||
|
network_mode: "service:gluetun"
|
||||||
depends_on:
|
depends_on:
|
||||||
gluetun:
|
gluetun:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ services:
|
|||||||
privatebin:
|
privatebin:
|
||||||
container_name: privatebin
|
container_name: privatebin
|
||||||
image: privatebin/nginx-fpm-alpine:1.7.4
|
image: privatebin/nginx-fpm-alpine:1.7.4
|
||||||
|
ports:
|
||||||
|
- 1992:8080/tcp
|
||||||
|
# read_only: true
|
||||||
volumes:
|
volumes:
|
||||||
- /home/fejy/docker/privatebin/conf/conf.php:/srv/cfg/conf.php:ro
|
- /home/fejy/docker/privatebin/conf/conf.php:/srv/cfg/conf.php:ro
|
||||||
- /home/fejy/docker/privatebin/data:/srv/data
|
- /home/fejy/docker/privatebin/data:/srv/data
|
||||||
@@ -21,7 +24,8 @@ services:
|
|||||||
- "traefik.http.routers.privatebin-ssl.tls=true"
|
- "traefik.http.routers.privatebin-ssl.tls=true"
|
||||||
- "traefik.http.routers.privatebin-ssl-ext.rule=Host(`privatebin.nearfuture.industries`)"
|
- "traefik.http.routers.privatebin-ssl-ext.rule=Host(`privatebin.nearfuture.industries`)"
|
||||||
- "traefik.http.routers.privatebin-ssl-ext.entrypoints=websecure"
|
- "traefik.http.routers.privatebin-ssl-ext.entrypoints=websecure"
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
- "traefik.http.routers.privatebin-ssl-ext.tls=true"
|
||||||
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
|
|||||||
25
prowlarr/compose.yml
Normal file
25
prowlarr/compose.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
services:
|
||||||
|
prowlarr:
|
||||||
|
image: lscr.io/linuxserver/prowlarr:latest
|
||||||
|
container_name: prowlarr
|
||||||
|
environment:
|
||||||
|
- PUID=1029
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Etc/UTC
|
||||||
|
volumes:
|
||||||
|
- /home/fejy/docker/prowlarr/data:/config
|
||||||
|
ports:
|
||||||
|
- 9696:9696
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.prowlarr.rule=Host(`prowlarr.nearfuture`)"
|
||||||
|
- "traefik.http.routers.prowlarr.entrypoints=web"
|
||||||
|
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
|
|
||||||
25
radarr/compose.yml
Normal file
25
radarr/compose.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
services:
|
||||||
|
radarr:
|
||||||
|
image: lscr.io/linuxserver/radarr:latest
|
||||||
|
container_name: radarr
|
||||||
|
environment:
|
||||||
|
- PUID=1029
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Etc/UTC
|
||||||
|
volumes:
|
||||||
|
- /home/fejy/docker/radarr:/config
|
||||||
|
- /mnt/LUXURIA/Share:/Share
|
||||||
|
ports:
|
||||||
|
- 7878:7878
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.radarr.rule=Host(`radarr.nearfuture`)"
|
||||||
|
- "traefik.http.routers.radarr.entrypoints=web"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
services:
|
|
||||||
influxdb:
|
|
||||||
restart: unless-stopped
|
|
||||||
image: influxdb:2.8
|
|
||||||
ports:
|
|
||||||
- '8086:8086'
|
|
||||||
user: 1029:1000
|
|
||||||
volumes:
|
|
||||||
- /home/fejy/docker/scrutiny/influxdb:/var/lib/influxdb2
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:8086/health"]
|
|
||||||
interval: 5s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 20
|
|
||||||
networks:
|
|
||||||
- scrutiny
|
|
||||||
|
|
||||||
web:
|
|
||||||
restart: unless-stopped
|
|
||||||
image: 'ghcr.io/analogj/scrutiny:v0-web'
|
|
||||||
user: 1029:1000
|
|
||||||
volumes:
|
|
||||||
- /home/fejy/docker/scrutiny/config:/opt/scrutiny/config
|
|
||||||
environment:
|
|
||||||
SCRUTINY_WEB_INFLUXDB_HOST: 'influxdb'
|
|
||||||
depends_on:
|
|
||||||
influxdb:
|
|
||||||
condition: service_healthy
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:8080/api/health"]
|
|
||||||
interval: 5s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 20
|
|
||||||
start_period: 10s
|
|
||||||
networks:
|
|
||||||
- proxy
|
|
||||||
- scrutiny
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.docker.network=proxy"
|
|
||||||
- "traefik.http.routers.scrutiny.entryPoints=web"
|
|
||||||
- "traefik.http.routers.scrutiny.rule=Host(`scrutiny.nearfuture`)"
|
|
||||||
|
|
||||||
networks:
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
||||||
scrutiny:
|
|
||||||
25
sonarr/compose.yml
Normal file
25
sonarr/compose.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
services:
|
||||||
|
sonarr:
|
||||||
|
image: lscr.io/linuxserver/sonarr:latest
|
||||||
|
container_name: sonarr
|
||||||
|
environment:
|
||||||
|
- PUID=1029
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Etc/UTC
|
||||||
|
volumes:
|
||||||
|
- /home/fejy/docker/sonarr:/config
|
||||||
|
- /mnt/LUXURIA/Share:/Share
|
||||||
|
ports:
|
||||||
|
- 8989:8989
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.sonarr.rule=Host(`sonarr.nearfuture`)"
|
||||||
|
- "traefik.http.routers.sonarr.entrypoints=web"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
|
|
||||||
@@ -1,55 +1,89 @@
|
|||||||
# This compose file is compatible with Compose itself, it might need some
|
# This compose file is compatible with Compose itself, it might need some
|
||||||
# adjustments to run properly with stack.
|
# adjustments to run properly with stack.
|
||||||
|
|
||||||
|
version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
synapse:
|
synapse:
|
||||||
|
build:
|
||||||
|
context: ../..
|
||||||
|
dockerfile: docker/Dockerfile
|
||||||
image: docker.io/matrixdotorg/synapse:latest
|
image: docker.io/matrixdotorg/synapse:latest
|
||||||
container_name: synapse
|
# Since synapse does not retry to connect to the database, restart upon
|
||||||
|
# failure
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
# See the readme for a full documentation of the environment settings
|
||||||
|
# NOTE: You must edit homeserver.yaml to use postgres, it defaults to sqlite
|
||||||
environment:
|
environment:
|
||||||
- SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
|
- SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
|
||||||
volumes:
|
volumes:
|
||||||
|
# You may either store all the files in a local folder
|
||||||
- /home/fejy/docker/synapse:/data
|
- /home/fejy/docker/synapse:/data
|
||||||
|
# .. or you may split this between different storage points
|
||||||
|
# - ./files:/data
|
||||||
|
# - /path/to/ssd:/data/uploads
|
||||||
|
# - /path/to/large_hdd:/data/media
|
||||||
depends_on:
|
depends_on:
|
||||||
- synapse_db
|
- db
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.http-synapse.entryPoints=web"
|
|
||||||
- "traefik.http.routers.http-synapse.rule=Host(`synapse.nearfuture.industries`)"
|
|
||||||
- "traefik.http.routers.http-synapse.middlewares=https_redirect"
|
|
||||||
- "traefik.http.middlewares.https_redirect.redirectscheme.scheme=https"
|
|
||||||
- "traefik.http.middlewares.https_redirect.redirectscheme.permanent=true"
|
|
||||||
- "traefik.http.routers.https-synapse.entryPoints=websecure"
|
|
||||||
- "traefik.http.routers.https-synapse.rule=Host(`synapse.nearfuture.industries`)"
|
|
||||||
- "traefik.http.routers.https-synapse.service=synapse"
|
|
||||||
- "traefik.http.services.synapse.loadbalancer.server.port=8008"
|
|
||||||
|
|
||||||
synapse_db:
|
# In order to expose Synapse, remove one of the following, you might for
|
||||||
image: docker.io/postgres:14-alpine
|
# instance expose the TLS port directly:
|
||||||
container_name: synapse_db
|
ports:
|
||||||
|
- 8448:8448/tcp
|
||||||
|
# ... or use a reverse proxy, here is an example for traefik:
|
||||||
|
labels:
|
||||||
|
# The following lines are valid for Traefik version 1.x:
|
||||||
|
#- traefik.enable=true
|
||||||
|
#- traefik.frontend.rule=Host:my.matrix.Host
|
||||||
|
#- traefik.port=8008
|
||||||
|
# Alternatively, for Traefik version 2.0:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.http-synapse.entryPoints=web
|
||||||
|
- traefik.http.routers.http-synapse.rule=Host(`synapse.nearfuture.industries`)
|
||||||
|
- traefik.http.middlewares.https_redirect.redirectscheme.scheme=https
|
||||||
|
- traefik.http.middlewares.https_redirect.redirectscheme.permanent=true
|
||||||
|
- traefik.http.routers.http-synapse.middlewares=https_redirect
|
||||||
|
- traefik.http.routers.https-synapse.entryPoints=websecure
|
||||||
|
- traefik.http.routers.https-synapse.rule=Host(`synapse.nearfuture.industries`)
|
||||||
|
- traefik.http.routers.https-synapse.service=synapse
|
||||||
|
- traefik.http.routers.https-synapse.tls=true
|
||||||
|
- traefik.http.routers.https-synapse.tls.certresolver=myresolver
|
||||||
|
- traefik.http.services.synapse.loadbalancer.server.port=8008
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: docker.io/postgres:12-alpine
|
||||||
|
# Change that password, of course!
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_USER=postgres
|
- POSTGRES_USER=postgres
|
||||||
- POSTGRES_PASSWORD=${POSTGRES_PASS}
|
- POSTGRES_PASSWORD=${POSTGRES_PASS}
|
||||||
|
# ensure the database gets created correctly
|
||||||
|
# https://element-hq.github.io/synapse/latest/postgres.html#set-up-database
|
||||||
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
|
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
volumes:
|
volumes:
|
||||||
|
# You may store the database tables in a local folder..
|
||||||
- /home/fejy/docker/synapse-db/:/var/lib/postgresql/data
|
- /home/fejy/docker/synapse-db/:/var/lib/postgresql/data
|
||||||
|
# .. or store them on some high performance storage for better results
|
||||||
|
# - /path/to/ssd/storage:/var/lib/postgresql/data
|
||||||
|
|
||||||
nginx:
|
nginx:
|
||||||
image: nginx:1.12-alpine
|
image: nginx:1.12-alpine
|
||||||
container_name: synapse_nginx
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true
|
||||||
- "traefik.http.services.matrix.loadbalancer.server.port=80"
|
- traefik.http.services.matrix.loadbalancer.server.port=80
|
||||||
- "traefik.http.routers.matrix.rule=Host(`nearfuture.industries`)"
|
- traefik.http.routers.matrix.rule=Host(`nearfuture.industries`)
|
||||||
- "traefik.http.routers.matrix.entrypoints=websecure"
|
- traefik.http.routers.matrix.entrypoints=websecure
|
||||||
|
- traefik.http.routers.matrix.service=matrix
|
||||||
|
- traefik.http.routers.matrix.tls=true
|
||||||
|
- traefik.http.routers.matrix.tls.certresolver=myresolver
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./nginx/matrix.conf:/etc/nginx/conf.d/matrix.conf
|
- ./nginx/matrix.conf:/etc/nginx/conf.d/matrix.conf
|
||||||
- ./nginx/www:/var/www/
|
- ./nginx/www:/var/www/
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ services:
|
|||||||
- PUID=1029
|
- PUID=1029
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
- TZ=Etc/UTC
|
- TZ=Etc/UTC
|
||||||
|
ports:
|
||||||
|
- 8181:8181
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
@@ -15,7 +17,6 @@ services:
|
|||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.tautulli.rule=Host(`tautulli.nearfuture`)"
|
- "traefik.http.routers.tautulli.rule=Host(`tautulli.nearfuture`)"
|
||||||
- "traefik.http.routers.tautulli.entrypoints=web"
|
- "traefik.http.routers.tautulli.entrypoints=web"
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
services:
|
|
||||||
thelounge:
|
|
||||||
image: lscr.io/linuxserver/thelounge:latest
|
|
||||||
container_name: thelounge
|
|
||||||
environment:
|
|
||||||
- PUID=1029
|
|
||||||
- PGID=1000
|
|
||||||
- TZ=Etc/UTC
|
|
||||||
volumes:
|
|
||||||
- /home/fejy/docker/thelounge/config:/config
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- proxy
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.thelounge.rule=Host(`thelounge.nearfuture`)"
|
|
||||||
- "traefik.http.routers.thelounge.entrypoints=web"
|
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
networks:
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
||||||
|
|
||||||
@@ -2,6 +2,11 @@ services:
|
|||||||
traefik:
|
traefik:
|
||||||
image: traefik
|
image: traefik
|
||||||
container_name: traefik
|
container_name: traefik
|
||||||
|
# command:
|
||||||
|
#- "--api.insecure=true"
|
||||||
|
#- "--providers.docker=true"
|
||||||
|
#- "--providers.docker.exposedbydefault=false"
|
||||||
|
#- "--entrypoints.web.address=:80"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- NAMECHEAP_API_USER=${NAMECHEAP_USER}
|
- NAMECHEAP_API_USER=${NAMECHEAP_USER}
|
||||||
@@ -9,7 +14,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
- "443:443"
|
- "443:443"
|
||||||
- "2128:2128/tcp"
|
- "8080:8080"
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
- /home/fejy/docker/traefik:/etc/traefik
|
- /home/fejy/docker/traefik:/etc/traefik
|
||||||
@@ -22,8 +27,7 @@ services:
|
|||||||
- "traefik.http.routers.api.service=api@internal"
|
- "traefik.http.routers.api.service=api@internal"
|
||||||
- "traefik.http.routers.api.rule=Host(`traefik.nearfuture`)"
|
- "traefik.http.routers.api.rule=Host(`traefik.nearfuture`)"
|
||||||
- "traefik.http.routers.api.entrypoints=web"
|
- "traefik.http.routers.api.entrypoints=web"
|
||||||
- "traefik.http.services.api.loadbalancer.server.port=8080"
|
- "traefik.http.services.api.loadbalancer.server.port=8080 # The port value doesn't matter"
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
|
|||||||
23
wastebin/compose.yml
Normal file
23
wastebin/compose.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
services:
|
||||||
|
wastebin:
|
||||||
|
image: 'quxfoo/wastebin:latest'
|
||||||
|
container_name: wastebin
|
||||||
|
environment:
|
||||||
|
- WASTEBIN_DATABASE_PATH=/data/state.db
|
||||||
|
user: "1029:1000"
|
||||||
|
ports:
|
||||||
|
- "9020:8088"
|
||||||
|
volumes:
|
||||||
|
- '/home/fejy/docker/wastebin:/data'
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.bin.rule=Host(`bin.nearfuture`)"
|
||||||
|
- "traefik.http.routers.bin.entrypoints=web"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
version: '3'
|
|
||||||
services:
|
|
||||||
watchtower:
|
|
||||||
image: nickfedor/watchtower
|
|
||||||
container_name: watchtower
|
|
||||||
command: --cleanup=true --scope watch
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- DOCKER_API_VERSION="1.49"
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
labels:
|
|
||||||
- "com.centurylinklabs.watchtower.scope=watch"
|
|
||||||
|
|
||||||
25
whisparr/compose.yml
Normal file
25
whisparr/compose.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
services:
|
||||||
|
whisparr:
|
||||||
|
image: ghcr.io/thespad/whisparr:latest
|
||||||
|
container_name: whisparr
|
||||||
|
environment:
|
||||||
|
- PUID=1029
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Etc/UTC
|
||||||
|
volumes:
|
||||||
|
- /home/fejy/docker/whisparr:/config
|
||||||
|
- /mnt/LUXURIA/Private:/Private
|
||||||
|
ports:
|
||||||
|
- 6969:6969
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.whisparr.rule=Host(`whisparr.nearfuture`)"
|
||||||
|
- "traefik.http.routers.whisparr.entrypoints=web"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
|
|
||||||
Reference in New Issue
Block a user