mirror of
https://git.sr.ht/~magic_rb/cluster
synced 2024-11-22 08:04:20 +01:00
wip
Signed-off-by: Magic_RB <magic_rb@redalder.org>
This commit is contained in:
parent
b5c7fd0c61
commit
404d63cbd7
|
@ -10,62 +10,146 @@ nglib.makeSystem {
|
||||||
type.services = { };
|
type.services = { };
|
||||||
};
|
};
|
||||||
|
|
||||||
init.services.conduit = {
|
init.services.synapse = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
shutdownOnExit = true;
|
shutdownOnExit = true;
|
||||||
script =
|
script =
|
||||||
let
|
let
|
||||||
conduitConfig = (pkgs.formats.toml {}).generate "conduit.toml"
|
logConfig = (pkgs.formats.yaml {}).generate "log.yaml"
|
||||||
{
|
{
|
||||||
global =
|
# Log configuration for Synapse.
|
||||||
|
#
|
||||||
|
# This is a YAML file containing a standard Python logging configuration
|
||||||
|
# dictionary. See [1] for details on the valid settings.
|
||||||
|
#
|
||||||
|
# Synapse also supports structured logging for machine readable logs which can
|
||||||
|
# be ingested by ELK stacks. See [2] for details.
|
||||||
|
#
|
||||||
|
# [1]: https://docs.python.org/3.7/library/logging.config.html#configuration-dictionary-schema
|
||||||
|
# [2]: https://matrix-org.github.io/synapse/latest/structured_logging.html
|
||||||
|
|
||||||
|
version = 1;
|
||||||
|
|
||||||
|
formatters.precise.format = "%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s - %(message)s";
|
||||||
|
handlers.console =
|
||||||
{
|
{
|
||||||
# The server_name is the pretty name of this server. It is used as a suffix for user
|
class = "logging.StreamHandler";
|
||||||
# and room ids. Examples: matrix.org, conduit.rs
|
formatter = "precise";
|
||||||
|
|
||||||
# The Conduit server needs all /_matrix/ requests to be reachable at
|
|
||||||
# https://your.server.name/ on port 443 (client-server) and 8448 (federation).
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# YOU NEED TO EDIT THIS
|
|
||||||
server_name = "matrix.redalder.org";
|
|
||||||
|
|
||||||
# This is the only directory where Conduit will save its data
|
|
||||||
database_path = "/var/lib/matrix-conduit/";
|
|
||||||
database_backend = "rocksdb";
|
|
||||||
|
|
||||||
# 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;
|
|
||||||
|
|
||||||
# Max size for uploads
|
|
||||||
max_request_size = 20000000; # in bytes
|
|
||||||
|
|
||||||
# Enables registration. If set to false, no users can register on this server.
|
|
||||||
allow_registration = true;
|
|
||||||
|
|
||||||
allow_federation = true;
|
|
||||||
|
|
||||||
trusted_servers = ["matrix.org"];
|
|
||||||
|
|
||||||
# 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"
|
|
||||||
|
|
||||||
address = "0.0.0.0";
|
|
||||||
};
|
};
|
||||||
|
loggers."synapse.storage.SQL" =
|
||||||
|
{
|
||||||
|
level = "INFO";
|
||||||
|
};
|
||||||
|
root =
|
||||||
|
{
|
||||||
|
level = "INFO";
|
||||||
|
handlers = [ "console" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
disable_existing_loggers = false;
|
||||||
|
};
|
||||||
|
synapseConfig = (pkgs.formats.yaml {}).generate "conduit.yaml"
|
||||||
|
{
|
||||||
|
server_name = "matrix.redalder.org";
|
||||||
|
pid_file = "/homeserver.pid";
|
||||||
|
listeners =
|
||||||
|
[
|
||||||
|
{
|
||||||
|
port = 6167;
|
||||||
|
tls = false;
|
||||||
|
type = "http";
|
||||||
|
x_forwarded = true;
|
||||||
|
bind_adrresses = [ "127.0.0.1" ];
|
||||||
|
resources =
|
||||||
|
{
|
||||||
|
names = [ "client" "federation" ];
|
||||||
|
compress = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
database =
|
||||||
|
{
|
||||||
|
name = "sqlite3";
|
||||||
|
compress = false;
|
||||||
|
args.database = "/var/lib/matrix-conduit/synapse/sqlite.db";
|
||||||
|
};
|
||||||
|
log_config = logConfig;
|
||||||
|
trusted_key_servers =
|
||||||
|
[
|
||||||
|
{
|
||||||
|
server_name = "matrix.org";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
media_store_path = "/var/lib/matrix-conduit/synapse/media_store";
|
||||||
|
signing_key_path = "/var/lib/matrix-conduit/synapse/singing.key";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
pkgs.writeShellScript "conduit"
|
pkgs.writeShellScript "conduit"
|
||||||
''
|
''
|
||||||
CONDUIT_CONFIG=${conduitConfig} ${pkgs.matrix-conduit}/bin/conduit
|
${pkgs.matrix-synapse}/bin/synapse_homeserver \
|
||||||
|
--config-path ${synapseConfig} \
|
||||||
|
--config-path /local/extra.yaml \
|
||||||
|
--keys-directory /var/lib/matrix-conduit/synapse/keys \
|
||||||
|
--generate-keys
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
});
|
|
||||||
|
# init.services.conduit = {
|
||||||
|
# enabled = true;
|
||||||
|
# shutdownOnExit = true;
|
||||||
|
# script =
|
||||||
|
# let
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# # The Conduit server needs all /_matrix/ requests to be reachable at
|
||||||
|
# # https://your.server.name/ on port 443 (client-server) and 8448 (federation).
|
||||||
|
|
||||||
|
# # 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
|
||||||
|
|
||||||
|
# # YOU NEED TO EDIT THIS
|
||||||
|
# server_name = "matrix.redalder.org";
|
||||||
|
|
||||||
|
# # This is the only directory where Conduit will save its data
|
||||||
|
# database_path = "/var/lib/matrix-conduit/";
|
||||||
|
# database_backend = "rocksdb";
|
||||||
|
|
||||||
|
# # 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;
|
||||||
|
|
||||||
|
# # Max size for uploads
|
||||||
|
# max_request_size = 20000000; # in bytes
|
||||||
|
|
||||||
|
# # Enables registration. If set to false, no users can register on this server.
|
||||||
|
# allow_registration = true;
|
||||||
|
|
||||||
|
# allow_federation = true;
|
||||||
|
|
||||||
|
# trusted_servers = ["matrix.org"];
|
||||||
|
|
||||||
|
# # 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"
|
||||||
|
|
||||||
|
# address = "0.0.0.0";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# in
|
||||||
|
# pkgs.writeShellScript "conduit"
|
||||||
|
# ''
|
||||||
|
# CONDUIT_CONFIG=${conduitConfig} ${pkgs.matrix-conduit}/bin/conduit
|
||||||
|
# '';
|
||||||
|
# };
|
||||||
|
# });
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue