config.yaml
1# Soft Serve Server configurations
2
3# The name of the server.
4# This is the name that will be displayed in the UI.
5name: "Kilimanjaro Git"
6
7# Logging configuration.
8log:
9 # Log format to use. Valid values are "json", "logfmt", and "text".
10 format: "json"
11 # Time format for the log "timestamp" field.
12 # Should be described in Golang's time format.
13 time_format: "2006-01-02 15:04:05"
14 # Path to the log file. Leave empty to write to stderr.
15 #path: ""
16
17# The SSH server configuration.
18ssh:
19 # Enable SSH.
20 enabled: true
21
22 # The address on which the SSH server will listen.
23 listen_addr: ":23231"
24
25 # The public URL of the SSH server.
26 # This is the address that will be used to clone repositories.
27 public_url: "ssh://git.kilimanjaro.io:23231"
28
29 # The path to the SSH server's private key.
30 key_path: ssh/soft_serve_host_ed25519
31
32 # The path to the server's client private key. This key will be used to
33 # authenticate the server to make git requests to ssh remotes.
34 client_key_path: ssh/soft_serve_client_ed25519
35
36 # The maximum number of seconds a connection can take.
37 # A value of 0 means no timeout.
38 max_timeout: 600
39
40 # The number of seconds a connection can be idle before it is closed.
41 # A value of 0 means no timeout.
42 idle_timeout: 600
43
44# The Git daemon configuration.
45git:
46 # Enable the Git daemon.
47 enabled: true
48
49 # The address on which the Git daemon will listen.
50 listen_addr: ":9418"
51
52 # The public URL of the Git daemon server.
53 # This is the address that will be used to clone repositories.
54 public_url: "git://git.kilimanjaro.io"
55
56 # The maximum number of seconds a connection can take.
57 # A value of 0 means no timeout.
58 max_timeout: 15
59
60 # The number of seconds a connection can be idle before it is closed.
61 idle_timeout: 3
62
63 # The maximum number of concurrent connections.
64 max_connections: 32
65
66# The HTTP server configuration.
67http:
68 # Enable the HTTP server.
69 enabled: true
70
71 # The address on which the HTTP server will listen.
72 # Bind to localhost only - Caddy will proxy external requests
73 listen_addr: "localhost:23232"
74
75 # The path to the TLS private key.
76 tls_key_path:
77
78 # The path to the TLS certificate.
79 tls_cert_path:
80
81 # The public URL of the HTTP server.
82 # This is the address that will be used to clone repositories.
83 # Caddy provides HTTPS termination at the edge.
84 public_url: "https://git.kilimanjaro.io"
85
86 # The cross-origin request security options
87 cors:
88 # The allowed cross-origin headers
89 allowed_headers:
90 - "Accept"
91 - "Accept-Language"
92 - "Content-Language"
93 - "Content-Type"
94 - "Origin"
95 - "X-Requested-With"
96 - "User-Agent"
97 - "Authorization"
98 - "Access-Control-Request-Method"
99 - "Access-Control-Allow-Origin"
100 # The allowed cross-origin URLs
101 allowed_origins:
102 - "http://localhost:23232" # always allowed
103 - "https://git.kilimanjaro.io"
104 # The allowed cross-origin methods
105 allowed_methods:
106 - "GET"
107 - "HEAD"
108 - "POST"
109 - "PUT"
110 - "OPTIONS"
111
112# The stats server configuration.
113stats:
114 # Enable the stats server.
115 enabled: true
116
117 # The address on which the stats server will listen.
118 listen_addr: "localhost:23233"
119
120# The database configuration.
121db:
122 # The database driver to use.
123 # Valid values are "sqlite" and "postgres".
124 driver: "sqlite"
125 # The database data source name.
126 # This is driver specific and can be a file path or connection string.
127 # Make sure foreign key support is enabled when using SQLite.
128 data_source: "soft-serve.db?_pragma=busy_timeout(5000)&_pragma=foreign_keys(1)&_journal=WAL"
129
130# Git LFS configuration.
131lfs:
132 # Enable Git LFS.
133 enabled: true
134 # Enable Git SSH transfer.
135 ssh_enabled: false
136
137# Cron job configuration
138jobs:
139 mirror_pull: "@every 10m"
140
141# Additional admin keys.
142initial_admin_keys:
143 - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJBc3G95VyLjrA2cnUjRnWRV3Uf3x08hxKkPw6ufY9YD [email protected]"