This repository enables a Gemserv Docker image to be built which can be deployed to a provider, such as Fly.io, to host public Gemini capsules.
- Version the Docker images using in the Dockerfile
FROM
statements. - Split the various local and Fly files into separate directories.
- Attempt to bring the certificate generation step within the Dockerfiles.
- Docker Compose file for local set up.
- Investigate Fly.io's
tls handshake eof
error (potentially related to thetcp_checks
config section).
- Install mkcert, and run
mkcert example.com
- Update hosts file to include
127.0.0.1 example.com
docker build -f Dockerfile.local -t gemserv-hello-world-local .
docker run -p 1965:1965 gemserv-hello-world-local
- Send a Gemini request via your preferred browser.
- For example with bombadillo:
bombadillo gemini://example.com:1965
(if you have used the domain with different certificates in the past, be sure to purge the locally stored certificates from the browser: this can be achieved in bombadillo with the line command:purge example.com
).
- For example with bombadillo:
- Install
flyctl
, sign up to Fly, and sign in via flyctl. - Choose a name for your application. This will be used by Fly as the subdomin. In the following steps replace
{name}
with this application name. fly launch --copy-config --name {name}
- Install mkcert, and run
mkcert -cert-file fly-cert.pem -key-file fly-key.pem {name}.fly.dev
docker build -f Dockerfile.fly -t gemserv-hello-world-fly --build-arg APP_NAME={name} .
fly deploy --image gemserv-hello-world-fly --local-only
- Send a Gemini request via your preferred browser.
- For example with bombadillo:
bombadillo gemini://{name}.fly.dev:1965
- For example with bombadillo: