feat: headplane (ui for headscale)
This commit is contained in:
+22
-24
@@ -1,14 +1,16 @@
|
||||
services:
|
||||
server:
|
||||
headscale:
|
||||
image: headscale/headscale:latest
|
||||
restart: unless-stopped
|
||||
container_name: headscale-server
|
||||
command: serve
|
||||
networks:
|
||||
- proxy
|
||||
volumes:
|
||||
- ./config:/etc/headscale
|
||||
- ./config/headscale.yaml:/etc/headscale/config.yaml
|
||||
- data:/var/lib/headscale
|
||||
labels:
|
||||
- "me.tale.headplane.target: headscale"
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=proxy"
|
||||
- "traefik.http.services.headscale.loadbalancer.server.port=8080"
|
||||
@@ -47,33 +49,29 @@ services:
|
||||
- "traefik.http.routers.headscale-metrics-dev.entrypoints=websecure"
|
||||
- "traefik.http.routers.headscale-metrics-dev.service=headscale-metrics"
|
||||
- "traefik.http.routers.headscale-metrics-dev.tls=true"
|
||||
web:
|
||||
image: goodieshq/headscale-admin:latest
|
||||
headplane:
|
||||
image: ghcr.io/tale/headplane:latest
|
||||
container_name: headplane
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "treafik.docker.network=proxy"
|
||||
- "traefik.http.services.headscale-ui.loadbalancer.server.port=80"
|
||||
|
||||
# Prod Router
|
||||
- "traefik.http.routers.headscale-ui.rule=Host(`hs.forust.xyz`) && PathPrefix(`/admin`)"
|
||||
- "traefik.http.routers.headscale-ui.entrypoints=websecure"
|
||||
- "traefik.http.routers.headscale-ui.middlewares=security-chain@file"
|
||||
- "traefik.http.routers.headscale-ui.tls=true"
|
||||
# Local Router
|
||||
- "traefik.http.routers.headscale-ui-local.rule=Host(`hs.workstation.internal`) && PathPrefix(`/admin`)"
|
||||
- "traefik.http.routers.headscale-ui-local.entrypoints=websecure"
|
||||
- "traefik.http.routers.headscale-ui-local.middlewares=security-chain@file"
|
||||
- "traefik.http.routers.headscale-ui-local.tls=true"
|
||||
# Dev Router
|
||||
- "traefik.http.routers.headscale-ui-dev.rule=Host(`hs.gigaforust.internal`) && PathPrefix(`/admin`)"
|
||||
- "traefik.http.routers.headscale-ui-dev.entrypoints=websecure"
|
||||
- "traefik.http.routers.headscale-ui-dev.middlewares=security-chain@file"
|
||||
- "traefik.http.routers.headscale-ui-dev.tls=true"
|
||||
ports:
|
||||
- '3000:3000'
|
||||
volumes:
|
||||
- ./config/headplane.yaml:/etc/headplane/config.yaml
|
||||
- ./config/headscale.yaml:/etc/headscale/config.yaml
|
||||
- headplane-data:/var/lib/headplane
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
networks:
|
||||
- proxy
|
||||
healthcheck:
|
||||
test: [ "CMD", "/bin/hp_healthcheck" ]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
start_period: 5s
|
||||
retries: 3
|
||||
volumes:
|
||||
data:
|
||||
headplane-data:
|
||||
name: headplane_data
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
|
||||
Reference in New Issue
Block a user