4 changed files with 96 additions and 0 deletions
@ -0,0 +1,28 @@ |
|||
FROM alpine:latest as builder |
|||
WORKDIR /app |
|||
COPY . ./ |
|||
# This is where one could build the application code as well. |
|||
|
|||
|
|||
FROM alpine:latest as tailscale |
|||
WORKDIR /app |
|||
COPY . ./ |
|||
ENV TSFILE=tailscale_1.24.2_amd64.tgz |
|||
RUN wget https://pkgs.tailscale.com/stable/${TSFILE} && tar xzf ${TSFILE} --strip-components=1 |
|||
COPY . ./ |
|||
|
|||
|
|||
# https://docs.docker.com/develop/develop-images/multistage-build/#use-multi-stage-builds |
|||
FROM alpine:latest |
|||
RUN apk update && apk add --no-cache ca-certificates iptables ip6tables nginx |
|||
|
|||
# Copy binary to production image |
|||
COPY --from=builder /app/start.sh /app/start.sh |
|||
COPY --from=tailscale /app/tailscaled /app/tailscaled |
|||
COPY --from=tailscale /app/tailscale /app/tailscale |
|||
RUN mkdir -p /var/run/tailscale /var/cache/tailscale /var/lib/tailscale |
|||
COPY nginx.conf /etc/nginx/http.d/nginx.conf |
|||
|
|||
# Run on container startup. |
|||
EXPOSE 8080 |
|||
CMD ["/app/start.sh"] |
@ -0,0 +1,40 @@ |
|||
# fly.toml file generated for white-wave-7409 on 2022-05-02T16:24:11-03:00 |
|||
|
|||
app = "white-wave-7409" |
|||
|
|||
kill_signal = "SIGINT" |
|||
kill_timeout = 5 |
|||
processes = [] |
|||
|
|||
[deploy] |
|||
strategy = "rolling" |
|||
|
|||
[env] |
|||
|
|||
[experimental] |
|||
allowed_public_ports = [8080] |
|||
auto_rollback = true |
|||
|
|||
[[services]] |
|||
internal_port = 8080 |
|||
protocol = "tcp" |
|||
|
|||
[services.concurrency] |
|||
hard_limit = 25 |
|||
soft_limit = 20 |
|||
type = "connections" |
|||
|
|||
[[services.ports]] |
|||
force_https = true |
|||
handlers = ["http"] |
|||
port = 80 |
|||
|
|||
[[services.ports]] |
|||
handlers = ["tls", "http"] |
|||
port = "443" |
|||
|
|||
[[services.tcp_checks]] |
|||
grace_period = "1s" |
|||
interval = "15s" |
|||
restart_limit = 0 |
|||
timeout = "2s" |
@ -0,0 +1,23 @@ |
|||
server { |
|||
listen 8080; |
|||
listen [::]:8080; |
|||
|
|||
server_name home.ralsina.me; |
|||
|
|||
location / { |
|||
proxy_pass http://pinky.ralsina.github.beta.tailscale.net:8080; |
|||
proxy_set_header X-Forwarded-Host $http_host; |
|||
} |
|||
} |
|||
|
|||
server { |
|||
listen 8080; |
|||
listen [::]:8080; |
|||
|
|||
server_name git.ralsina.me; |
|||
|
|||
location / { |
|||
proxy_pass http://pinky.ralsina.github.beta.tailscale.net:3000; |
|||
proxy_set_header X-Forwarded-Host $http_host; |
|||
} |
|||
} |
@ -0,0 +1,5 @@ |
|||
#!/bin/sh |
|||
|
|||
/app/tailscaled --state=/var/lib/tailscale/tailscaled.state --socket=/var/run/tailscale/tailscaled.sock & |
|||
/app/tailscale up --authkey=${TAILSCALE_AUTHKEY} --hostname=reverseproxy |
|||
/usr/sbin/nginx -c /etc/nginx/nginx.conf -g 'daemon off;' |
Loading…
Reference in new issue