Catch all the stuff I missed in the server services to get them to build

This commit is contained in:
Jimbo 2024-10-15 17:46:44 -04:00
parent 25a3a7e237
commit a5f06865de
44 changed files with 212 additions and 197 deletions

View file

@ -1,4 +1,4 @@
{ outputs, ... }:
{ config, ... }:
{
imports = [
./nginx
@ -9,12 +9,12 @@
nginx.enable = true;
database.createLocally = true;
settings = {
hostname = "lemmy.${outputs.secrets.jimDomain}";
hostname = "lemmy.${config.secrets.jimDomain}";
email = {
smtp_server = "mx.${outputs.secrets.jimDomain}:587";
smtp_login = "noreply@${outputs.secrets.jimDomain}";
smtp_from_address = "Jimbo's Lemmy <noreply@${outputs.secrets.jimDomain}>";
smtp_password = outputs.secrets.noreplyPassword;
smtp_server = "mx.${config.secrets.jimDomain}:587";
smtp_login = "noreply@${config.secrets.jimDomain}";
smtp_from_address = "Jimbo's Lemmy <noreply@${config.secrets.jimDomain}>";
smtp_password = config.secrets.noreplyPassword;
tls_type = "starttls";
};
};

View file

@ -1,6 +1,6 @@
{ outputs, ... }:
{ config, ... }:
{
services.nginx.virtualHosts."lemmy.${outputs.secrets.jimDomain}" = {
services.nginx.virtualHosts."lemmy.${config.secrets.jimDomain}" = {
enableACME = true;
forceSSL = true;
};

View file

@ -1,18 +1,18 @@
{ pkgs, outputs, ... }:
{ pkgs, config, ... }:
{
services.mastodon = {
enable = true;
localDomain = "social.${outputs.secrets.jimDomain}";
localDomain = "social.${config.secrets.jimDomain}";
streamingProcesses = 4;
configureNginx = true;
smtp = {
createLocally = false;
host = "mx.${outputs.secrets.jimDomain}";
host = "mx.${config.secrets.jimDomain}";
port = 587;
authenticate = true;
fromAddress = "Jimbo's Mastodon <noreply@${outputs.secrets.jimDomain}>";
user = "noreply@${outputs.secrets.jimDomain}";
passwordFile = pkgs.writeText "smtp_pass.txt" outputs.secrets.noreplyPassword;
fromAddress = "Jimbo's Mastodon <noreply@${config.secrets.jimDomain}>";
user = "noreply@${config.secrets.jimDomain}";
passwordFile = pkgs.writeText "smtp_pass.txt" config.secrets.noreplyPassword;
};
};
}

View file

@ -1,4 +1,4 @@
{ pkgs, outputs, ... }:
{ pkgs, config, ... }:
{
imports = [
./nginx
@ -7,16 +7,16 @@
nixpkgs.config.element-web.conf = {
default_server_config = {
"m.homeserver" = {
base_url = "https://matrix.${outputs.secrets.jimDomain}";
server_name = "matrix.${outputs.secrets.jimDomain}";
base_url = "https://matrix.${config.secrets.jimDomain}";
server_name = "matrix.${config.secrets.jimDomain}";
};
};
branding = {
#welcome_background_url = "https://staging.${outputs.secrets.jimDomain}/images/backgrounds/bloxelcom-sunset.jpg";
#auth_header_logo_url = "https://staging.${outputs.secrets.jimDomain}/images/logos/bloxelcom.png";
#welcome_background_url = "https://staging.${config.secrets.jimDomain}/images/backgrounds/bloxelcom-sunset.jpg";
#auth_header_logo_url = "https://staging.${config.secrets.jimDomain}/images/logos/bloxelcom.png";
};
embedded_pages = {
home_url = "https://www.${outputs.secrets.jimDomain}/";
home_url = "https://www.${config.secrets.jimDomain}/";
};
disable_custom_urls = true;
disable_guests = true;

View file

@ -1,6 +1,6 @@
{ pkgs, outputs, ... }:
{ pkgs, config, ... }:
{
services.nginx.virtualHosts."chat.${outputs.secrets.jimDomain}" = {
services.nginx.virtualHosts."chat.${config.secrets.jimDomain}" = {
enableACME = true;
addSSL = true;
root = "${pkgs.element-web}";

View file

@ -1,5 +1,9 @@
{ outputs, config, ... }:
{ config, ... }:
{
imports = [
./nginx
];
services = {
coturn = {
enable = true;
@ -9,16 +13,16 @@
max-port = 50000;
use-auth-secret = true;
static-auth-secret = "will be world readable for local users :(";
realm = "turn.${outputs.secrets.jimDomain}";
cert = "/var/lib/acme/turn.${outputs.secrets.jimDomain}.com/fullchain.pem";
pkey = "/var/lib/acme/turn.${outputs.secrets.jimDomain}.com/key.pem";
realm = "turn.${config.secrets.jimDomain}";
cert = "/var/lib/acme/turn.${config.secrets.jimDomain}.com/fullchain.pem";
pkey = "/var/lib/acme/turn.${config.secrets.jimDomain}.com/key.pem";
};
# Enable coturn on Synapse
matrix-synapse.settings = {
turn_uris = [
"turn:turn.${outputs.secrets.jimDomain}:3478?transport=udp"
"turn:turn.${outputs.secrets.jimDomain}:3478?transport=tcp"
"turn:turn.${config.secrets.jimDomain}:3478?transport=udp"
"turn:turn.${config.secrets.jimDomain}:3478?transport=tcp"
];
turn_shared_secret = config.services.coturn.static-auth-secret;
turn_user_lifetime = "1h";

View file

@ -1,6 +1,6 @@
{ outputs, config, ... }:
{ config, ... }:
{
services.nginx.virtualHosts."turn.${outputs.secrets.jimDomain}" = {
services.nginx.virtualHosts."turn.${config.secrets.jimDomain}" = {
enableACME = true;
forceSSL = true;
listen = [{

View file

@ -1,4 +1,4 @@
{ pkgs, outputs, ... }:
{ pkgs, config, ... }:
{
imports = [
./coturn
@ -9,8 +9,8 @@
services.matrix-synapse = {
enable = true;
settings = {
server_name = "${outputs.secrets.jimDomain}";
public_baseurl = "https://matrix.${outputs.secrets.jimDomain}";
server_name = "${config.secrets.jimDomain}";
public_baseurl = "https://matrix.${config.secrets.jimDomain}";
suppress_key_server_warning = true;
listeners = [{
@ -23,10 +23,10 @@
}];
email = {
notif_from = "Jimbo's Matrix <noreply@${outputs.secrets.jimDomain}>";
smtp_host = "mx.${outputs.secrets.jimDomain}";
smtp_user = "noreply@${outputs.secrets.jimDomain}";
smtp_pass = outputs.secrets.noreplyPassword;
notif_from = "Jimbo's Matrix <noreply@${config.secrets.jimDomain}>";
smtp_host = "mx.${config.secrets.jimDomain}";
smtp_user = "noreply@${config.secrets.jimDomain}";
smtp_pass = config.secrets.noreplyPassword;
enable_tls = true;
smtp_port = 587;
require_transport_security = true;

View file

@ -1,6 +1,6 @@
{ outputs, ... }:
{ config, ... }:
{
services.nginx.virtualHosts."matrix.${outputs.secrets.jimDomain}" = {
services.nginx.virtualHosts."matrix.${config.secrets.jimDomain}" = {
enableACME = true;
forceSSL = true;
locations = {

View file

@ -1,13 +1,13 @@
{ pkgs, outputs, ... }:
{ pkgs, config, ... }:
{
services.matrix-sliding-sync = {
enable = true;
settings = {
SYNCV3_SERVER = "https://matrix.${outputs.secrets.jimDomain}";
SYNCV3_SERVER = "https://matrix.${config.secrets.jimDomain}";
SYNCV3_BINDADDR = "0.0.0.0:8009";
};
environmentFile = pkgs.writeText "matrixsecret" ''
SYNCV3_SECRET=${outputs.secrets.matrixSecret}
'';
environmentFile = "${pkgs.writeText "matrixsecret" ''
SYNCV3_SECRET=${config.secrets.matrixSecret}
''}";
};
}

View file

@ -1,4 +1,4 @@
{ outputs, ... }:
{ ... }:
{
imports = [
./nginx

View file

@ -1,6 +1,6 @@
{ outputs, ... }:
{ config, ... }:
{
services.nginx.virtualHosts."live.${outputs.secrets.jimDomain}" = {
services.nginx.virtualHosts."live.${config.secrets.jimDomain}" = {
enableACME = true;
forceSSL = true;
locations."/" = {

View file

@ -1,13 +1,13 @@
{ pkgs, outputs, ... }:
{ pkgs, config, ... }:
{
services.pixelfed = {
enable = true;
domain = "pics.${outputs.secrets.jimDomain}";
secretFile = pkgs.writeText "appkey" outputs.secrets.pixelfedKey;
domain = "pics.${config.secrets.jimDomain}";
secretFile = pkgs.writeText "appkey" config.secrets.pixelfedKey;
settings = {
APP_NAME = ''"Jimbo's Pixelfed"'';
INSTANCE_DESCRIPTION = ''"The Jimbosfiles Pixelfed Instance"'';
INSTANCE_CONTACT_EMAIL = "jimbo@${outputs.secrets.jimDomain}";
INSTANCE_CONTACT_EMAIL = "jimbo@${config.secrets.jimDomain}";
OPEN_REGISTRATION = true;
APP_LOCALE = "en";
INSTANCE_DISCOVER_PUBLIC = false;
@ -15,14 +15,14 @@
# Mail config
ENFORCE_EMAIL_VERIFICATION = true;
MAIL_FROM_ADDRESS = "noreply@${outputs.secrets.jimDomain}";
MAIL_FROM_NAME = ''"Jimbo's Pixelfed <noreply@${outputs.secrets.jimDomain}>"'';
MAIL_FROM_ADDRESS = "noreply@${config.secrets.jimDomain}";
MAIL_FROM_NAME = ''"Jimbo's Pixelfed <noreply@${config.secrets.jimDomain}>"'';
MAIL_ENCRYPTION = "tls";
MAIL_DRIVER = "smtp";
MAIL_HOST = "mx.${outputs.secrets.jimDomain}";
MAIL_HOST = "mx.${config.secrets.jimDomain}";
MAIL_PORT = 587;
MAIL_USERNAME = "noreply@${outputs.secrets.jimDomain}";
MAIL_PASSWORD = "${outputs.secrets.noreplyPassword}";
MAIL_USERNAME = "noreply@${config.secrets.jimDomain}";
MAIL_PASSWORD = "${config.secrets.noreplyPassword}";
};
nginx = {
enableACME = true;