changed compose file
This commit is contained in:
103
compose.yml
103
compose.yml
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user