A web client for Gemini! https://swee.codes/apps/gem2browser
Find a file
swee 5e3caac095
All checks were successful
Create Docker image (unstable) / deploy (push) Successful in 1m8s
Test web app / Check syntax (push) Successful in 8s
Test web app / Test server with Flask Dev Mode (push) Successful in 14s
Test web app / Test server with Gunicorn (WSGI) (push) Successful in 11s
Test web app / Test server with Hypercorn (ASGI) (push) Successful in 13s
use gunicorn instead of hypercorn
2025-08-15 15:45:42 -07:00
.forgejo/workflows Update .forgejo/workflows/docker-unstable.yml 2025-08-06 18:31:42 -07:00
.gitignore
cross-server.png Upload files to "/" 2025-01-13 15:35:25 -08:00
Dockerfile Update Dockerfile 2025-06-25 16:46:34 -07:00
external.png Upload files to "/" 2025-01-13 15:35:25 -08:00
gem2browser-icon.svg Upload files to "/" 2025-03-25 18:46:04 -07:00
gem2browser.png Upload files to "/" 2025-01-14 17:28:48 -08:00
gem2browser.service Add gem2browser.service 2025-01-18 22:18:35 -08:00
gem2browser.svg Upload files to "/" 2025-01-14 17:28:48 -08:00
home.html Update home.html 2025-05-07 13:48:56 -07:00
LICENSE
loadcert.html Update loadcert.html 2025-01-15 21:33:05 -08:00
README.md use gunicorn instead of hypercorn 2025-08-15 15:45:42 -07:00
server.py Update server.py 2025-07-20 10:39:04 -07:00
style.css Update style.css 2025-01-20 14:27:06 -08:00
version Update version 2025-02-16 21:28:42 -08:00
write.png Upload files to "/" 2025-02-16 21:15:59 -08:00

Gem2Browser

"Take the web by storm."

A Gemini relay for HTTP using Python flask

Requirements:

  • Python 3
    • Flask
    • Hypercorn (or any other flask compatible WSGI/ASGI)
    • PyOpenSSL

Installation

Docker Compose

Use this docker-compose.yml

services:
  gem2browser:
    image: git.swee.codes/swee/gem2browser:latest
    restart: unless-stopped
    ports:
      - 2009:2009/tcp
    volumes:
      - ./certs:/root/certs

On your host

Install packages

Pip

pip install pyopenssl gunicorn flask asgiref

Debian/Ubuntu

sudo apt install gunicorn python3-flask python3-openssl

Alpine

apk add py3-openssl py3-flask py3-pip py3-gunicorn

Run server

guicorn --bind 0.0.0.0:2009 server:app