Compare commits

..

12 Commits

Author SHA1 Message Date
55bccd376e Remove watchtower from gluetun 2026-04-20 20:23:41 +00:00
eca85225be Adding Ersatztv for custom tv streaming
Adding Pinchflat for youtube downloads
2026-04-18 04:37:55 +00:00
36274d84f3 Merge pull request 'Adding netbootxyz' (#11) from netboot into master
Reviewed-on: #11
2026-04-09 14:57:59 -07:00
c890837a79 Adding netbootxyz 2026-04-09 21:57:29 +00:00
d92fb7629d Merge pull request 'Adding scrutiny' (#10) from scrutiny into master
Reviewed-on: #10
2026-04-09 14:56:46 -07:00
d397d5506d Adding scrutiny 2026-04-09 21:55:42 +00:00
e24e04cd36 Merge pull request 'Removing unused firefox-vpn compose' (#9) from cleanup120938 into master
Reviewed-on: #9
2026-04-08 14:20:56 -07:00
c5239726d5 Removing unused firefox-vpn compose 2026-04-08 21:20:13 +00:00
ab3fcb0725 Merge pull request 'Specify 2128 is for tcp' (#8) from gitea into master
Reviewed-on: #8
2026-04-08 14:13:51 -07:00
6e38098427 Specify 2128 is for tcp
Used for gitea's ssh server
2026-04-08 21:12:48 +00:00
77e42c352f Merge pull request 'Adding dozzle' (#7) from updates_apr8 into master
Reviewed-on: #7
2026-04-08 11:41:06 -07:00
686fff045b Adding dozzle
Cleaning up all compose files:
  consistent labels
  remove exposed ports
  move synapse to wildcard cert
  remove commented out lines
Switch qbit to libtorrentv1 tag
2026-04-08 18:38:31 +00:00
20 changed files with 225 additions and 137 deletions

View File

@@ -6,10 +6,8 @@ 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
@@ -24,4 +22,3 @@ services:
networks: networks:
proxy: proxy:
external: true external: true

View File

@@ -8,8 +8,6 @@ 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
@@ -30,8 +28,6 @@ services:
- /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
@@ -52,8 +48,6 @@ services:
- /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
@@ -74,8 +68,6 @@ 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
@@ -92,8 +84,6 @@ services:
- TZ=Etc/UTC - TZ=Etc/UTC
volumes: volumes:
- /home/fejy/docker/overseerr:/app/config - /home/fejy/docker/overseerr:/app/config
ports:
- 5055:5055
restart: unless-stopped restart: unless-stopped
networks: networks:
- proxy - proxy
@@ -109,4 +99,3 @@ services:
networks: networks:
proxy: proxy:
external: true external: true

View File

@@ -36,9 +36,6 @@ services:
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required} AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2026.2.2-rc2} image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2026.2.2-rc2}
container_name: authentik-server container_name: authentik-server
ports:
- 9001:9000
- ${COMPOSE_PORT_HTTPS:-9443}:9443
restart: unless-stopped restart: unless-stopped
shm_size: 512mb shm_size: 512mb
volumes: volumes:
@@ -86,10 +83,6 @@ services:
networks: networks:
- authentik - authentik
#volumes:
#database:
#driver: local
networks: networks:
proxy: proxy:
external: true external: true

View File

@@ -3,8 +3,6 @@ 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
@@ -22,8 +20,6 @@ services:
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
@@ -41,8 +37,6 @@ services:
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/
@@ -60,8 +54,6 @@ services:
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

23
dozzle/compose.yml Normal file
View File

@@ -0,0 +1,23 @@
services:
dozzle:
image: amir20/dozzle:latest
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

26
ersatztv/compose.yml Normal file
View File

@@ -0,0 +1,26 @@
services:
ersatztv:
image: ghcr.io/ersatztv/ersatztv
container_name: ersatztv
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

View File

@@ -5,8 +5,6 @@ services:
environment: environment:
- PUID=1029 - PUID=1029
- PGID=1000 - PGID=1000
ports:
- "3030:80"
restart: on-failure restart: on-failure
networks: networks:
- proxy - proxy

View File

@@ -1,16 +0,0 @@
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

View File

@@ -4,15 +4,13 @@ services:
container_name: homepage container_name: homepage
env_file: ".env" env_file: ".env"
environment: environment:
PUID: 1029 # optional, your user id PUID: 1029
PGID: 994 # optional, your group id PGID: 1000
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 # optional, for docker integrations # - /var/run/docker.sock:/var/run/docker.sock:ro
restart: unless-stopped restart: unless-stopped
networks: networks:
- proxy - proxy

View File

@@ -11,14 +11,11 @@ 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}

46
netbootxyz/compose.yml Normal file
View File

@@ -0,0 +1,46 @@
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

19
pinchflat/compose.yml Normal file
View File

@@ -0,0 +1,19 @@
services:
pinchflat:
image: ghcr.io/kieraneglin/pinchflat:latest
container_name: pinchflat
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

View File

@@ -2,8 +2,6 @@ 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:
@@ -17,7 +15,6 @@ services:
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} - FIREWALL_VPN_INPUT_PORTS=${qbit_portfw}
@@ -39,6 +36,11 @@ 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"
@@ -59,11 +61,16 @@ 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 # Watchtower
- "com.centurylinklabs.watchtower.scope=watch" #- "com.centurylinklabs.watchtower.scope=watch"
qbittorrent: qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest image: lscr.io/linuxserver/qbittorrent:libtorrentv1
container_name: qbittorrent container_name: qbittorrent
environment: environment:
- PUID=1029 - PUID=1029
@@ -78,10 +85,10 @@ services:
depends_on: depends_on:
gluetun: gluetun:
condition: service_healthy condition: service_healthy
#restart: unless-stopped restart: on-failure:2
qbittorrent2: qbittorrent2:
image: lscr.io/linuxserver/qbittorrent:latest image: lscr.io/linuxserver/qbittorrent:libtorrentv1
container_name: qbittorrent2 container_name: qbittorrent2
environment: environment:
- PUID=1029 - PUID=1029
@@ -96,10 +103,10 @@ services:
depends_on: depends_on:
gluetun: gluetun:
condition: service_healthy condition: service_healthy
#restart: unless-stopped restart: on-failure:2
qbittorrent3: qbittorrent3:
image: lscr.io/linuxserver/qbittorrent:latest image: lscr.io/linuxserver/qbittorrent:libtorrentv1
container_name: qbittorrent3 container_name: qbittorrent3
environment: environment:
- PUID=1029 - PUID=1029
@@ -113,11 +120,10 @@ services:
depends_on: depends_on:
gluetun: gluetun:
condition: service_healthy condition: service_healthy
#restart: unless-stopped restart: on-failure:2
qbittorrent_priv: qbittorrent_priv:
image: lscr.io/linuxserver/qbittorrent:latest image: lscr.io/linuxserver/qbittorrent:libtorrentv1
container_name: qbittorrent_priv container_name: qbittorrent_priv
environment: environment:
- PUID=1029 - PUID=1029
@@ -133,16 +139,16 @@ services:
depends_on: depends_on:
gluetun: gluetun:
condition: service_healthy condition: service_healthy
#restart: unless-stopped restart: on-failure:2
mousehole: mousehole:
image: tmmrtn/mousehole:latest image: tmmrtn/mousehole:latest
container_name: mousehole
network_mode: "service:gluetun" network_mode: "service:gluetun"
environment: environment:
TZ: Etc/UTC # Set to your timezone for localization - TZ=Etc/UTC
volumes: volumes:
# persist cookie data across container restarts - /home/fejy/docker/mousehole:/srv/mousehole
- "/home/fejy/docker/mousehole:/srv/mousehole"
depends_on: depends_on:
gluetun: gluetun:
condition: service_healthy condition: service_healthy

View File

@@ -2,9 +2,6 @@ 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
@@ -24,7 +21,6 @@ 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"
- "traefik.http.routers.privatebin-ssl-ext.tls=true"
- "com.centurylinklabs.watchtower.scope=watch" - "com.centurylinklabs.watchtower.scope=watch"
networks: networks:

68
scrutiny/compose.yml Normal file
View File

@@ -0,0 +1,68 @@
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`)"
collector:
restart: unless-stopped
image: 'ghcr.io/analogj/scrutiny:v0.8-collector'
cap_add:
- SYS_RAWIO
volumes:
- '/run/udev:/run/udev:ro'
environment:
COLLECTOR_API_ENDPOINT: 'http://web:8080'
COLLECTOR_HOST_ID: 'Invidia'
# If true forces the collector to run on startup (cron will be started after the collector completes)
# see: https://github.com/AnalogJ/scrutiny/blob/master/docs/TROUBLESHOOTING_DEVICE_COLLECTOR.md#collector-trigger-on-startup
COLLECTOR_RUN_STARTUP: true
depends_on:
web:
condition: service_healthy
networks:
- scrutiny
devices:
- "/dev/sda:/dev/sda"
networks:
proxy:
external: true
scrutiny:

View File

@@ -4,71 +4,40 @@
services: services:
synapse: synapse:
#build:
#context: ../..
#dockerfile: docker/Dockerfile
image: docker.io/matrixdotorg/synapse:latest image: docker.io/matrixdotorg/synapse:latest
container_name: synapse 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 - synapse_db
networks: networks:
- proxy - proxy
# In order to expose Synapse, remove one of the following, you might for
# instance expose the TLS port directly:
ports:
- 8448:8448/tcp
# ... or use a reverse proxy, here is an example for traefik:
labels: labels:
# The following lines are valid for Traefik version 1.x: - "traefik.enable=true"
#- traefik.enable=true - "traefik.http.routers.http-synapse.entryPoints=web"
#- traefik.frontend.rule=Host:my.matrix.Host - "traefik.http.routers.http-synapse.rule=Host(`synapse.nearfuture.industries`)"
#- traefik.port=8008 - "traefik.http.routers.http-synapse.middlewares=https_redirect"
# Alternatively, for Traefik version 2.0: - "traefik.http.middlewares.https_redirect.redirectscheme.scheme=https"
- traefik.enable=true - "traefik.http.middlewares.https_redirect.redirectscheme.permanent=true"
- traefik.http.routers.http-synapse.entryPoints=web - "traefik.http.routers.https-synapse.entryPoints=websecure"
- traefik.http.routers.http-synapse.rule=Host(`synapse.nearfuture.industries`) - "traefik.http.routers.https-synapse.rule=Host(`synapse.nearfuture.industries`)"
- traefik.http.middlewares.https_redirect.redirectscheme.scheme=https - "traefik.http.routers.https-synapse.service=synapse"
- traefik.http.middlewares.https_redirect.redirectscheme.permanent=true - "traefik.http.services.synapse.loadbalancer.server.port=8008"
- 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
synapse_db: synapse_db:
image: docker.io/postgres:14-alpine image: docker.io/postgres:14-alpine
container_name: synapse_db container_name: synapse_db
# 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
@@ -77,14 +46,10 @@ services:
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/

View File

@@ -8,8 +8,6 @@ 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

View File

@@ -8,8 +8,6 @@ services:
- TZ=Etc/UTC - TZ=Etc/UTC
volumes: volumes:
- /home/fejy/docker/thelounge/config:/config - /home/fejy/docker/thelounge/config:/config
ports:
- 9000:9000
restart: unless-stopped restart: unless-stopped
networks: networks:
- proxy - proxy

View File

@@ -2,11 +2,6 @@ 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}
@@ -14,7 +9,7 @@ services:
ports: ports:
- "80:80" - "80:80"
- "443:443" - "443:443"
- "8080:8080" - "2128:2128/tcp"
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
@@ -27,7 +22,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 # The port value doesn't matter" - "traefik.http.services.api.loadbalancer.server.port=8080"
- "com.centurylinklabs.watchtower.scope=watch" - "com.centurylinklabs.watchtower.scope=watch"
networks: networks:

View File

@@ -3,10 +3,10 @@ services:
watchtower: watchtower:
image: containrrr/watchtower image: containrrr/watchtower
container_name: watchtower container_name: watchtower
#command: --run-once --scope watch
command: --cleanup=true --scope watch command: --cleanup=true --scope watch
restart: always restart: always
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
labels: [ "com.centurylinklabs.watchtower.scope=watch" ] labels:
- "com.centurylinklabs.watchtower.scope=watch"