Compare commits

..

2 commits

Author SHA1 Message Date
7942c91188 Add uptime-kuma image with tailscale 2022-11-22 10:15:29 -05:00
04992fc57d Add custom headscale dockerfile 2022-11-22 10:03:44 -05:00
4 changed files with 65 additions and 0 deletions

33
headscale/Dockerfile Normal file
View file

@ -0,0 +1,33 @@
# Builder image
FROM docker.io/golang:1.19.0-bullseye AS build
ARG VERSION=v0.17.0-beta4
ENV GOPATH /go
RUN apt-get install -y git && \
git clone https://github.com/juanfont/headscale -b $VERSION /go/src/headscale
WORKDIR /go/src/headscale
RUN go mod download
RUN CGO_ENABLED=0 GOOS=linux go install -tags ts2019 -ldflags="-s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=$VERSION" -a ./cmd/headscale
RUN strip /go/bin/headscale
RUN test -e /go/bin/headscale
# Production image
# Note that we do not use "distroless" because we actually want to have a shell in the image
# to run app.sh (in order to perform custom initialization)
FROM docker.io/golang:1.19.0-bullseye
COPY --from=build /go/bin/headscale /bin/headscale
ENV TZ UTC
ADD app.sh /
RUN chmod +x /app.sh
EXPOSE 8080/tcp
# State path
# Note that configuration should be mounted or added in /etc/headscale
VOLUME /var/lib/headscale
CMD ["/app.sh"]

5
headscale/app.sh Normal file
View file

@ -0,0 +1,5 @@
#!/bin/sh
touch /var/lib/headscale/db.sqlite
mkdir /var/lib/headscale/.cache
exec headscale -c /etc/headscale/config.yaml serve

View file

@ -0,0 +1,21 @@
# Uptime Kuma image with an ephemeral Tailscale daemon included
# Used on fly.io because it does not support sidecar containers
# The tailscale ephemeral key should be provided via the env variable TAILSCALE_KEY
# custom tailscale control plane can be specified with TAILSCALE_SERVER
FROM louislam/uptime-kuma:1.18.5
# Default tailscale login server
ENV TAILSCALE_SERVER=https://controlplane.tailscale.com
ENV TAILSCALE_HOSTNAME=uptime-kuma
RUN apt update && apt install -y curl bash iptables
RUN curl -fsSL https://pkgs.tailscale.com/stable/debian/bullseye.noarmor.gpg | tee /usr/share/keyrings/tailscale-archive-keyring.gpg
RUN curl -fsSL https://pkgs.tailscale.com/stable/debian/bullseye.tailscale-keyring.list | tee /etc/apt/sources.list.d/tailscale.list
RUN apt update && apt install -y tailscale
COPY run.sh /
RUN chmod +x /run.sh
CMD [ "/run.sh" ]

View file

@ -0,0 +1,6 @@
#!/usr/bin/env bash
/usr/sbin/tailscaled -state=mem: &
sleep 1
tailscale up --login-server=$TAILSCALE_SERVER --authkey=$TAILSCALE_KEY --hostname=$TAILSCALE_HOSTNAME
node /app/server/server.js