362 lines
7.4 KiB
YAML
362 lines
7.4 KiB
YAML
version: "3"
|
|
|
|
services:
|
|
swag:
|
|
image: linuxserver/swag
|
|
container_name: swag
|
|
restart: unless-stopped
|
|
cap_add:
|
|
- NET_ADMIN
|
|
env_file:
|
|
- ./swag/swag.env
|
|
volumes:
|
|
- ./swag:/config
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
|
|
authelia:
|
|
image: authelia/authelia
|
|
container_name: authelia
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./authelia/authelia.env
|
|
volumes:
|
|
- ./authelia:/config
|
|
expose:
|
|
- 9091
|
|
|
|
wg-gen-web:
|
|
image: vx3r/wg-gen-web:latest
|
|
container_name: wg-gen-web
|
|
restart: unless-stopped
|
|
expose:
|
|
- 8080
|
|
env_file:
|
|
- wg/wg-gen.env
|
|
volumes:
|
|
- /etc/wireguard:/data
|
|
|
|
freshrss:
|
|
image: linuxserver/freshrss
|
|
container_name: freshrss
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./freshrss/freshrss.env
|
|
volumes:
|
|
- ./freshrss:/config
|
|
expose:
|
|
- 80
|
|
|
|
rss-bridge:
|
|
image: rssbridge/rss-bridge
|
|
container_name: rss-bridge
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./rss-bridge/rss-bridge.env
|
|
volumes:
|
|
- ./rss-bridge/whitelist.txt:/app/whitelist.txt
|
|
expose:
|
|
- 80
|
|
|
|
calibre:
|
|
image: linuxserver/calibre
|
|
container_name: calibre
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./calibre/calibre.env
|
|
- ./calibre/calibre.env.secret
|
|
volumes:
|
|
- ~/library:/config
|
|
- ~/books_to_add:/books_to_add
|
|
expose:
|
|
- 8080
|
|
- 8081
|
|
depends_on:
|
|
- "calibre-web" # Because of access to database
|
|
|
|
calibre-web:
|
|
image: linuxserver/calibre-web
|
|
container_name: calibre-web
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./calibre-web/calibre-web.env
|
|
volumes:
|
|
- ./calibre-web:/config
|
|
- ~/library:/books
|
|
expose:
|
|
- 8083
|
|
|
|
gitea:
|
|
image: gitea/gitea:latest
|
|
container_name: gitea
|
|
restart: unless-stopped
|
|
env_file:
|
|
- gitea/gitea.env
|
|
volumes:
|
|
- ./gitea:/data
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- 3000
|
|
ports:
|
|
- "22:22"
|
|
|
|
drone-server:
|
|
image: drone/drone:1
|
|
container_name: drone-server
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./drone/drone.env
|
|
- ./drone/drone.env.secret
|
|
volumes:
|
|
- ./drone:/data
|
|
expose:
|
|
- 8080
|
|
depends_on:
|
|
- gitea
|
|
|
|
drone-runner:
|
|
image: drone/drone-runner-docker:1
|
|
container_name: drone-runner
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./drone/drone-runner.env
|
|
- ./drone/drone-runner.env.secret
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
expose:
|
|
- 3000
|
|
depends_on:
|
|
- drone-server
|
|
|
|
pyload:
|
|
image: linuxserver/pyload
|
|
container_name: pyload
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./pyload/pyload.env
|
|
volumes:
|
|
- ./pyload:/config
|
|
- ~/downloads:/downloads
|
|
expose:
|
|
- 8000
|
|
- 7227 #optional
|
|
|
|
transmission:
|
|
image: linuxserver/transmission
|
|
container_name: transmission
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./transmission/transmission.env
|
|
- ./transmission/transmission.env.secret
|
|
volumes:
|
|
- ./transmission:/config
|
|
- ~/downloads:/downloads
|
|
- ~/downloads/blackhole:/watch
|
|
expose:
|
|
- 9091
|
|
ports:
|
|
- 51413:51413
|
|
- 51413:51413/udp
|
|
|
|
sabnzbd:
|
|
image: linuxserver/sabnzbd
|
|
container_name: sabnzbd
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./sabnzbd/sabnzbd.env
|
|
volumes:
|
|
- ./sabnzbd:/config
|
|
- ~/downloads:/downloads
|
|
expose:
|
|
- 8080
|
|
- 9090
|
|
|
|
nzbhydra2:
|
|
image: linuxserver/nzbhydra2
|
|
container_name: nzbhydra2
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./nzbhydra2/nzbhydra.env
|
|
volumes:
|
|
- ./nzbhydra2:/config
|
|
- ~/downloads:/downloads
|
|
expose:
|
|
- 5076
|
|
|
|
jackett:
|
|
image: linuxserver/jackett
|
|
container_name: jackett
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./jackett/jackett.env
|
|
volumes:
|
|
- ./jackett:/config
|
|
- ~/downloads/blackhole:/downloads
|
|
expose:
|
|
- 9117
|
|
|
|
sonarr:
|
|
image: linuxserver/sonarr
|
|
container_name: sonarr
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./sonarr/sonarr.env
|
|
volumes:
|
|
- ./sonarr:/config
|
|
- ~/videos/shows:/tv
|
|
- ~/downloads:/downloads
|
|
expose:
|
|
- 8989
|
|
|
|
radarr:
|
|
image: linuxserver/radarr
|
|
container_name: radarr
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./radarr/radarr.env
|
|
volumes:
|
|
- ./radarr:/config
|
|
- ~/videos/movies:/movies
|
|
- ~/downloads:/downloads
|
|
expose:
|
|
- 7878
|
|
|
|
bazarr:
|
|
image: linuxserver/bazarr
|
|
container_name: bazarr
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./bazarr/bazarr.env
|
|
volumes:
|
|
- ./bazarr:/config
|
|
- ~/videos/movies:/movies
|
|
- ~/videos/shows:/tv
|
|
expose:
|
|
- 6767
|
|
|
|
quassel-core:
|
|
image: linuxserver/quassel-core
|
|
container_name: quassel-core
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./quassel/quassel.env
|
|
volumes:
|
|
- ./quassel:/config
|
|
ports:
|
|
- 4242:4242
|
|
- 113:10113 #optional
|
|
|
|
jellyfin:
|
|
image: linuxserver/jellyfin
|
|
container_name: jellyfin
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./jellyfin/jellyfin.env
|
|
volumes:
|
|
- ./jellyfin:/config
|
|
- ~/videos/shows:/data/tvshows
|
|
- ~/videos/movies:/data/movies
|
|
expose:
|
|
- 8096
|
|
|
|
photoprism:
|
|
image: photoprism/photoprism:latest
|
|
container_name: photoprism
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: "photoprism status"
|
|
interval: 60s
|
|
timeout: 15s
|
|
retries: 5
|
|
env_file:
|
|
- ./photoprism/photoprism.env
|
|
- ./photoprism/photoprism.env.secret
|
|
volumes:
|
|
- ~/pictures/originals:/photoprism/originals
|
|
- ~/pictures/import:/photoprism/import
|
|
- ./photoprism/config:/photoprism/config
|
|
- ./photoprism/cache:/photoprism/cache
|
|
- ./photoprism/database:/photoprism/database
|
|
expose:
|
|
- 2342
|
|
- 2343
|
|
user: 1000:1000
|
|
|
|
syncthing:
|
|
image: linuxserver/syncthing
|
|
restart: unless-stopped
|
|
container_name: syncthing
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./syncthing/syncthing.env
|
|
volumes:
|
|
- ./syncthing:/config
|
|
- ~/:/data1
|
|
expose:
|
|
- 8384
|
|
ports:
|
|
- 22000:22000
|
|
- 21027:21027/udp
|
|
|
|
nextcloud:
|
|
image: linuxserver/nextcloud
|
|
container_name: nextcloud
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./nextcloud/nextcloud.env
|
|
volumes:
|
|
- ./nextcloud:/config
|
|
- ~/nextcloud:/data
|
|
expose:
|
|
- 443
|
|
|
|
fava:
|
|
image: yegle/fava
|
|
restart: unless-stopped
|
|
container_name: fava
|
|
env_file:
|
|
- ./fava/fava.env
|
|
volumes:
|
|
- ~/fava:/bean
|
|
expose:
|
|
- 5000
|
|
user: 1000:1000
|
|
|
|
synapse:
|
|
image: matrixdotorg/synapse
|
|
restart: unless-stopped
|
|
container_name: synapse
|
|
env_file:
|
|
- ./matrix/matrix.env
|
|
volumes:
|
|
- ./matrix:/data
|
|
expose:
|
|
- 8008
|
|
|
|
riot:
|
|
image: vectorim/riot-web:v1.7.4
|
|
restart: unless-stopped
|
|
container_name: riot
|
|
volumes:
|
|
- ./riot/config.json:/app/config.json
|
|
expose:
|
|
- 80
|
|
|
|
restic:
|
|
image: lobaro/restic-backup-docker
|
|
restart: unless-stopped
|
|
container_name: restic
|
|
hostname: restic-athos
|
|
env_file:
|
|
- ./restic/restic.env
|
|
- ./restic/restic.env.secret
|
|
volumes:
|
|
- ~/library/:/data/library
|
|
- ~/nextcloud/:/data/nextcloud
|
|
- ./gitea/:/data/gitea
|
|
- ./matrix/:/data/matrix
|
|
- ./freshrss/:/data/freshrss
|
|
- ./calibre-web:/data/calibre-web
|