1 | # site name used in various places across the instance
|
2 | site_name = "🌄 Ayllu"
|
3 |
|
4 | # string that is used in constructing URLs on the frontend, often different
|
5 | # from a listen address when using a reverse proxy.
|
6 | origin = "http://localhost:8080"
|
7 |
|
8 | # optional domain name to use for site matching when the code forge is being
|
9 | # served behind a static website. This value will be loaded from the origin
|
10 | # url by default
|
11 | # domain = "fuubar.com"
|
12 |
|
13 | # sysadmin contact address
|
14 | sysadmin = "admin@ayllu-forge.org"
|
15 |
|
16 | # number of background threads to drive asynchronous tasks forward with in the
|
17 | # web server and any other component that is multithreaded. Note that all
|
18 | # plugin components are currently single threaded. If unspecified this will
|
19 | # default to the number of CPU cores on your system.
|
20 | # worker_threads = 8
|
21 | # number of additional blocking threads that may be spawned by the tokio
|
22 | # runtime. See https://docs.rs/tokio/latest/tokio/runtime/struct.Builder.html#method.max_blocking_threads
|
23 | # max_blocking_threads = 512
|
24 |
|
25 | # socket for the job server to listen to new requests on. This is typically
|
26 | # used to communicate via git hooks to perform new computation on a repository
|
27 | # after it has been updated.
|
28 | # jobs_socket_path = "/var/run/user/1000/ayllu-jobs.sock"
|
29 |
|
30 |
|
31 |
|
32 | # logging level
|
33 | log_level = "debug"
|
34 |
|
35 | # enable when ayllu is being served from a "subpath". Clicking the home
|
36 | # button will send the user back to /browse instead of /. This is useful if you
|
37 | # have a landing page at the root of your webserver path.
|
38 | subpath_mode = false
|
39 |
|
40 | # friendly message to display on the about page of the main site which might
|
41 | # include details such as contact information, etc. markdown is supported.
|
42 | blurb = """
|
43 | # Welcome to Ayllu!
|
44 | """
|
45 |
|
46 | # The default branch name to use when rendering repositories. If unspecified
|
47 | # the ref that HEAD is currently pointed at will be used.
|
48 | # default_branch = "main"
|
49 |
|
50 | # The number of threads to spawn by Tokio, typically this will be the number
|
51 | # of logical processors (cores) you have on your system
|
52 | # worker_threads = 8
|
53 |
|
54 | # The number of additional threads that can be launched to support synchronous
|
55 | # blocking operations.
|
56 | # max_blocking_threads = 512
|
57 |
|
58 | # The number of suggested seconds to wait before polling the server again
|
59 | # across RSS feeds. The default of 1 hour is a reasonable default in most
|
60 | # cases.
|
61 | rss_time_to_live = 3600
|
62 |
|
63 | # Git HTTP server options
|
64 |
|
65 | [git]
|
66 | # Global option to enable the Git "Smart HTTP" server which will serve
|
67 | # non-hidden repositories for cloning over HTTP. The default is true but if
|
68 | # set to false it will globally disable all cloning which you might want to do
|
69 | # if you want to run your own fcgi server e.g.
|
70 | smart_http = true
|
71 | # URL to suggest for cloning via SSH, if unspecified git cloning option will
|
72 | # not appear in the repository page.
|
73 | clone_url = "git@localhost"
|
74 |
|
75 | # this toggles the GIT_HTTP_EXPORT_ALL option for git-http-backend which will
|
76 | # allow cloning of all repositories unless they are marked as private. If this
|
77 | # option is not toggled then the file git-daemon-export-ok exist in the repository
|
78 | # for cloing to be permitted.
|
79 | export_all = false
|
80 |
|
81 |
|
82 | # List of authors associated with this site as returned via webfinger queries
|
83 | # see https://datatracker.ietf.org/doc/html/rfc7033 and https://webfinger.net/
|
84 | # for more details.
|
85 | [[authors]]
|
86 | # email address used to match the query
|
87 | email = "user@example.com"
|
88 | # public links associated with this author
|
89 | links = [
|
90 | {rel = "http://webfinger.net/rel/profile-page", href = "https://example.com", mime_type = "text/html"},
|
91 | {rel = "http://webfinger.net/rel/profile-page", href = "https://fosstodon.org/@example", mime_type = "text/html"},
|
92 | {rel = "http://webfinger.net/rel/avatar", href = "https://example.com/profile.png", mime_type = "image/png"}
|
93 | ]
|
94 |
|
95 | [http]
|
96 | # interface and port to listen on
|
97 | address = "localhost:8080"
|
98 |
|
99 | [web]
|
100 | # default theme that will be used when none is specified in user configuration.
|
101 | # additionally the default theme will be used to load assets that are not
|
102 | # overriden in the actively selected theme.
|
103 | # default_theme = "default"
|
104 | # [[web.themes]]
|
105 | # unique name to identify the theme in the web UI
|
106 | # name = "my-theme"
|
107 | # path to the directory containing the theme assets
|
108 | # path = "/usr/lib/ayllu/themes/my-theme"
|
109 |
|
110 | # static hosting
|
111 | # see an example Nginx configuration in contrib/nginx/nginx.conf
|
112 | [sites]
|
113 | # set false if you want to disallow all static hosting
|
114 | enabled = true
|
115 |
|
116 | # SQLite configuration
|
117 | [database]
|
118 | # path to a SQLite database.
|
119 | # Defaults to ~/.local/share/ayllu/state.db
|
120 | # path = "db/state.db"
|
121 | # if migrations should be automatically applied
|
122 | migrate = true
|
123 |
|
124 | # tree-sitter backed syntax highlighting
|
125 | [tree-sitter]
|
126 | # path to load shared objects from
|
127 | # base_path = "/usr/lib"
|
128 | # alternative path to queries
|
129 | # queries_path = "/usr/share/tree-sitter/queries"
|
130 | # additional queries
|
131 | # queries_extras_path = "/etc/ayllu/queries"
|
132 |
|
133 | # tree-sitter highlighting keywords, these are attributes that will be
|
134 | # exposed as CSS classes which can be used to create themes.
|
135 | keywords = [
|
136 | "attribute",
|
137 | "comment",
|
138 | "constant",
|
139 | "function.builtin",
|
140 | "function",
|
141 | "keyword",
|
142 | "operator",
|
143 | "property",
|
144 | "punctuation",
|
145 | "punctuation.bracket",
|
146 | "punctuation.delimiter",
|
147 | "string",
|
148 | "string.special",
|
149 | "tag",
|
150 | "type",
|
151 | "type.builtin",
|
152 | "variable",
|
153 | "variable.builtin",
|
154 | "variable.parameter",
|
155 | ]
|
156 |
|
157 | # [[tree-sitter.parsers]]
|
158 | # additional parsers
|
159 | # name = "fuu-lang"
|
160 | # shared_object = "/etc/ayllu/parsers/libtree-sitter-fuu.so"
|
161 | # see https://tree-sitter.github.io/tree-sitter/syntax-highlighting#highlights
|
162 | # highlight_query = "/etc/ayllu/queries/fuu/highlights.scm"
|
163 | # see https://tree-sitter.github.io/tree-sitter/syntax-highlighting#local-variables
|
164 | # locals_query = "/etc/ayllu/queries/fuu/locals.scm"
|
165 | # see https://tree-sitter.github.io/tree-sitter/syntax-highlighting#language-injection
|
166 | # injections = "/etc/ayllu/queries/fuu/injections.scm"
|
167 |
|
168 | # any additional programming languages and their associated file extensions
|
169 | # [[ languages ]]
|
170 | # name = "BazQux"
|
171 | # extensions = [".baz", ".qux", ".bq"]
|
172 | # # deep pink
|
173 | # color = "#ff1493"
|
174 |
|
175 | # language configuration
|
176 | [languages]
|
177 |
|
178 | # Sometimes a file will be detected as one language but you want it to map to
|
179 | # another one. For instance a file named main.ml will default to Standard ML
|
180 | # however you might prefer OCaml instead. Mappings allow you to override
|
181 | # specific languages with your own preferences.
|
182 | [languages.mappings]
|
183 | "Standard ML" = "OCaml"
|
184 | # "Shell" is a blanket term for sh like languages but we want to map it
|
185 | # specifically to bash because that's the tree-sitter parser we have installed.
|
186 | "Shell" = "Bash"
|
187 |
|
188 | # any additional programming languages and their associated file extensions
|
189 | [[languages.extras]]
|
190 | name = "BazQux"
|
191 | extensions = [".baz", ".qux"]
|
192 | color = "#FF1493"
|
193 |
|
194 | # othertimes you want to override just the extension for a particular language,
|
195 | # .rs extensions map to both Rust and RenderScript.
|
196 | [[languages.extras]]
|
197 | name = "Rust"
|
198 | extensions = [".rs"]
|
199 |
|
200 |
|
201 | # Large File Store configuration
|
202 | # [lfs]
|
203 | # template URL to construct an API request which will be used to lookup the
|
204 | # reference object of the file. Other LFS server implementations may work but
|
205 | # this has only been tested with https://github.com/jasonwhite/rudolfs
|
206 | # url_template = "/lfs/{collection}/{name}/object/{oid}"
|
207 |
|
208 | # path to directories of repositories, each collection will be seperated into
|
209 | # a unique section on the index page. recursive directories are not supported,
|
210 | # you may only have a single level of repositories at this time.
|
211 | # [[collections]]
|
212 | # # name of the code collection
|
213 | # name = "projects"
|
214 | # description = "software projects actively being worked on"
|
215 | # path = "/path/to/projects"
|
216 | # # If true the collection will not show up in the main index or RSS feeds
|
217 | # hidden = false
|
218 | #
|
219 | # [[collections]]
|
220 | # name = "attic"
|
221 | # description = "archived code"
|
222 | # path = "/path/to/attic"
|
223 |
|
224 | # builder configuration for *this* builder instance
|
225 | [builder]
|
226 | # address = /tmp/builder.socket
|
227 | [builder.database]
|
228 | migrate = true
|
229 |
|
230 | # array of all known builders with their connection address
|
231 | # [[builders]]
|
232 | # hostname = localhost
|
233 | # address = /tmp/builder.socket
|
234 |
|
235 | # mailing list support with mailpot, if unspecified no mailing list pages will
|
236 | # be visible in the web application.
|
237 | # [mail]
|
238 | # command used to send an e-mail
|
239 | # sendmail_command = "/usr/bin/false"
|
240 | # socket path for communicating with the mail server. This will default to your
|
241 | # XDG_RUNTIME_DIR or /tmp/ayllu-mail.sock
|
242 | # socket_path = /var/run/user/1000/ayllu-mail.sock
|
243 |
|
244 | # mailing lists to configure and automatically accept e-mail for
|
245 | # [[mail.lists]]
|
246 | # unique identifier across all mailing lists
|
247 | # id = "hello-world"
|
248 | # fully qualified email address where the mailing list lives
|
249 | # address = "hello@ayllu-forge.org"
|
250 | # friendly description
|
251 | # description = "an illistrative mailing list"
|
252 | # free-form string tags to specify the purpose of the mailing list
|
253 | # topics = ["fuu", "bar"]
|