1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
# Configuration
Configuration for September is done entirely through environment variables.
## `PORT`
Bind September to a custom port
Generally, you shouldn't touch this option if you are deploying using Docker.
If no `PORT` is provided or the `PORT` could not be properly parsed as an
unsigned 16-bit integer, `PORT` will default to `80`.
```dotenv
PORT=1337
```
## `ROOT`
Root Gemini capsule to proxy when not visiting a "/proxy" route
If no `ROOT` is provided, `ROOT` will default to `"gemini://fuwn.me"`.
```dotenv
ROOT=gemini://fuwn.me
```
## `CSS_EXTERNAL`
A comma-separated list of external CSS files to apply to the HTML response
If no `CSS_EXTERNAL` value is provided, a default stylesheet of
[LaTeX.css](https://latex.vercel.app/) and the styles within
[`default.css`](./default.css) will be applied.
```dotenv
CSS_EXTERNAL=https://cdnjs.cloudflare.com/ajax/libs/mini.css/3.0.1/mini-default.min.css
```
## `KEEP_GEMINI_EXACT`
A comma-separated list of Gemini URIs to keep as is when proxying.
```dotenv
# These two URIs will be kept pointing to their original Gemini URIs when
# proxied instead of being replaced with their proxied equivalents.
KEEP_GEMINI_EXACT=gemini://fuwn.me/something,gemini://fuwn.me/another
```
## `HEAD`
Insert any string at the end of the HTMl `<head>`
```dotenv
HEAD=<script>/* September */</script><style>/* September */</style>
```
## `KEEP_GEMINI_DOMAIN`
Similar to `KEEP_GEMINI_EXACT`, except matches based on entire domain or domains
instead of exact URIs
```dotenv
KEEP_GEMINI_DOMAIN=fuwn.me,example.com
```
## `PROXY_BY_DEFAULT`
Control whether or not all Gemini URLs will be proxied
Similar to `KEEP_GEMINI_EXACT` and `KEEP_GEMINI_DOMAIN`, but global
This configuration value defaults to `true`.
```dotenv
PROXY_BY_DEFAULT=false
```
## `FAVICON_EXTERNAL`
An external favicon file to apply to the HTML response
```dotenv
FAVICON_EXTERNAL=https://example.com/favicon.ico
```
## `PLAIN_TEXT_ROUTE`
A comma-separated list of paths to treat as plain text routes
```dotenv
PLAIN_TEXT_ROUTE=/robots.txt,/license.txt
```
## `MATHJAX`
Enable MathJax support for rendering LaTeX within `$` and `$$` delimiters
This configuration value defaults to `false`.
```dotenv
MATHJAX=true
```
## `HEADER`
Adds a large text header to the top of a proxy page
Only available in styled routes
```dotenv
HEADER="This string will show up at the top of my proxied capsule."
```
## `EMBED_IMAGES
Embed images in the HTML response if a link to an image is found
A value of `1` will enable this feature, while keeping link to the image.
Any non-empty value other than `1` will enable this feature, while removing the link to the image.
```dotenv
EMBED_IMAGES=2
```
## `CONDENSE_LINKS`
Condense adjacent links to a single line
A value of `*` will condense all adjacent links to a single line.
A comma-separated list of paths will condense adjacent links to a single line only on those paths.
### Example
```plaintext
<!-- Not condensed -->
<p><a href="/">Link</a></p>
<p><a href="/">Link</a></p>
<p><a href="/">Link</a></p>
<!-- Condensed -->
<p><a href="/">Link</a> | <a href="/">Link</a> | <a href="/">Link</a></p>
```
## `PRIMARY_COLOUR`
Set the primary colour of elements in the default stylesheet. This field
controls the colour of items such as links and highlights.
Popular choices are `var(--base0D)` for a blue, or `var(--base09)` for an
amber colour.
### Examples
```plaintext
PRIMARY_COLOUR=var(--base09)
PRIMARY_COLOUR=red
PRIMARY_COLOUR=#ff0000
```
|