Initial insert
This commit is contained in:
commit
856d524707
4 changed files with 68 additions and 0 deletions
35
Dockerfile
Normal file
35
Dockerfile
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
# Twins, a simple gemini server and reverse proxy
|
||||||
|
# @Author Twins: Trevor Slocum
|
||||||
|
# @Author Docker build: Aaron Fischer
|
||||||
|
|
||||||
|
# Build
|
||||||
|
FROM golang:1.16-alpine AS builder
|
||||||
|
RUN apk add --no-cache openssl
|
||||||
|
RUN go get -v code.rocketnine.space/tslocum/twins
|
||||||
|
COPY ./localhost.cnf /build/localhost.cnf
|
||||||
|
RUN openssl req \
|
||||||
|
-x509 \
|
||||||
|
-out /build/localhost.crt \
|
||||||
|
-keyout /build/localhost.key \
|
||||||
|
-newkey rsa:2048 \
|
||||||
|
-nodes \
|
||||||
|
-sha256 \
|
||||||
|
-subj '/CN=localhost' \
|
||||||
|
-extensions EXT \
|
||||||
|
-config /build/localhost.cnf
|
||||||
|
|
||||||
|
# Compress
|
||||||
|
FROM gruebel/upx:latest as upx
|
||||||
|
COPY --from=builder /go/bin/twins /app.org
|
||||||
|
RUN upx --best --lzma -o /app /app.org
|
||||||
|
|
||||||
|
# Final image
|
||||||
|
FROM alpine:3.13
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=upx /app /app/twins
|
||||||
|
COPY ./twins.ini /app/config/twins.ini
|
||||||
|
COPY --from=builder /build/localhost.crt /app/certs/localhost.crt
|
||||||
|
COPY --from=builder /build/localhost.key /app/certs/localhost.key
|
||||||
|
EXPOSE 1965
|
||||||
|
CMD ["/app/twins", "-config", "/app/config/twins.ini"]
|
||||||
|
|
7
docker-compose.yml
Normal file
7
docker-compose.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
twins:
|
||||||
|
build: .
|
||||||
|
ports:
|
||||||
|
- 1965:1965
|
11
localhost.cnf
Normal file
11
localhost.cnf
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[dn]
|
||||||
|
CN=localhost
|
||||||
|
|
||||||
|
[req]
|
||||||
|
distinguished_name = dn
|
||||||
|
|
||||||
|
[EXT]
|
||||||
|
subjectAltName=DNS:localhost
|
||||||
|
keyUsage=digitalSignature
|
||||||
|
extendedKeyUsage=serverAuth
|
||||||
|
|
15
twins.ini
Normal file
15
twins.ini
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
listen: :1965
|
||||||
|
disablehttps: true
|
||||||
|
disablesize: true
|
||||||
|
|
||||||
|
hosts:
|
||||||
|
default:
|
||||||
|
paths:
|
||||||
|
- lang: en
|
||||||
|
symlinks: false
|
||||||
|
localhost:
|
||||||
|
cert: /app/certs/localhost.crt
|
||||||
|
key: /app/certs/localhost.key
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
command: echo "Welcome to twins"
|
Loading…
Reference in a new issue