stacks/homelab/docker-compose.yaml

230 lines
5.0 KiB
YAML

version: "3.8"
services:
caddy:
image: caddy:2-alpine
ports:
- target: 443
published: 443
mode: host
- target: 80
published: 80
mode: host
volumes:
- type: bind
source: /srv/ext
target: /srv/ext
read_only: true
- type: bind
source: /srv/ext/sys/caddy
target: /data/caddy
configs:
- source: Caddyfile
target: /etc/caddy/Caddyfile
- source: index.html
target: /www/index.html
extra_hosts:
- host.docker.internal:host-gateway
simpleauth:
image: ghcr.io/nealey/simpleauth
command:
- -secret
- /run/secrets/simpleauth.key
secrets:
- passwd
- simpleauth.key
plex:
image: ghcr.io/linuxserver/plex
networks:
- hostnet
environment:
TZ: US/Mountain
VERSION: public
PLEX_CLAIM: claim-jp4-HfTyRzCce4WzUdj5
volumes:
- type: bind
source: /srv/ext/sys/plex
target: /config
- type: bind
source: /srv
target: /srv
read_only: true
bind:
propagation: rslave
qbittorrent:
image: lscr.io/linuxserver/qbittorrent
volumes:
- type: bind
source: /srv/ext/sys/qbittorrent
target: /config
- type: bind
source: /srv/ext/incoming
target: /srv/ext/incoming
environment:
HOST_PORT: 6680
networks:
- hostnet
sonarr:
image: lscr.io/linuxserver/sonarr
volumes:
- type: bind
source: /srv/ext/sys/sonarr
target: /config
- type: bind
source: /srv/ext/media/tv
target: /srv/ext/media/tv
- type: bind
source: /srv/ext/incoming
target: /srv/ext/incoming
radarr:
image: lscr.io/linuxserver/radarr
volumes:
- type: bind
source: /srv/ext/sys/radarr
target: /config
- type: bind
source: /srv/ext/media/movies
target: /srv/ext/media/movies
- type: bind
source: /srv/ext/incoming
target: /srv/ext/incoming
readarr:
image: lscr.io/linuxserver/readarr:develop
volumes:
- type: bind
source: /srv/ext/sys/readarr
target: /config
- type: bind
source: /srv/ext/media/books
target: /srv/ext/media/books
- type: bind
source: /srv/ext/incoming
target: /srv/ext/incoming
prowlarr:
image: lscr.io/linuxserver/prowlarr:develop
volumes:
- type: bind
source: /srv/ext/sys/prowlarr
target: /config
nzbget:
image: lscr.io/linuxserver/nzbget
volumes:
- type: bind
source: /srv/ext/sys/nzbget
target: /config
- type: bind
source: /srv/ext/incoming
target: /srv/ext/incoming
gitea:
image: gitea/gitea:1
environment:
USER_UID: 1000
USER_GID: 1000
volumes:
- type: bind
source: /srv/ext/sys/gitea
target: /data
- type: bind
source: /etc/timezone
target: /etc/timezone
read_only: true
- type: bind
source: /etc/localtime
target: /etc/localtime
read_only: true
wallart:
image: git.woozle.org/neale/wallart-server
volumes:
- type: bind
source: /srv/ext/sys/wallart
target: /cache
atlas:
image: ctassisf/ripe-atlas-alpine:arm64v8
volumes:
- type: bind
source: /srv/ext/sys/atlas/etc
target: /var/atlas-probe/etc
- type: bind
source: /srv/ext/sys/atlas/status
target: /var/atlas-probe/status
geneweb:
image: ravermeister/geneweb
volumes:
- type: bind
source: /srv/ext/sys/geneweb/etc
target: /usr/local/share/geneweb/etc
- type: bind
source: /srv/ext/sys/geneweb/share/data
target: /usr/local/share/geneweb/share/data
- type: bind
source: /srv/ext/sys/geneweb/log
target: /usr/local/share/geneweb/log
samba:
image: dperson/samba
volumes:
- type: bind
source: /srv/ext
target: /srv/ext
bind:
propagation: rslave
environment:
NMBD: enable
RECYCLE: disable
USERID: 911
GROUPID: 911
# name;path;browse;readonly;guest
SHARE1: drive;/srv/ext;yes;no;no
SHARE2: retropie;/srv/ext/media/games/retropie;yes;yes;yes
env_file:
- secrets/samba-users.env
ports:
- published: 139
target: 139
- published: 445
target: 445
webdav:
image: micromata/dave
volumes:
- type: bind
source: /srv/ext
target: /data
configs:
- source: dave.yaml
target: /config/config.yaml
user: "911:911"
configs:
dave.yaml:
file: dave.yaml
name: dave.yaml-v3
Caddyfile:
file: Caddyfile
name: Caddyfile-v53
index.html:
file: index.html
name: index.html-v28
secrets:
passwd:
file: secrets/passwd
name: passwd-v1
simpleauth.key:
file: secrets/simpleauth.key
name: simpleauth.key-v1
networks:
hostnet:
external: true
name: host