💾 Archived View for gemini.wolffy.eu › gemlog › gemini.wolffy.eu › gemlog › 2024-08-23-Setup-Gemini-… captured on 2024-08-24 at 23:34:37. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
I couldnt find any prebuilt Molly-Brown Containers so i had to build one myself.
Thanks to the help of MinimalistWolf on Reddit i got an Example Dockerfile which i had to edit a bit to fit my needs.
FROM golang:alpine3.15 AS builder
ENV GOPATH /root/go
RUN mkdir /root/go && go install tildegit.org/solderpunk/molly-brown@latest
FROM alpine:latest
EXPOSE 1965
COPY --from=builder /root/go/bin/molly-brown /usr/sbin/molly-brown
RUN adduser -D -s /sbin/nologin molly && mkdir /home/molly/ssl /var/gemini
RUN chown -R molly: /var/gemini
USER molly
CMD ["/usr/sbin/molly-brown -c /etc/molly/molly.conf"]
Since i already have a NginxProxyManager Container running i gave it the job of managing the Let's Encrypt certificates for Molly-Brown which sadly came with its own problems.
To make my life a little more easy managing my capsule i added a sftp container to be able to quickly upload changes to my capsule.
services:
change-vol-ownership:
image: ubuntu
user: "root"
group_add:
- '1000'
volumes:
- nginx-proxy-manager_letsencrypt:/tmp/certs
- config:/tmp/config
command: bash -c "cp /tmp/certs/live/npm-6/fullchain.pem /tmp/config/certs && cp /tmp/certs/live/npm-6/privkey.pem /tmp/config/certs && chown -R 1000:1000 /tmp/config/certs"
molly-brown:
image: molly-brown:latest
ports:
- "1965:1965"
volumes:
- config:/etc/molly/
- content:/var/gemini/
- nginx-proxy-manager_letsencrypt:/etc/letsencrypt:ro
restart: always
command:
- /usr/sbin/molly-brown
- -c
- /etc/molly/molly.conf
user: molly
depends_on:
change-vol-ownership:
condition: service_completed_successfully
sftp:
image: atmoz/sftp
volumes:
- config:/home/wolffy/config
- content:/home/wolffy/content
- sshKeys:/home/wolffy/.ssh/keys
- ssh:/etc/ssh/
ports:
- "2222:22"
command: wolffy::1000
volumes:
config:
content:
sshKeys:
ssh:
nginx-proxy-manager_letsencrypt:
external: true