Compare commits
2 commits
b948ee3740
...
6a4fce5a37
Author | SHA1 | Date | |
---|---|---|---|
|
6a4fce5a37 | ||
|
872abb1522 |
|
@ -7,8 +7,8 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
server = {
|
server = {
|
||||||
DOMAIN = "git.${config.domains.p1}";
|
DOMAIN = "git.${config.domains.p2}";
|
||||||
ROOT_URL = "https://git.${config.domains.p1}:443";
|
ROOT_URL = "https://git.${config.domains.p2}:443";
|
||||||
HTTP_PORT = 3110;
|
HTTP_PORT = 3110;
|
||||||
SSH_PORT = 2299;
|
SSH_PORT = 2299;
|
||||||
START_SSH_SERVER = true;
|
START_SSH_SERVER = true;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
services.nginx.virtualHosts."git.${config.domains.p1}" = lib.mkIf config.services.forgejo.enable {
|
services.nginx.virtualHosts."git.${config.domains.p2}" = lib.mkIf config.services.forgejo.enable {
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./p1
|
||||||
./p2
|
./p2
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
{ config, lib, ... }:
|
||||||
|
{
|
||||||
|
services.nginx.virtualHosts."${config.domains.p1}" = lib.mkIf config.system.server.enable {
|
||||||
|
enableACME = true;
|
||||||
|
addSSL = true;
|
||||||
|
locations = {
|
||||||
|
"/.well-known/matrix/client".extraConfig = ''
|
||||||
|
default_type application/json;
|
||||||
|
return 200 '
|
||||||
|
{
|
||||||
|
"m.homeserver": {
|
||||||
|
"base_url": "https://matrix.${config.domains.p1}"
|
||||||
|
},
|
||||||
|
"m.identity_server": {
|
||||||
|
"base_url": "https://matrix.org"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
';
|
||||||
|
'';
|
||||||
|
"/.well-known/matrix/server".extraConfig = ''
|
||||||
|
default_type application/json;
|
||||||
|
return 200 '{ "m.server": "matrix.${config.domains.p1}:443" }';
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -4,28 +4,5 @@
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
addSSL = true;
|
addSSL = true;
|
||||||
root = "/var/www/landing-page";
|
root = "/var/www/landing-page";
|
||||||
locations = {
|
|
||||||
"/.well-known/matrix/client".extraConfig = ''
|
|
||||||
default_type application/json;
|
|
||||||
return 200 '
|
|
||||||
{
|
|
||||||
"m.homeserver": {
|
|
||||||
"base_url": "https://matrix.${config.domains.p2}"
|
|
||||||
},
|
|
||||||
"m.identity_server": {
|
|
||||||
"base_url": "https://matrix.org"
|
|
||||||
},
|
|
||||||
"org.matrix.msc3575.proxy": {
|
|
||||||
"url": "https://matrix.${config.domains.p2}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
';
|
|
||||||
'';
|
|
||||||
|
|
||||||
"/.well-known/matrix/server".extraConfig = ''
|
|
||||||
default_type application/json;
|
|
||||||
return 200 '{ "m.server": "matrix.${config.domains.p2}:443" }';
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./lemmy
|
|
||||||
./mastodon
|
./mastodon
|
||||||
./matrix
|
./matrix
|
||||||
./owncast
|
./owncast
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
{ config, ... }:
|
|
||||||
{
|
|
||||||
imports = [ ./nginx ];
|
|
||||||
|
|
||||||
services.lemmy = {
|
|
||||||
enable = config.system.server.enable;
|
|
||||||
nginx.enable = true;
|
|
||||||
database.createLocally = true;
|
|
||||||
settings = {
|
|
||||||
hostname = "lemmy.${config.domains.p1}";
|
|
||||||
email = {
|
|
||||||
smtp_server = "mx.${config.domains.p1}:587";
|
|
||||||
smtp_login = "noreply@${config.domains.p1}";
|
|
||||||
smtp_from_address = "NixFox Lemmy <noreply@${config.domains.p1}>";
|
|
||||||
smtp_password = config.secrets.noreplyPassword;
|
|
||||||
tls_type = "starttls";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
{
|
|
||||||
services.nginx.virtualHosts."lemmy.${config.domains.p1}" = lib.mkIf config.services.lemmy.enable {
|
|
||||||
enableACME = true;
|
|
||||||
forceSSL = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ pkgs, config, lib, ... }:
|
{ pkgs, config, lib, ... }:
|
||||||
{
|
{
|
||||||
services.nginx.virtualHosts."chat.${config.domains.p1}" = lib.mkIf config.services.matrix-synapse.enable {
|
services.nginx.virtualHosts."chat.${config.domains.p2}" = lib.mkIf config.services.matrix-synapse.enable {
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
addSSL = true;
|
addSSL = true;
|
||||||
root = "${pkgs.element-web}";
|
root = "${pkgs.element-web}";
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, config, ... }:
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
./nginx
|
||||||
|
];
|
||||||
|
|
||||||
services.matrix-synapse = {
|
services.matrix-synapse = {
|
||||||
enable = config.system.server.enable;
|
enable = config.system.server.enable;
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -11,7 +15,13 @@
|
||||||
{
|
{
|
||||||
port = 8008;
|
port = 8008;
|
||||||
bind_addresses = [ "::" "0.0.0.0" ];
|
bind_addresses = [ "::" "0.0.0.0" ];
|
||||||
resources = [ { compress = true; names = [ "client" "federation" ]; } ];
|
resources = [{
|
||||||
|
compress = true;
|
||||||
|
names = [
|
||||||
|
"client"
|
||||||
|
"federation"
|
||||||
|
];
|
||||||
|
}];
|
||||||
type = "http";
|
type = "http";
|
||||||
tls = false;
|
tls = false;
|
||||||
x_forwarded = true;
|
x_forwarded = true;
|
||||||
|
@ -19,7 +29,7 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
email = {
|
email = {
|
||||||
notif_from = "Jimbo's Matrix <noreply@${config.domains.p1}>";
|
notif_from = "NixFox Matrix <noreply@${config.domains.p1}>";
|
||||||
smtp_host = "mx.${config.domains.p1}";
|
smtp_host = "mx.${config.domains.p1}";
|
||||||
smtp_user = "noreply@${config.domains.p1}";
|
smtp_user = "noreply@${config.domains.p1}";
|
||||||
smtp_pass = config.secrets.noreplyPassword;
|
smtp_pass = config.secrets.noreplyPassword;
|
||||||
|
@ -33,10 +43,6 @@
|
||||||
|
|
||||||
# Allow only this range of emails
|
# Allow only this range of emails
|
||||||
allowed_local_3pids = [
|
allowed_local_3pids = [
|
||||||
{
|
|
||||||
medium = "email";
|
|
||||||
pattern = ''^[^@]+@jimbosfiles\.com$'';
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
medium = "email";
|
medium = "email";
|
||||||
pattern = ''^[^@]+@nixfox\.ca$'';
|
pattern = ''^[^@]+@nixfox\.ca$'';
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
{ config, ... }:
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
services.nginx.virtualHosts."matrix.${config.domains.p1}" = {
|
services.nginx.virtualHosts."matrix.${config.domains.p1}" = lib.mkIf config.services.matrix-synapse.enable {
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
locations = {
|
locations = {
|
||||||
"/".extraConfig = ''return 403;'';
|
"/".extraConfig = ''return 403;'';
|
||||||
"/client".proxyPass = "http://127.0.0.1:8009";
|
"/client".proxyPass = "http://127.0.0.1:8008";
|
||||||
"/_matrix".proxyPass = "http://127.0.0.1:8008";
|
"/_matrix".proxyPass = "http://127.0.0.1:8008";
|
||||||
"/_matrix/client/unstable/org.matrix.msc3575/sync".proxyPass = "http://127.0.0.1:8009";
|
|
||||||
"/_synapse/client".proxyPass = "http://127.0.0.1:8008";
|
"/_synapse/client".proxyPass = "http://127.0.0.1:8008";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
services.nginx.virtualHosts."live.${config.domains.p1}" = lib.mkIf config.services.owncast.enable {
|
services.nginx.virtualHosts."live.${config.domains.p2}" = lib.mkIf config.services.owncast.enable {
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
|
|
Loading…
Reference in a new issue