update email, deploy-rs
This commit is contained in:
@@ -60,33 +60,24 @@
|
|||||||
deploy.nodes = {
|
deploy.nodes = {
|
||||||
desktop = {
|
desktop = {
|
||||||
hostname = "10.0.0.2";
|
hostname = "10.0.0.2";
|
||||||
sshUser = "lilac";
|
|
||||||
magicRollbackTimeout = 120;
|
|
||||||
profiles.system = {
|
profiles.system = {
|
||||||
user = "root";
|
user = "root";
|
||||||
remoteBuild = false;
|
|
||||||
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.desktop;
|
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.desktop;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
vps = {
|
vps = {
|
||||||
hostname = "10.0.0.3";
|
hostname = "10.0.0.3";
|
||||||
sshUser = "lilac";
|
|
||||||
magicRollbackTimeout = 120;
|
|
||||||
profiles.system = {
|
profiles.system = {
|
||||||
user = "root";
|
user = "root";
|
||||||
remoteBuild = false;
|
|
||||||
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.vps;
|
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.vps;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
backup = {
|
backup = {
|
||||||
hostname = "10.0.0.4";
|
hostname = "10.0.0.4";
|
||||||
sshUser = "lilac";
|
|
||||||
magicRollbackTimeout = 120;
|
|
||||||
profiles.system = {
|
profiles.system = {
|
||||||
user = "root";
|
user = "root";
|
||||||
remoteBuild = false;
|
|
||||||
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.backup;
|
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.backup;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
+5
-4
@@ -7,12 +7,13 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
mullvad-browser
|
|
||||||
signal-desktop
|
|
||||||
discord
|
discord
|
||||||
protonmail-desktop
|
mullvad-browser
|
||||||
steam
|
|
||||||
obsidian
|
obsidian
|
||||||
|
protonmail-desktop
|
||||||
|
signal-desktop
|
||||||
|
steam
|
||||||
|
thunderbird
|
||||||
];
|
];
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
|
|||||||
+2
-2
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
firewall = {
|
firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowedTCPPorts = [ 80 443 ];
|
allowedTCPPorts = [ 25 80 443 587 993 ];
|
||||||
allowedUDPPorts = [ 51820 ];
|
allowedUDPPorts = [ 51820 ];
|
||||||
trustedInterfaces = [ "wg0" ];
|
trustedInterfaces = [ "wg0" ];
|
||||||
};
|
};
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
content = ''
|
content = ''
|
||||||
chain prerouting {
|
chain prerouting {
|
||||||
type nat hook prerouting priority dstnat; policy accept;
|
type nat hook prerouting priority dstnat; policy accept;
|
||||||
iifname "enp1s0" tcp dport { 25, 80, 443, 993 } dnat to 10.0.0.2
|
iifname "enp1s0" tcp dport { 25, 80, 443, 587, 993 } dnat to 10.0.0.2
|
||||||
}
|
}
|
||||||
chain postrouting {
|
chain postrouting {
|
||||||
type nat hook postrouting priority srcnat; policy accept;
|
type nat hook postrouting priority srcnat; policy accept;
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
services.restic.backups.backup = {
|
services.restic.backups.backup = {
|
||||||
repository = "rest:http://10.0.0.4:8000/backup";
|
repository = "rest:http://10.0.0.4:8000/backup";
|
||||||
initialize = true;
|
initialize = true;
|
||||||
passwordFile = "/home/lilac/test-password";
|
passwordFile = config.sops.secrets.mxpass.path;
|
||||||
paths = [ "/var/lib/immich" "/var/lib/music" "/var/lib/gitea" "/var/lib/vault-backup" ];
|
paths = [ "/var/lib/immich" "/var/lib/music" "/var/lib/gitea" "/var/lib/vault-backup" ];
|
||||||
timerConfig.OnCalendar = "03:30";
|
timerConfig.OnCalendar = "03:30";
|
||||||
pruneOpts = [ "--keep-daily 7" "--keep-weekly 4" "--keep-monthly 12" ];
|
pruneOpts = [ "--keep-daily 7" "--keep-weekly 4" "--keep-monthly 12" ];
|
||||||
|
|||||||
+18
-1
@@ -7,7 +7,7 @@
|
|||||||
ensureAccounts = [ "lilac@grasswren.net" ];
|
ensureAccounts = [ "lilac@grasswren.net" ];
|
||||||
ensureCredentials."lilac@grasswren.net".passwordFile = config.sops.secrets.mxpass.path;
|
ensureCredentials."lilac@grasswren.net".passwordFile = config.sops.secrets.mxpass.path;
|
||||||
|
|
||||||
secrets = [ config.sops.secrets.cftoken.path ];
|
secrets = [ config.sops.secrets.cftoken.path config.sops.secrets.s2guser.path config.sops.secrets.s2gpass.path ];
|
||||||
|
|
||||||
tls = {
|
tls = {
|
||||||
loader = "acme";
|
loader = "acme";
|
||||||
@@ -39,6 +39,13 @@
|
|||||||
dsn mailbox.db
|
dsn mailbox.db
|
||||||
}
|
}
|
||||||
|
|
||||||
|
target.smtp relay {
|
||||||
|
hostname $(hostname)
|
||||||
|
starttls yes
|
||||||
|
auth plain "{env:S2GUSER}" "{env:S2GPASS}"
|
||||||
|
targets tcp://mail.smtp2go.com:587
|
||||||
|
}
|
||||||
|
|
||||||
smtp tcp://0.0.0.0:25 {
|
smtp tcp://0.0.0.0:25 {
|
||||||
default_source {
|
default_source {
|
||||||
destination grasswren.net {
|
destination grasswren.net {
|
||||||
@@ -53,6 +60,16 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
submission tls://0.0.0.0:587 {
|
||||||
|
auth &local_authdb
|
||||||
|
|
||||||
|
default_source {
|
||||||
|
default_destination {
|
||||||
|
deliver_to &relay
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
imap tls://0.0.0.0:993 {
|
imap tls://0.0.0.0:993 {
|
||||||
auth &local_authdb
|
auth &local_authdb
|
||||||
storage &local_mailboxes
|
storage &local_mailboxes
|
||||||
|
|||||||
@@ -17,4 +17,18 @@
|
|||||||
mode = "0440";
|
mode = "0440";
|
||||||
restartUnits = [ "maddy.service" ];
|
restartUnits = [ "maddy.service" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sops.secrets.s2guser = {
|
||||||
|
owner = "maddy";
|
||||||
|
group = "maddy";
|
||||||
|
mode = "0440";
|
||||||
|
restartUnits = [ "maddy.service" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
sops.secrets.s2gpass = {
|
||||||
|
owner = "maddy";
|
||||||
|
group = "maddy";
|
||||||
|
mode = "0440";
|
||||||
|
restartUnits = [ "maddy.service" ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-2
@@ -1,5 +1,8 @@
|
|||||||
cftoken: ENC[AES256_GCM,data:nxIZzGDkznGwf3FFDojSM740RMcNqv6FCUvY2h54eAFUB3/z34UIJCESauRsZMV+SpXy7AJc0XXujE7yHg==,iv:/8sQH4wJJOQGhSc8QkhrxVuMTqBRzULebCauVaL5fzY=,tag:skTdCNMTFAutaWl9fh+y4Q==,type:str]
|
cftoken: ENC[AES256_GCM,data:nxIZzGDkznGwf3FFDojSM740RMcNqv6FCUvY2h54eAFUB3/z34UIJCESauRsZMV+SpXy7AJc0XXujE7yHg==,iv:/8sQH4wJJOQGhSc8QkhrxVuMTqBRzULebCauVaL5fzY=,tag:skTdCNMTFAutaWl9fh+y4Q==,type:str]
|
||||||
mxpass: ENC[AES256_GCM,data:dDTNmIfc378Kv4JL/id3b3+/v61cMEYX0QtA6p2+EIk=,iv:W0EO+Ft63q8GYCmqd442oTeeaBKWWQqCoY8jhqfKfFE=,tag:GNCj/FUOk7G0DTvrYBZurw==,type:str]
|
mxpass: ENC[AES256_GCM,data:dDTNmIfc378Kv4JL/id3b3+/v61cMEYX0QtA6p2+EIk=,iv:W0EO+Ft63q8GYCmqd442oTeeaBKWWQqCoY8jhqfKfFE=,tag:GNCj/FUOk7G0DTvrYBZurw==,type:str]
|
||||||
|
bupass: ENC[AES256_GCM,data:SCOVtcSqWvNAaq60OM3eWB5ZeEGlnrSQXyyMEWa6h/1d3N4kiw==,iv:Ql3/wkw/WCyj7PLKYdvHhlipONqQNmWLqBG4WaV1v18=,tag:VodWimuyVMw87iVhO67Sfw==,type:str]
|
||||||
|
s2guser: ENC[AES256_GCM,data:N5hSuHWxRUzRxz5SQdt1UOavsEkR,iv:MBtQ8vGN4yV3D4/mCuxFDv3ULEIcaPkqh24fjPwQcLM=,tag:l+jGaE69rtWLbWu6/nftMg==,type:str]
|
||||||
|
s2gpass: ENC[AES256_GCM,data:s+8cRussPxSiDANzwxkYIP2nNTpOBGxV,iv:ovtYGBfNouOaYAZ4dulmdHxdkqyPf4UuvSKI74ICmlg=,tag:cdratFiO3U0VO7AReY8EyA==,type:str]
|
||||||
sops:
|
sops:
|
||||||
age:
|
age:
|
||||||
- enc: |
|
- enc: |
|
||||||
@@ -20,7 +23,7 @@ sops:
|
|||||||
hf9QRDmVWjp9NEStovhWRfjUxJyHNHMOB5XNBjcFcDKrYNaYoz4i3w==
|
hf9QRDmVWjp9NEStovhWRfjUxJyHNHMOB5XNBjcFcDKrYNaYoz4i3w==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
recipient: age1ttmws269mrs30f65qwky5rzkwuq0dcfgrhgegxr7u9x9ty2nqfxq9v8dwu
|
recipient: age1ttmws269mrs30f65qwky5rzkwuq0dcfgrhgegxr7u9x9ty2nqfxq9v8dwu
|
||||||
lastmodified: "2026-09-25T18:29:05Z"
|
lastmodified: "2026-09-30T04:37:56Z"
|
||||||
mac: ENC[AES256_GCM,data:ogyYh/cu3aAQhOzuQ6fbN9UeWOR7IKAQWcDhfKEo7gr4shpQwxRSUx0kLjj/buJfa8+l0cO0TodH23CfQE++xjFAy7m6lgIPTrAX0OQ/6QAaFCB0HV4ifwZ+l3yod4CCD3MEx6E5irsb1xyrz4lEQdlywyWIp6Zc3XKuSEpdOdg=,iv:EiZvFZhQgmJgAA+RBC+/0QPkp3ssbzbWaQ+lfrPhJPo=,tag:SFGlHRfsgc6zev3dDXxBow==,type:str]
|
mac: ENC[AES256_GCM,data:2tT5VQfVtkuWONRr3n+f1hjDKDWN6kwWnvfA/y/Aq3QgpDBti+eIxfSLcoJeSQlFVZKSD9GCCD8XNKh7zd2V4q66alnaUkU/SUEEbX0i3SZurGuSswxkkmfYfIjsd3XM7qP/idrbGfeWXsrZqvcemY3UWfft2StpzYxCN9pIpX8=,iv:lLqgK4I8K9A9KTzTyS1Qn+4Fi/EJP7CEMnYW2dh6uTc=,tag:Cl0xgKF6hEDbA1SM/oygMg==,type:str]
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.13.3
|
version: 3.13.3
|
||||||
|
|||||||
Reference in New Issue
Block a user