🔧 Modify Dockerfile
This commit is contained in:
parent
98cb10beb6
commit
4ee5f15f30
12
Dockerfile
12
Dockerfile
@ -2,7 +2,7 @@ FROM golang:latest AS builder
|
|||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# https://tailscale.com/kb/1118/custom-derp-servers/
|
# https://tailscale.com/kb/1118/custom-derp-servers/
|
||||||
RUN go install tailscale.com/cmd/derper@main
|
RUN CGO_ENABLED=0 GOOS=linux go install -tags netgo -ldflags '-w -extldflags "-static"' tailscale.com/cmd/derper@main
|
||||||
|
|
||||||
FROM alpine:latest
|
FROM alpine:latest
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
@ -10,17 +10,21 @@ WORKDIR /app
|
|||||||
RUN apk --no-cache add ca-certificates
|
RUN apk --no-cache add ca-certificates
|
||||||
RUN mkdir /app/certs
|
RUN mkdir /app/certs
|
||||||
|
|
||||||
ENV DERP_DOMAIN example.com
|
ENV DERP_HOSTNAME example.com
|
||||||
|
ENV DERP_CERTMODE letsencrypt
|
||||||
|
ENV DERP_ADDR :443
|
||||||
|
|
||||||
COPY --from=builder /go/bin/derper .
|
COPY --from=builder /go/bin/derper .
|
||||||
|
|
||||||
EXPOSE 80 443 3478
|
EXPOSE 80 443 3478
|
||||||
|
|
||||||
VOLUME ["/app/certs"]
|
VOLUME ["/app/certs"]
|
||||||
|
|
||||||
CMD /app/derper --hostname=$DERP_DOMAIN \
|
CMD /app/derper --hostname=$DERP_HOSTNAME \
|
||||||
|
--a=$DERP_ADDR \
|
||||||
--certdir=/app/certs \
|
--certdir=/app/certs \
|
||||||
--verify-clients=true \
|
--verify-clients=true \
|
||||||
--certmode manual
|
--certmode=$DERP_CERTMODE
|
||||||
|
|
||||||
# derper --help
|
# derper --help
|
||||||
# 使用方法说明:
|
# 使用方法说明:
|
||||||
|
47
README.md
47
README.md
@ -1,33 +1,40 @@
|
|||||||
|
# Environment Variables
|
||||||
|
|
||||||
|
| Name | Description | Default Value |
|
||||||
|
| ------------- | ------------------------------------------------------------------------------------ | ------------- |
|
||||||
|
| DERP_HOSTNAME | Specifies the domain for the DERP server. | `example.com` |
|
||||||
|
| DERP_CERTMODE | Determines the SSL/TLS certificate management mode. Options: `manual`, `letsencrypt` | `letsencrypt` |
|
||||||
|
| DERP_ADDR | Sets the server address and port to bind to. | `:443` |
|
||||||
|
|
||||||
|
# Volumes
|
||||||
|
|
||||||
|
| Name | Description |
|
||||||
|
| ---------- | ------------------------------------------------ |
|
||||||
|
| /app/certs | Directory where SSL/TLS certificates are stored. |
|
||||||
|
|
||||||
# Usage
|
# Usage
|
||||||
|
|
||||||
|
## Running Directly with SSL/TLS
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker run -d --name derper \
|
docker run -d --name derper \
|
||||||
-p 80:80 -p 443:443 -p 3478:3478 \
|
-p 443:443 -p 3478:3478 \
|
||||||
-e DERP_DOMAIN=example.com \
|
-e DERP_DOMAIN=example.com \
|
||||||
|
-e DERP_CERTMODE=manual \
|
||||||
-v /path/to/certs:/app/certs \
|
-v /path/to/certs:/app/certs \
|
||||||
nite07/tailscale-derp-docker:latest
|
nite07/tailscale-derp-docker:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
## Docker Compose
|
## Running Behind a Reverse Proxy
|
||||||
|
|
||||||
```yaml
|
```shell
|
||||||
version: "3.8"
|
docker run -d --name derper \
|
||||||
services:
|
-p 8080:80 -p 3478:3478 \
|
||||||
derper:
|
-e DERP_DOMAIN=example.com \
|
||||||
container_name: derper
|
-e DERP_ADDR=:80 \
|
||||||
ports:
|
nite07/tailscale-derp-docker:latest
|
||||||
- 80:80
|
|
||||||
- 443:443
|
|
||||||
- 3478:3478
|
|
||||||
environment:
|
|
||||||
- DERP_DOMAIN=example.com
|
|
||||||
volumes:
|
|
||||||
- /path/to/certs:/app/certs
|
|
||||||
image: nite07/tailscale-derp-docker:latest
|
|
||||||
```
|
```
|
||||||
|
|
||||||
# Env
|
## Adding DERP servers to your tailnet
|
||||||
|
|
||||||
| Name | Description |
|
reference: https://tailscale.com/kb/1118/custom-derp-servers#step-2-adding-derp-servers-to-your-tailnet
|
||||||
| ----------- | ------------------ |
|
|
||||||
| DERP_DOMAIN | The domain to use. |
|
|
||||||
|
Loading…
Reference in New Issue
Block a user