2 .\" Copyright (c) 2022 Omar Polo
4 .\" Permission to use, copy, modify, and distribute this software for any
5 .\" purpose with or without fee is hereby granted, provided that the above
6 .\" copyright notice and this permission notice appear in all copies.
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 .Dd September 23, 2022
20 .Nd galileo configuration file
23 is the run-time configuration file for
26 The file format is line-based, with one configuration directive per line.
27 Any lines beginning with a
29 are treated as comments and ignored.
30 .Sh GLOBAL CONFIGURATION
31 The available global configuration directives are as follows:
37 If not specified, it defaults to
39 the home directory of the www user.
40 .It Ic prefork Ar number
41 Run the specified number of proxy processes.
43 runs 3 proxy processes by default.
45 .Sh PROXY CONFIGURATION
46 At least one proxy must be defined for
50 A proxy context is declared with a unique
52 followed by proxy-specific configuration directive inside curly braces:
54 .Ic proxy Ar name Brq ...
56 The available proxy configuration directives are as follows:
58 .It Ic hostname Ar name
61 used for SNI and the Gemini request.
62 Defaults to the address given in the
65 .It Ic source Ar address Op Ic port Ar port
73 It's the only mandatory option.
74 .It Ic stylesheet Ar path
75 Specify the path to the stylesheet linked in the generated HTML.
76 This must be a valid absolute URI.
79 with prepended the URL prefix on which
83 Do not setup the TLS layer.
84 Useful for saving some CPU cycles when connecting to a Gemini server
85 listening on localhost that is able to speak Gemini without TLS.
86 TLS is enabled by default.
89 .Bl -tag -width Ds -compact
90 .It Pa /etc/galileo.conf
91 Default location of the
96 The following example will proxy the Gemini capsule
97 .Sq gemini://gemini.example.com
101 .Bd -literal -offset indent
102 proxy "www.example.com" {
103 source "gemini.example.com"
107 Alternatively, assuming the Gemini server is running on localhost on a
109 .Bd -literal -offset indent
110 proxy "www.example.com" {
111 source 127.0.0.1 port 10965
112 hostname "gemini.example.com"
116 The matching configuration for
119 .Bd -literal -offset indent
120 server "www.example.com" {
122 listen on * tls port 443
124 certificate "/etc/ssl/example.com.fullchain.pem"
125 key "/etc/ssl/private/example.com.key"
127 location "/.well-known/acme-challenge/*" {
131 location "/galileo.css" {
135 fastcgi socket "/run/galileo.sock"
141 can also be exposed under a URL path prefix.
142 The following example proxies the same Gemini capsule as
143 .Sq www.example.com/galileo/
145 The only change is in the
149 handles this case transparently if the HTTP server properly defines
155 .Bd -literal -offset indent
156 server "www.example.com" {
159 location "/galileo/galileo.css" {
163 location "/galileo/*" {
165 fastcgi socket "/run/galileo.sock"