From 51f87b481131118af8790b5d210daadca37bd172 Mon Sep 17 00:00:00 2001 From: worker1 Date: Wed, 25 Jun 2025 21:56:33 -0400 Subject: [PATCH] done --- README.md | 53 ++++++++++++++++++++----------------- docker-compose.yml | 27 ++++++++++++++----- tailscale/config/serve.json | 2 +- 3 files changed, 50 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 421f25e..c101b45 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# {{Service}} with Tailscale Integration +# SmokePing with Tailscale Integration -![{{Service}} with Tailscale](https://damconsulting.llc/images/logo_yellow.svg "{{Service}}") +![SmokePing with Tailscale](https://images.g2crowd.com/uploads/product/image/social_landscape/social_landscape_5ca8465f5b01fc1048c47aba6f79b6c6/smokeping.png "SmokePing") -This project sets up a {{Service}} instance with Tailscale VPN integration using Docker Compose. It creates a secure, private network connection for your {{Service}} instance using Tailscale. +This project sets up a SmokePing instance with Tailscale VPN integration using Docker Compose. It creates a secure, private network connection for your SmokePing instance using Tailscale. ## Prerequisites @@ -12,33 +12,37 @@ This project sets up a {{Service}} instance with Tailscale VPN integration using ## Project Structure ``` -ts-{{service}}/ +ts-smokeping/ ├── docker-compose.yml ├── tailscale/ │ ├── tailscale-data/ # Persistent Tailscale state │ └── config/ # Tailscale configuration files -└── {{service}}/ - └── config/ # {{Service}} configuration files +└── smokeping/ + ├── data/ # SmokePing data files + └── config/ # SmokePing configuration files ``` ## Setup Instructions 1. **Clone the Repository** ```bash - git clone https://gitea.damconsulting.llc/DAM/ts-{{service}} - cd ts-{{service}} + git clone https://gitea.damconsulting.llc/DAM/ts-smokeping.git + cd ts-smokeping ``` 2. Create Required Directories ```bash mkdir -p tailscale/tailscale-data + mkdir -p smokeping/data + mkdir -p smokeping/config ``` 3. Configure Tailscale - Replace `{{YOUR_TAILSCALE_AUTHKEY}}` in the docker-compose.yml with your actual Tailscale auth key - Optionally, update the file in `tailscale/config/serve.json` if you need specific Tailscale serve configurations - CAUTION: Changing `"${TS_CERT_DOMAIN}:443": false` to `true` will expose the service to the internet -4. Configure {{Service}} - - See the [documentation]({{service_docs}}) for configuration options +4. Configure SmokePing + - See the [documentation](https://oss.oetiker.ch/smokeping/doc/smokeping_cgi.en.html) for configuration options + - Linux Server IO Docker [Config](https://docs.linuxserver.io/images/docker-smokeping/#usage) 5. Start the Services ```bash @@ -48,30 +52,30 @@ ts-{{service}}/ 6. Wait for Certificate to propagate [~2m] 7. Login - - After starting the services your service should be available via tailnet at https://{{service}}.{{YOUR_TAILNET_DOMAIN}}.ts.net ie https://{{service}}.tail12345.ts.net/ + - After starting the services your service should be available via tailnet at https://smokeping.{{YOUR_TAILNET_DOMAIN}}.ts.net ie https://smokeping.tail12345.ts.net/ ## Services -### {{service}}-ts (Tailscale) +### smokeping-ts (Tailscale) - Runs Tailscale VPN client - Image: tailscale/tailscale:latest -- Container name: {{service}}-ts -- Hostname: {{service}} +- Container name: smokeping-ts +- Hostname: smokeping - Requires NET_ADMIN and SYS_MODULE capabilities - Persists state in ./tailscale/tailscale-data - Uses configuration from ./tailscale/config -### {{service}} +### smokeping -- Depends on {{service}}-ts service +- Depends on smokeping-ts service ## Usage -- After starting the services your service should be available via tailnet at `https://{{service}}.{{YOUR_TAILNET_DOMAIN}}.ts.net` ie `https://{{service}}.tail12345.ts.net/` +- After starting the services your service should be available via tailnet at `https://smokeping.{{YOUR_TAILNET_DOMAIN}}.ts.net` ie `https://smokeping.tail12345.ts.net/` - To manually get the Tailscale IP/hostname of your container: ```bash - docker logs {{service}}-ts + docker logs smokeping-ts ``` Look for the Tailscale IP address in the logs. @@ -80,7 +84,7 @@ ts-{{service}}/ - Uncomment and adjust the ports mapping if you need direct access (without Tailscale): ```yaml ports: - - 3000:3000 + - 80:80 ``` - Stopping the Services ```bash @@ -90,19 +94,18 @@ ts-{{service}}/ ## Troubleshooting - Check container logs: ```bash - docker logs {{service}}-ts - docker logs {{service}} + docker logs smokeping-ts + docker logs smokeping ``` - Ensure your Tailscale auth key is valid and not expired - Verify the configuration files have proper permissions - Make sure required directories exist before starting ## Notes -- The {{Service}} service uses the Tailscale service's network stack via `network_mode: service:{{service}}-ts` +- The SmokePing service uses the Tailscale service's network stack via `network_mode: service:smokeping-ts` - Direct port mapping is disabled by default as Tailscale handles the networking - Services restart automatically unless explicitly stopped - For more information: - Tailscale documentation: https://tailscale.com/kb/ - - {{Service}} [documentation]({{service_docs}}) - - {{Service}} [repository]({{service_repo}}) - - {{Service}} [linuxserve.io]({{service_lcsr}}) \ No newline at end of file + - SmokePing [documentation](https://oss.oetiker.ch/smokeping/doc/smokeping_cgi.en.html) + - SmokePing [repository](https://github.com/linuxserver/docker-documentation) diff --git a/docker-compose.yml b/docker-compose.yml index 72aa767..8dba7d0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,8 @@ services: - {{service}}-ts: + smokeping-ts: image: tailscale/tailscale:latest - hostname: {{service}} - container_name: {{service}}-ts + hostname: smokeping + container_name: smokeping-ts environment: - TS_AUTHKEY={{YOUR_TAILSCALE_AUTHKEY}} - TS_STATE_DIR=/var/lib/tailscale @@ -15,7 +15,22 @@ services: - net_admin - sys_module restart: unless-stopped - {{service-compose}} - network_mode: service:{{service}}-ts + smokeping: + image: lscr.io/linuxserver/smokeping:latest + container_name: smokeping + environment: + - PUID=1000 + - PGID=1000 + - TZ=Etc/UTC + - MASTER_URL=http://127.0.0.1:80/smokeping/ #optional + - SHARED_SECRET=password #optional + - CACHE_DIR=/tmp #optional + volumes: + - ./smokeping/config:/config + - ./smokeping/data:/data + # ports: + # - 80:80 + restart: unless-stopped + network_mode: service:smokeping-ts depends_on: - - {{service}}-ts \ No newline at end of file + - smokeping-ts \ No newline at end of file diff --git a/tailscale/config/serve.json b/tailscale/config/serve.json index 121ffb8..2c5b75b 100644 --- a/tailscale/config/serve.json +++ b/tailscale/config/serve.json @@ -8,7 +8,7 @@ "${TS_CERT_DOMAIN}:443": { "Handlers": { "/": { - "Proxy": "http://127.0.0.1:3000" + "Proxy": "http://127.0.0.1:80" } } }