services: ts-portainer: image: tailscale/tailscale:latest hostname: portainer environment: - TS_AUTHKEY=${TS_AUTHKEY} - TS_EXTRA_ARGS=--advertise-tags=tag:container - TS_STATE_DIR=/var/lib/tailscale - TS_SERVE_CONFIG=/config/serve.json - TS_USERSPACE=false volumes: - ts-state:/var/lib/tailscale - ./serve.json:/config/serve.json:ro devices: - /dev/net/tun:/dev/net/tun cap_add: - net_admin restart: unless-stopped portainer: image: portainer/portainer-ce:latest container_name: portainer network_mode: service:ts-portainer depends_on: - ts-portainer volumes: - /var/run/docker.sock:/var/run/docker.sock - data:/data restart: unless-stopped volumes: ts-state: data: