summaryrefslogtreecommitdiff
path: root/spacebeans.conf.example
blob: c5b76944763c8b9d031e09be84834e152cd1d601 (plain)
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
// SpaceBeans gemini server configuration

// listening address/port
address = "127.0.0.1"
port = 1965

// how long until an idle connection is closed
idle-timeout = "10 seconds"

// default MIME type if detection fails
default-mime-type = "text/plain"

// by default a built-in resolver is used and it includes the Gemini MIME type;
// use this to define your own MIME types (will replace the built-in resolver)
// mime-types = {
//     "text/gemini": [".gmi", ".gemini"]
// }

// hosts configuration
virtual-hosts = [
    {
        host = "localhost"
        root = "/var/gemini/localhost/"
        index-file = "index.gmi"

        // default for the virtual host
        directory-listing = true

        // optional parameters for text/gemini
        // gemini-params = "charset=utf-8; lang=en"

        // optional environment variables to pass to CGIs
        // environment = { "VAR1": "VALUE1", "VAR2": "VALUE2" }

        // override defaults, set properties per directory
        // important: directory's path is relative to the root
        //
        // directories = [
        //     { path = "relative/path/", directory-listing = true, allow-cgi = false }
        // ]

        // user directory support
        // important: users are not checked, it only translates
        // gemini://host/~user/ to use the user specific root path
        //
        // user-directories = false
        // user-directory-path = "/home/{user}/public_gemini/"

        // comment out to use an auto-generated self-signed certificate
        key-store {
            path = "/path/to/keystore.jks"
            alias = "localhost"
            password = "secret"
        }
    }
]

// SSL support
gen-cert-valid-for = "365 days"
enabled-protocols = [ "TLSv1.2", "TLSv1.3" ]
enabled-cipher-suites = [
    // TLSv 1.2
    "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
    "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
    "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
    "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
    "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
    "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
    // TLSv 1.3
    "TLS_AES_128_GCM_SHA256",
    "TLS_AES_256_GCM_SHA384"
]