diff --git a/.gitea/workflows/container.yaml b/.gitea/workflows/container.yaml index 14bc82c..e2195e8 100644 --- a/.gitea/workflows/container.yaml +++ b/.gitea/workflows/container.yaml @@ -10,9 +10,9 @@ name: Container image on: push: branches: - - '**' + - "**" tags: - - 'v*' + - "v*" pull_request: permissions: @@ -108,7 +108,7 @@ jobs: uses: docker/build-push-action@v6 with: context: . - file: ./Dockerfile + file: ./docker/Dockerfile platforms: linux/amd64,linux/arm64 push: ${{ github.event_name == 'push' }} tags: ${{ steps.meta.outputs.tags }} diff --git a/Dockerfile b/docker/Dockerfile similarity index 100% rename from Dockerfile rename to docker/Dockerfile diff --git a/docker/docker-compose-tailscale.yml b/docker/docker-compose-tailscale.yml new file mode 100644 index 0000000..c7c6a7b --- /dev/null +++ b/docker/docker-compose-tailscale.yml @@ -0,0 +1,37 @@ +# An example of a docker compose with Tailscale & QUptime. +# This setup is specifically intended for hosts that may not be able to reach each other directly or have a public IP address. + +services: + tailscale: + image: tailscale/tailscale:latest + container_name: tailscale + cap_add: + - NET_ADMIN + environment: + - TS_AUTHKEY=${TAILSCALE_AUTHKEY} # Set this in your .env file with a Tailscale auth key + - TS_HOSTNAME=quptime-tailscale + volumes: + - /dev/net/tun:/dev/net/tun + - tailscale:/var/lib/tailscale + restart: unless-stopped + + quptime: + image: git.cer.sh/axodouble/quptime:master + container_name: quptime + volumes: + - quptime:/etc/quptime + ports: + - "9901:9901" + depends_on: + - tailscale + # No restart directive, user needs to init quptime first + # Run `docker compose -f docker-compose-tailscale.yml run --rm quptime init` to initialize + # the data volume before starting the service + # If this is not the master node, use + # `docker compose -f docker-compose-tailscale.yml run --rm quptime --advertise :9901 --secret ` + # And add the individual nodes to the cluster with `docker compose -f docker-compose-tailscale.yml run --rm quptime node add :9901` + network_mode: "service:tailscale" # Use the Tailscale network stack + +volumes: + tailscale: + quptime: \ No newline at end of file