2022-09-18 18:24:43 +02:00
|
|
|
{ nglib, nixpkgs }:
|
|
|
|
nglib.makeSystem {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
name = "nixng-gitea";
|
|
|
|
inherit nixpkgs;
|
|
|
|
config = ({ pkgs, ... }:
|
|
|
|
{
|
|
|
|
dumb-init = {
|
|
|
|
enable = true;
|
|
|
|
type.services = { };
|
|
|
|
};
|
|
|
|
|
|
|
|
init.services.conduit = {
|
|
|
|
enabled = true;
|
|
|
|
shutdownOnExit = true;
|
|
|
|
script =
|
|
|
|
let
|
2022-09-19 13:51:54 +02:00
|
|
|
conduitConfig = (pkgs.formats.toml {}).generate "conduit.toml"
|
|
|
|
{
|
|
|
|
global =
|
|
|
|
{
|
|
|
|
# The server_name is the pretty name of this server. It is used as a suffix for user
|
|
|
|
# and room ids. Examples: matrix.org, conduit.rs
|
2022-09-18 18:24:43 +02:00
|
|
|
|
2022-09-19 13:51:54 +02:00
|
|
|
# The Conduit server needs all /_matrix/ requests to be reachable at
|
|
|
|
# https://your.server.name/ on port 443 (client-server) and 8448 (federation).
|
2022-09-18 18:24:43 +02:00
|
|
|
|
2022-09-19 13:51:54 +02:00
|
|
|
# If that's not possible for you, you can create /.well-known files to redirect
|
|
|
|
# requests. See
|
|
|
|
# https://matrix.org/docs/spec/client_server/latest#get-well-known-matrix-client
|
|
|
|
# and
|
|
|
|
# https://matrix.org/docs/spec/server_server/r0.1.4#get-well-known-matrix-server
|
|
|
|
# for more information
|
2022-09-18 18:24:43 +02:00
|
|
|
|
2022-09-19 13:51:54 +02:00
|
|
|
# YOU NEED TO EDIT THIS
|
|
|
|
server_name = "matrix.redalder.org";
|
2022-09-18 18:24:43 +02:00
|
|
|
|
2022-09-19 13:51:54 +02:00
|
|
|
# This is the only directory where Conduit will save its data
|
|
|
|
database_path = "/var/lib/matrix-conduit/";
|
|
|
|
database_backend = "rocksdb";
|
2022-09-18 18:24:43 +02:00
|
|
|
|
2022-09-19 13:51:54 +02:00
|
|
|
# The port Conduit will be running on. You need to set up a reverse proxy in
|
|
|
|
# your web server (e.g. apache or nginx), so all requests to /_matrix on port
|
|
|
|
# 443 and 8448 will be forwarded to the Conduit instance running on this port
|
|
|
|
port = 6167;
|
2022-09-18 18:24:43 +02:00
|
|
|
|
2022-09-19 13:51:54 +02:00
|
|
|
# Max size for uploads
|
|
|
|
max_request_size = 20000000; # in bytes
|
2022-09-18 18:24:43 +02:00
|
|
|
|
2022-09-19 13:51:54 +02:00
|
|
|
# Enables registration. If set to false, no users can register on this server.
|
|
|
|
allow_registration = true;
|
2022-09-18 18:24:43 +02:00
|
|
|
|
2022-09-19 13:51:54 +02:00
|
|
|
allow_federation = true;
|
2022-09-18 18:24:43 +02:00
|
|
|
|
2022-09-19 13:51:54 +02:00
|
|
|
trusted_servers = ["matrix.org"];
|
2022-09-18 18:24:43 +02:00
|
|
|
|
2022-09-19 13:51:54 +02:00
|
|
|
# How many requests Conduit sends to other servers at the same time
|
|
|
|
#max_concurrent_requests = 100
|
|
|
|
#log = "info,state_res=warn,rocket=off,_=off,sled=off"
|
2022-09-18 18:24:43 +02:00
|
|
|
|
2022-09-19 13:51:54 +02:00
|
|
|
address = "0.0.0.0";
|
|
|
|
};
|
|
|
|
};
|
2022-09-18 18:24:43 +02:00
|
|
|
in
|
|
|
|
pkgs.writeShellScript "conduit"
|
|
|
|
''
|
|
|
|
CONDUIT_CONFIG=${conduitConfig} ${pkgs.matrix-conduit}/bin/conduit
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
});
|
|
|
|
}
|