mirror of
https://github.com/juanfont/headscale.git
synced 2024-12-11 18:54:25 +00:00
63 lines
1.7 KiB
Docker
63 lines
1.7 KiB
Docker
FROM golang:alpine
|
|
|
|
# Set necessary environmet variables needed for our image
|
|
ENV GO111MODULE=on \
|
|
CGO_ENABLED=0 \
|
|
GOOS=linux \
|
|
GOARCH=amd64
|
|
|
|
|
|
|
|
ENV PATH /usr/lib/postgresql/$PG_MAJOR/bin:$PATH
|
|
ENV PGDATA /var/lib/postgresql/data
|
|
ENV POSTGRES_DB headscale
|
|
ENV POSTGRES_USER admin
|
|
|
|
ENV LANG en_US.utf8
|
|
|
|
RUN apk update && \
|
|
apk add git su-exec tzdata libpq postgresql-client postgresql postgresql-contrib gnupg supervisor inotify-tools wireguard-tools openssh && \
|
|
mkdir /docker-entrypoint-initdb.d && \
|
|
rm -rf /var/cache/apk/*
|
|
|
|
RUN gpg --keyserver ipv4.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4
|
|
RUN gpg --list-keys --fingerprint --with-colons | sed -E -n -e 's/^fpr:::::::::([0-9A-F]+):$/\1:6:/p' | gpg --import-ownertrust
|
|
RUN wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/1.7/gosu-amd64" && \
|
|
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/1.7/gosu-amd64.asc" && \
|
|
gpg --verify /usr/local/bin/gosu.asc && \
|
|
rm /usr/local/bin/gosu.asc && \
|
|
chmod +x /usr/local/bin/gosu
|
|
RUN apk --purge del gnupg ca-certificates
|
|
|
|
VOLUME /var/lib/postgresql/data
|
|
|
|
|
|
|
|
|
|
RUN rm -rf /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_dsa_key
|
|
|
|
WORKDIR /build
|
|
|
|
RUN git clone https://github.com/juanfont/headscale.git
|
|
|
|
WORKDIR /build/headscale
|
|
|
|
RUN go build cmd/headscale/headscale.go
|
|
|
|
COPY headscale.sh /headscale.sh
|
|
COPY postgres.sh /postgres.sh
|
|
COPY supervisord.conf /etc/supervisord.conf
|
|
|
|
WORKDIR /
|
|
|
|
RUN mkdir -p /run/postgresql
|
|
RUN chown postgres:postgres /run/postgresql
|
|
|
|
RUN adduser -S headscale
|
|
|
|
#ENV GIN_MODE release
|
|
|
|
EXPOSE 8000
|
|
|
|
CMD ["supervisord","--nodaemon", "--configuration", "/etc/supervisord.conf"]
|