changed compose file

This commit is contained in:
2026-06-22 12:40:10 -04:00
parent 3e60a58e11
commit 875280b8d5

View File

@@ -3,13 +3,10 @@
networks: networks:
wg: wg:
driver: bridge driver: bridge
default: hs:
driver: bridge driver: bridge
volumes:
tscale_data:
driver: local
actual_data:
driver: local
services: services:
# @NOTE https://oneuptime.com/blog/post/2026-03-18-use-podman-containers-wireguard-vpn/view # @NOTE https://oneuptime.com/blog/post/2026-03-18-use-podman-containers-wireguard-vpn/view
wgclient: wgclient:
@@ -35,6 +32,11 @@ services:
- net.ipv6.conf.all.src_valid_mark=1 - net.ipv6.conf.all.src_valid_mark=1
- net.ipv6.ip_forward=1data - net.ipv6.ip_forward=1data
- net.ipv4.ip_forward=1 - net.ipv4.ip_forward=1
labels:
glance.name: Wireguard
glance.id: wireguard
glance.icon: "si:wireguard"
glance.description: VPN client connection
# @NOTE https://tailscale.com/docs/features/containers/docker # @NOTE https://tailscale.com/docs/features/containers/docker
# @NOTE https://tailscale.com/blog/docker-tailscale-guide # @NOTE https://tailscale.com/blog/docker-tailscale-guide
@@ -45,13 +47,16 @@ services:
# - SYS_MODULE # - SYS_MODULE
- NET_ADMIN - NET_ADMIN
restart: unless-stopped restart: unless-stopped
volumes:
# - /lib/modules:/lib/modules:ro
- tscale_data:/var/lib/tailscale
- ~/.config/tailscale:/config
devices: devices:
- /dev/net/tun:/dev/net/tun - /dev/net/tun:/dev/net/tun
volumes:
# - /lib/modules:/lib/modules:ro
- ~/.cvols/tailscale:/var/lib/tailscale
- ~/.config/tailscale:/config:Z
networks:
- hs
hostname: nirvana hostname: nirvana
# env_file: [tailclient/prod.env]
environment: environment:
TS_AUTHKEY: ${TS_AUTHKEY:?Provide authentication key}?ephemeral=false TS_AUTHKEY: ${TS_AUTHKEY:?Provide authentication key}?ephemeral=false
TS_SERVE_CONFIG: /config/${TS_SERVE_CONFIG_BASENAME:?Provide a basename for the Tailscale Serve configuration file}.json TS_SERVE_CONFIG: /config/${TS_SERVE_CONFIG_BASENAME:?Provide a basename for the Tailscale Serve configuration file}.json
@@ -60,3 +65,81 @@ services:
# @TODO make subsequent containers have 'network_mode' attrbute set to value 'service:wgclient'/'service:tailclient' # @TODO make subsequent containers have 'network_mode' attrbute set to value 'service:wgclient'/'service:tailclient'
# OR make subsequent containers have 'networks' attribute set to list value with 'container:wgclient'/'contaner:tailclient' item # OR make subsequent containers have 'networks' attribute set to list value with 'container:wgclient'/'contaner:tailclient' item
revproxy0:
image: caddy:latest
restart: unless-stopped
cap_add:
- NET_ADMIN
volumes:
- ~/.caddy:/etc/caddy
- ~/srv:/srv
- ~/.local/share/caddy:/usr/share/caddy
- ~/.cvols/caddy:/data
- ~/.config/caddy:/config
networks:
- "container:wgclient"
dns:
- ${WG_INTFACE_ADDR:?Enter Wireguard client container's interface address}
# env_file: [wg0-dns.env]
depends_on:
- wgclient
labels:
glance.name: Caddy
glance.id: caddy
glance.icon: "si:caddy"
glance.description: HTTPS reverse proxy server
glance:
container_name: glance
image: glanceapp/glance
restart: unless-stopped
volumes:
# @NOTE https://github.com/glanceapp/glance/blob/main/docs/configuration.md#configuring-glance
- ~/.config/glance:/app/config # @NOTE internal container server port is changed via 'glance.yml' config file; default is 8080
- ~/.local/share/glance:/app/assets
- /etc/localtime:/etc/localtime:ro
# Optionally, also mount docker socket if you want to use the docker containers widget
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- "container:tailclient"
# env_file: [hs.env,glance/prod.env]
depends_on:
- tailclient
labels:
glance.name: Self
glance.icon: "si:glance"
glance.url: "${HS_URL_SCHEME:?Enter Headscale URL scheme for server}://${HS_DOMAIN:?Enter Headscale domain}"
glance.description: Dashboard
# @NOTE https://github.com/glanceapp/glance/blob/main/docs/configuration.md#docker-containers
# @TODO apply labels to each container that allows it to show up in Glance dashboard
stash:
image: stashapp/stash:latest
container_name: stash
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime:ro
- ~/.config/stash:/root/.stash
- ~/.xxx/media:/data
- ~/.local/share/stash/metadata:/metadata
- ~/.local/share/stash/cache:/cache
- ~/.local/share/stash/blobs:/blobs
- ~/.xxx/stash:/generated
logging:
driver: "json-file"
options:
max-file: "10"
max-size: "2m"
networks:
- "container:tailclient"
depends_on:
- tailclient
environment:
STASH_PORT: "9999"
labels:
glance.name: Stash
glance.icon: "si:stash"
glance.url: "${HS_URL_SCHEME:?Enter Headscale URL scheme for server}://${HS_DOMAIN:?Enter Headscale domain}"
glance.description: NSFW media streaming service and gallery