mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-30 23:51:03 +01: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"]
 |