https://github.com/remko/gemsite
Remko's Gemini Capsule
https://github.com/remko/gemsite
gemini gemini-protocol gemini-server
Last synced: 4 months ago
JSON representation
Remko's Gemini Capsule
- Host: GitHub
- URL: https://github.com/remko/gemsite
- Owner: remko
- Created: 2023-10-16T20:05:42.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-17T14:47:51.000Z (almost 2 years ago)
- Last Synced: 2024-12-30T23:55:05.258Z (over 1 year ago)
- Topics: gemini, gemini-protocol, gemini-server
- Language: Go
- Homepage:
- Size: 4.1 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Remko's Gemini Capsule
[](https://github.com/remko/gemsite/actions/workflows/build.yml)
This repository contains the content and the server for [my Gemini
capsule](gemini://g.mko.re).
Both the server and the builder are written in Go, and don't have any
dependencies (except for the Go standard library)
The [capsule builder](https://github.com/remko/gemsite/blob/main/cmd/buildgemsite/buildgemsite.go) converts Markdown to Gemtext using a simple conversion (without needing a full Markdown parser), and packages everything into a single, self-contained server binary.
The [capsule server](https://github.com/remko/gemsite/blob/main/gemsite.go) supports:
- Serving static files
- Search
- Microblog, dynamically fetched from Mastodon
- Administration operations (e.g. collecting a CPU profile) using TLS Client Certificate
authentication

# Ops
## Initializing
Create a server key and certificate:
make server.crt
Create an admin user certificate:
make admin.crt
## Building
make
To cross-compile it to a Raspberry PI:
make BUILD_RPI=1
## Installing (Debian/Raspbian)
- Install in `/opt/gemsite`
- Create link to `/opt/gemsite/init/gemsite.service` in
`/etc/systemd/system/gemsite.service`
- `systemctl daemon-reload`
- `systemctl enable gemsite`
- `service gemsite start`
## Check status/logs
journalctl -f -n 50 -u gemsite
## Restart
systemctl restart gemsite