# Gemserv for YunoHost [![Integration level](https://dash.yunohost.org/integration/gemserv.svg)](https://dash.yunohost.org/appci/app/gemserv) ![Working status](https://ci-apps.yunohost.org/ci/badges/gemserv.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/gemserv.maintain.svg) [![Install Gemserv with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=gemserv) *[Lire ce readme en français.](./README_fr.md)* > *This package allows you to install Gemserv quickly and simply on a YunoHost server. If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview A gemini server written in rust. ### Features - Vhosts - CGI - User directories - Reverse proxy - Redirect - SCGI - Reload config on SIGHUP **Shipped version:** 0.6.6~ynh5 *(:warning: This is the `testing` branch. The [`master` branch](https://github.com/YunoHost-Apps/gemserv_ynh/tree/master) used in the catalog is currently on version 0.6.6\~ynh4.)* ## Disclaimers / important information Please note that Gemserv uses the TCP port 1965, so you can't use it for anything else. To add a gemini capsule, create a `/etc/gemserv/config.d/example.toml` file as following: ``` toml [[server]] hostname = "yourdomain.org" dir = "/opt/yunohost/gemserv" key = "/etc/yunohost/certs/yourdomain.org/key.pem" cert = "/etc/yunohost/certs/yourdomain.org/crt.pem" # index is optional but defaults to index.gemini. The server will serve files # ending in gemini or gmi. index = "index.gmi" # lang is optional lang = "en" # cgi is optional bool cgi = true # cgipath is optional and only checked if cgi is true. It restricts cgi to only # this directory. cgipath = "/path/to/cgi-bin/" # scgi is optional scgi = { "/scgi" = "localhost:4000" } # cgienv is optional cgienv = { "GIT_PROJECT_ROOT" = "/srv/git" } # usrdir is optional. it'll look in each user's ~/public_gemini usrdir = true # proxy is optional # path is what comes after the hostname e.g. example.com/path proxy = { path = "localhost:1966" } # proxy_all is optional # It will send all requests to the specified server. It also supports streamming. proxy_all = "localhost:1967" # redirect is optional redirect = { "/redirect" = "/", "/newdomain" = "gemini://example.net" } ``` ## Documentation and resources * Upstream app code repository: * YunoHost documentation for this app: * Report a bug: ## Developer info Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/gemserv_ynh/tree/testing). To try the testing branch, please proceed like that. ``` bash sudo yunohost app install https://github.com/YunoHost-Apps/gemserv_ynh/tree/testing --debug or sudo yunohost app upgrade gemserv -u https://github.com/YunoHost-Apps/gemserv_ynh/tree/testing --debug ``` **More info regarding app packaging:**