Compare commits

...

3 Commits

Author SHA1 Message Date
15848ec7ff remove dufs 2024-05-21 23:31:11 -07:00
4365b73384 remove radicale 2024-05-21 21:55:48 -07:00
4a4a1f92ec add radicale and nextcloud 2024-05-21 21:53:08 -07:00
7 changed files with 58 additions and 35 deletions

View File

@ -15,7 +15,10 @@ settings.
Keys for SSH aren't automatically placed with chezmoi `secret` since it complicated Keys for SSH aren't automatically placed with chezmoi `secret` since it complicated
things to much. The key for github SSH must be transferred manually from Bitwarden things to much. The key for github SSH must be transferred manually from Bitwarden
or `/run/secrets/keys/github_personal` to `~/.ssh/keys/github_personal`. or:
- `/run/secrets/keys/github_personal` to `~/.ssh/keys/github_personal`.
- `/run/secrets/radicale/users` to `~/.config/radicale/users`.
### Sops-nix ### Sops-nix

View File

@ -5,10 +5,10 @@
./wireguard-server.nix ./wireguard-server.nix
./samba-server.nix ./samba-server.nix
./syncthing.nix ./syncthing.nix
./share.nix
./rss.nix ./rss.nix
./home-assistant ./home-assistant
./gitea.nix ./gitea.nix
./nextcloud.nix
]; ];
nix = { nix = {
@ -126,13 +126,6 @@
"plot.tstarr.us" = (SSL // { "plot.tstarr.us" = (SSL // {
locations."/".proxyPass = "http://localhost:8988/"; locations."/".proxyPass = "http://localhost:8988/";
}); });
"share.tstarr.us" = (SSL // {
locations."/".proxyPass = "http://localhost:5001/";
extraConfig = ''
auth_pam "Password Required";
auth_pam_service_name "nginx";
'';
});
}; };
}; };

View File

@ -0,0 +1,44 @@
{ config, lib, pkgs, user, ... }:
{
environment.systemPackages = with pkgs; [
cron
];
services = {
nginx.virtualHosts = {
"cloud.tstarr.us" = {
forceSSL = true;
enableACME = true;
};
};
nextcloud = {
enable = true;
hostName = "cloud.tstarr.us";
# Need to manually increment with every major upgrade.
package = pkgs.nextcloud29;
# Let NixOS install and configure the database automatically.
database.createLocally = true;
# Let NixOS install and configure Redis caching automatically.
configureRedis = true;
# Increase the maximum file upload size to avoid problems uploading videos.
maxUploadSize = "16G";
https = true;
autoUpdateApps.enable = true;
settings = {
overwriteprotocol = "https";
default_phone_region = "US";
};
config = {
dbtype = "mysql";
adminuser = "admin";
adminpassFile = "/run/secrets/nextcloud/password";
};
};
};
}

View File

@ -1,22 +0,0 @@
{ config, lib, pkgs, user, ... }:
{
networking.firewall.allowedTCPPorts = [ 5001 ];
networking.firewall.allowedUDPPorts = [ 5001 ];
environment.systemPackages = with pkgs; [
dufs # Distinctive utility file server
];
systemd.services.share = {
description = "Start dufs for quick sharing of files";
wantedBy = [ "default.target" ];
restartIfChanged = true;
serviceConfig = {
Type = "simple";
Restart = "always";
ExecStart = "${pkgs.dufs}/bin/dufs -p 5001 -A /engi/apps/dufs/share";
};
};
}

View File

@ -52,10 +52,10 @@ in {
{ "toplevel_name" = "Bookmarks"; } { "toplevel_name" = "Bookmarks"; }
{ "name" = "Daily"; "children" = [ { "name" = "Daily"; "children" = [
{ "url" = "https://rss.tstarr.us"; name = "Miniflux"; } { "url" = "https://rss.tstarr.us"; name = "Miniflux"; }
{ "url" = "https://cloud.tstarr.us"; name = "Nextcloud"; }
{ "url" = "https://git.tstarr.us"; name = "Gitea"; } { "url" = "https://git.tstarr.us"; name = "Gitea"; }
{ "url" = "https://media.tstarr.us/web/index.html#!/home.html"; name = "Jellyfin"; } { "url" = "https://media.tstarr.us/web/index.html#!/home.html"; name = "Jellyfin"; }
{ "url" = "https://home.tstarr.us"; name = "Home Assistant"; } { "url" = "https://home.tstarr.us"; name = "Home Assistant"; }
{ "url" = "https://share.tstarr.us"; name = "Share (dufs)"; }
{ "url" = "https://www.youtube.com/feed/subscriptions"; name = "Youtube"; } { "url" = "https://www.youtube.com/feed/subscriptions"; name = "Youtube"; }
{ "url" = "https://gmail.com/"; name = "Mail"; } { "url" = "https://gmail.com/"; name = "Mail"; }
{ "url" = "https://github.com/"; name = "GitHub"; } { "url" = "https://github.com/"; name = "GitHub"; }

View File

@ -13,6 +13,9 @@ in {
# Keys # Keys
secrets."keys/github_personal" = { owner = "${user}"; }; secrets."keys/github_personal" = { owner = "${user}"; };
# Nextcloud password
secrets."nextcloud/password" = { owner = "nextcloud"; };
# Wireguard secrets # Wireguard secrets
secrets."wireguard/kestrel" = { owner = "${user}"; }; secrets."wireguard/kestrel" = { owner = "${user}"; };
secrets."wireguard/bulwark" = { owner = "${user}"; }; secrets."wireguard/bulwark" = { owner = "${user}"; };

View File

@ -1,3 +1,5 @@
nextcloud:
password: ENC[AES256_GCM,data:qI3PV8ybqKQ=,iv:aXQyTUQ9twlmMx3j01cfk6gy/1fAfUxjYXs5QXPUTjU=,tag:kY+lM1qGm+8OCKgDnXZwSw==,type:str]
keys: keys:
github_personal: ENC[AES256_GCM,data:JQ0l0VNKjgf2yq7nZSED+6gf27ILfkvkdJkcsBLcX0K5isogtlF8Y8zI28dqLsSmriHf7L52fy3LjXDVkxXl8XupyPxJF3roeAxtj2rwXhVxMkAAEcWCaFUpa1UI5I2LIV2Ne32Ug6I5CKLlEzWXs7AImYJmmw0B6cn1hPyHJKc0I0My5A2b6LJq5J7mrJJ+PnybDNPW7QvZ0hIcqjNIXv1gcf9XMo6RU0dYnnRJaf6w/D5Nvrj15OG6oCe2C7e7O+JjgjQahUOOTlp1/5bbTW5ZDWEUxIn4llCsrkjjdKkYrCmYhQ45NLk+ZpWgXJZLgbfgc25nUOiLOoGbxO7kXienrY1y+t7/UA5AqKHj6575Iy5wN+P/XqzQ6ARkBh5Jy5gvrGFBtxcHml5J/j8ROJ9CoHmiT0jNycEll2yFcnIqAIbPqPuuu341sErFT33SMRzxKmlmyCCjaJrZB423NHqLiTA8oQ+mmkvOaE3cmuEU5oCT7OhL+RELbMNWjNOz7weNNgbt+fyy/U+VmtobLCllhRFDo0I/OFuFZ/UUqqEAAjv/NPk5V+7yCtBb9CmFROD9cG9xxx0mdkt8GHXYML7mIrCe/8ILKm3oWSVEA5w=,iv:0my7Q3Uog/nu3A3IprXuRAMTYmSv9YV1bo3BSAk2wlk=,tag:u41VgXeMBb2righhXUrPUA==,type:str] github_personal: ENC[AES256_GCM,data:JQ0l0VNKjgf2yq7nZSED+6gf27ILfkvkdJkcsBLcX0K5isogtlF8Y8zI28dqLsSmriHf7L52fy3LjXDVkxXl8XupyPxJF3roeAxtj2rwXhVxMkAAEcWCaFUpa1UI5I2LIV2Ne32Ug6I5CKLlEzWXs7AImYJmmw0B6cn1hPyHJKc0I0My5A2b6LJq5J7mrJJ+PnybDNPW7QvZ0hIcqjNIXv1gcf9XMo6RU0dYnnRJaf6w/D5Nvrj15OG6oCe2C7e7O+JjgjQahUOOTlp1/5bbTW5ZDWEUxIn4llCsrkjjdKkYrCmYhQ45NLk+ZpWgXJZLgbfgc25nUOiLOoGbxO7kXienrY1y+t7/UA5AqKHj6575Iy5wN+P/XqzQ6ARkBh5Jy5gvrGFBtxcHml5J/j8ROJ9CoHmiT0jNycEll2yFcnIqAIbPqPuuu341sErFT33SMRzxKmlmyCCjaJrZB423NHqLiTA8oQ+mmkvOaE3cmuEU5oCT7OhL+RELbMNWjNOz7weNNgbt+fyy/U+VmtobLCllhRFDo0I/OFuFZ/UUqqEAAjv/NPk5V+7yCtBb9CmFROD9cG9xxx0mdkt8GHXYML7mIrCe/8ILKm3oWSVEA5w=,iv:0my7Q3Uog/nu3A3IprXuRAMTYmSv9YV1bo3BSAk2wlk=,tag:u41VgXeMBb2righhXUrPUA==,type:str]
wireguard: wireguard:
@ -20,8 +22,8 @@ sops:
ajM3YlJYU21PaHRyaGlUNy84RHN2SE0KAvMFdqnfV0TzfNcBdY7OvRLZrBb9uXSI ajM3YlJYU21PaHRyaGlUNy84RHN2SE0KAvMFdqnfV0TzfNcBdY7OvRLZrBb9uXSI
3y50yFhYnyXtWKLQFTwjN6S5dLaZgqhaGhEQyNCQxb5RGZJDR6g7Yw== 3y50yFhYnyXtWKLQFTwjN6S5dLaZgqhaGhEQyNCQxb5RGZJDR6g7Yw==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2024-01-15T07:18:45Z" lastmodified: "2024-05-22T04:53:58Z"
mac: ENC[AES256_GCM,data:9+RGSBzLB+cEPm8DJXXHg1gJct+7rqNWfkTWs2klJ0ebNyOmIrM7YAyqve7RylUJAREp2wpWBvs61GhGOCvfe40eAdzLCkoPVP6GaDFoQ0aFZ8t3hY8dCFifOnlo2HgFJ3eAXmX4jM+EI1AaK1/inPJyDrD+asR5hi0hXPk5wkY=,iv:QsLkyf+wakIOqmH1UUgas03sZGQfF2yFzNEv4WM8U1g=,tag:1JwMUjMLdllU20AErWmOMw==,type:str] mac: ENC[AES256_GCM,data:kFwTfaMijQWWfNMSkDjeVlPXhfrhxfgCgLZDTS4h2ENuNLhQkkUYfHyRaRFAzl+A74XydmAuHTdvl57yuehSkoXSE1NgmkbNVBbBxKB8p/HtFBV3hK0tuTE6E6ZzryI/9C7yPdKmuRIqIftUmdSaGPIU7CduBM+t1v1rhi8aWNg=,iv:HaQ+YUSRgqQSsyzvHGpDuC/Rw2jHJb4KtpvESzTBc8g=,tag:HVr6X67mIRPq038k/MnNkw==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.7.3 version: 3.8.1