-
Notifications
You must be signed in to change notification settings - Fork 40
Open
Labels
new servicerequest to add a new servicerequest to add a new service
Description
Service Description
hello i would like to contribute to a new service following the Scaletail services conventions :-
adding dockhand for docker management using tailscale serve/funnel
here's the env file contents :
.env
#version=1.1
#URL=https://github.com/tailscale-dev/ScaleTail
#COMPOSE_PROJECT_NAME= # Optional: only use when running multiple deployments on the same infrastructure.
# Service Configuration
SERVICE=dockhand
IMAGE_URL=fnsys/dockhand:latest
# Network Configuration
SERVICEPORT=3000
DNS_SERVER=9.9.9.9
# Tailscale Configuration
TS_AUTHKEY=
# Optional Service variables
# PUID=1000
Docker Compose File Link
https://github.com/D3B-0x0/docker-homelab/blob/main/dockhand/compose.yml
Docker Compose Configuration
configs:
ts-serve:
content: |
{"TCP":{"443":{"HTTPS":true}},
"Web":{"$${TS_CERT_DOMAIN}:443":
{"Handlers":{"/":
{"Proxy":"http://127.0.0.1:3000"}}}},
"AllowFunnel":{"$${TS_CERT_DOMAIN}:443":false}}
services:
# Make sure you have updated/checked the .env file with the correct variables.
# All the ${ xx } need to be defined there.
# Tailscale Sidecar Configuration
tailscale:
image: tailscale/tailscale:latest # Image to be used
container_name: tailscale-${SERVICE} # Name for local container management
hostname: ${SERVICE} # Name used within your Tailscale environment
environment:
- TS_AUTHKEY=${TS_AUTHKEY}
- TS_STATE_DIR=/var/lib/tailscale
- TS_SERVE_CONFIG=/config/serve.json # Tailscale Serve configuration to expose the web interface on your local Tailnet - remove this line if not required
- TS_USERSPACE=false
- TS_ENABLE_HEALTH_CHECK=true # Enable healthcheck endpoint: "/healthz"
- TS_LOCAL_ADDR_PORT=127.0.0.1:41234 # The <addr>:<port> for the healthz endpoint
- TS_ACCEPT_DNS=true # Uncomment when using MagicDNS
configs:
- source: ts-serve
target: /config/serve.json
volumes:
- ./config:/config # Config folder used to store Tailscale files - you may need to change the path
- ./ts/state:/var/lib/tailscale # Tailscale requirement - you may need to change the path
devices:
- /dev/net/tun:/dev/net/tun # Network configuration for Tailscale to work
cap_add:
- net_admin # Tailscale requirement
#ports:
# - 0.0.0.0:${SERVICEPORT}:${SERVICEPORT} # Binding port ${SERVICEPORT} to the local network - may be removed if only exposure to your Tailnet is required
# If any DNS issues arise, use your preferred DNS provider by uncommenting the config below
# dns:
# - ${DNS_SERVER}
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://127.0.0.1:41234/healthz"] # Check Tailscale has a Tailnet IP and is operational
interval: 1m # How often to perform the check
timeout: 10s # Time to wait for the check to succeed
retries: 3 # Number of retries before marking as unhealthy
start_period: 10s # Time to wait before starting health checks
restart: always
# ${SERVICE}
application:
image: ${IMAGE_URL} # Image to be used
network_mode: service:tailscale # Sidecar configuration to route ${SERVICE} through Tailscale
container_name: app-${SERVICE} # Name for local container management
environment:
- HOST_DATA_DIR=/app/data
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./dockhand-data:/app/data # Data directory for Dockhand - you may need to change the path
depends_on:
tailscale:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-fsS", "http://127.0.0.1:41234/healthz"] # Check if ${SERVICE} is responding
interval: 1m # How often to perform the check
timeout: 10s # Time to wait for the check to succeed
retries: 3 # Number of retries before marking as unhealthy
start_period: 30s # Time to wait before starting health checks
restart: alwaysWebsite of Service
Would you be willing to work on this service?
- Yes, I'd like to implement this feature
- I could help with parts of this feature
- No, I'm just suggesting the feature
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
new servicerequest to add a new servicerequest to add a new service