basic functionality
This commit is contained in:
commit
ba39ec1a21
5 changed files with 68 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
*.crt
|
||||
*.key
|
18
Dockerfile
Normal file
18
Dockerfile
Normal file
|
@ -0,0 +1,18 @@
|
|||
FROM golang:1.16-alpine AS build
|
||||
RUN apk add --no-cache git
|
||||
WORKDIR /build
|
||||
RUN git clone https://code.rocketnine.space/tslocum/twins.git
|
||||
|
||||
WORKDIR /build/twins
|
||||
RUN go build
|
||||
|
||||
FROM gruebel/upx as upx
|
||||
COPY --from=build /build/twins/twins /twins-uncompressed
|
||||
RUN upx --best --lzma -o /twins /twins-uncompressed
|
||||
|
||||
FROM alpine:3.13
|
||||
WORKDIR /app
|
||||
COPY --from=upx /twins /app/twins
|
||||
|
||||
EXPOSE 1965
|
||||
CMD ["/app/twins", "-config", "/app/config.yaml"]
|
20
README.md
Normal file
20
README.md
Normal file
|
@ -0,0 +1,20 @@
|
|||
# docker-twins
|
||||
|
||||
A basic Dockerfile and docker-compose file for the [twins](https://code.rocketnine.space/tslocum/twins) Gemini server.
|
||||
|
||||
## Certs
|
||||
|
||||
Don't forget to map at least one certificate and key in the docker-compose file. You will also have to reference this key in the configuration file.
|
||||
|
||||
## Configuration file
|
||||
|
||||
First, please see the [twins configuration guide](https://code.rocketnine.space/tslocum/twins/src/branch/master/CONFIGURATION.md) for information on the config format config.yaml.
|
||||
|
||||
The image is set up to read the configuration file from `/app/config.yaml`. You'll want to map this in your docker-compose file.
|
||||
|
||||
Inside your `config.yaml`, specify both `cert` and `key` with your certificate. This should match the certificate and key mapped in your docker-compose file.
|
||||
|
||||
## Hosting a directory
|
||||
|
||||
When hosting a directory you'll of course have to map it in the docker-compose file!
|
||||
|
13
config.yaml
Normal file
13
config.yaml
Normal file
|
@ -0,0 +1,13 @@
|
|||
listen: :1965
|
||||
|
||||
hosts:
|
||||
default:
|
||||
cert: cert.crt
|
||||
key: cert.key
|
||||
paths:
|
||||
- lang: en
|
||||
|
||||
localhost:
|
||||
paths:
|
||||
- path: /
|
||||
command: printf "# Hello Geminaut!\nIt works! Now, you'll want to modify this config file."
|
15
docker-compose.yml
Normal file
15
docker-compose.yml
Normal file
|
@ -0,0 +1,15 @@
|
|||
version: "3.9"
|
||||
|
||||
services:
|
||||
twins:
|
||||
image: "vivicat/twins"
|
||||
build: .
|
||||
volumes:
|
||||
- ./config.yaml:/app/config.yaml
|
||||
- ./cert.crt:/app/cert.crt
|
||||
- ./cert.key:/app/cert.key
|
||||
- ./capsule:/app/capsule
|
||||
- ./cabbage:/app/cabbage
|
||||
ports:
|
||||
- "1965:1965"
|
||||
|
Loading…
Reference in a new issue