Troubles w/ hosting gemini server from

I’m trying to host a Gemini server using the Agate project. Since Gemini is a different protocol from http, my fly.toml file looks like this:


  dockerfile = "Dockerfile.agate"

  internal_port = 1965
  protocol = "tcp"
  processes = ["app"]  
    port = 1965

My dockerfile looks like this:

FROM alpine:latest
EXPOSE 1965 # Note that Gemini apps are served from port 1965.
RUN apk add cargo && wget -O source.tar.gz $(wget -qO- | sed -nE 's/^.*"tarball_url"\s*:\s*"([^"]+)".*$/\1/p')&& tar xzf source.tar.gz && mv /mbrubeck-agate-* /agate && cd agate && cargo build --release
RUN cp /agate/target/release/agate /usr/bin/agate
COPY ./ ./
ENTRYPOINT ["/bin/sh", ""]

and the entrypoint consists merely of this:

exec agate --content /var/gemini/ --addr --hostname --lang en-US --certs /var/certs 

My dockerfile works locally; I can build the image and run it from Docker Desktop and the server works just fine.

From the logs, it looks like my server starts successfully:

[agate] Started listener on

However, it doesn’t seem to receive requests made from my browser; no requests are logged, so it seems as though requests aren’t making it through.

Would appreciate any help!

Just a wild guess: does fly ips list show your ipv4 address is shared? You may need a dedicated ipv4 address to make this work.

ah interesting, yes, my ipv4 address appears to be shared. Thank you for this insight!

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.