services: tailscale-garage: image: ghcr.io/tailscale/tailscale:v1.88.4 container_name: tailscale-garage cap_add: - net_admin - sys_module environment: - TS_STATE_DIR=/var/lib/tailscale - TS_ENABLE_METRICS=true - TS_HOSTNAME=garage-ps10rp - TS_SERVE_CONFIG=/config/serve.json restart: always network_mode: service:garage volumes: - tailscale:/var/lib/tailscale - ${PWD}/serve.json:/config/serve.json:ro devices: - /dev/net/tun:/dev/net/tun garage: image: dxflrs/garage:v2.1.0 container_name: garage env_file: - .env restart: always networks: internal: null volumes: - ${PWD}/garage.toml:/etc/garage.toml:ro - meta:/var/lib/garage/meta - data:/var/lib/garage/data webui: image: khairul169/garage-webui:1.1.0 container_name: garage-webui env_file: - .env environment: API_BASE_URL: "http://127.0.0.1:3903" S3_ENDPOINT_URL: "http://127.0.0.1:3900" labels: traefik.enable: true traefik.docker.network: internal traefik.http.routers.garage-webui.entrypoints: web-secure traefik.http.routers.garage-webui.rule: Host(`garage.lebens-home.net`) traefik.http.routers.garage-webui.service: garage-webui traefik.http.services.garage-webui.loadbalancer.server.port: 3009 restart: always network_mode: service:garage volumes: - ${PWD}/garage.toml:/etc/garage.toml:ro networks: internal: name: internal external: true volumes: tailscale: meta: data: