Compare commits

...

6 commits

Author SHA1 Message Date
chaos fef99021b9
add backups for notes 2024-04-28 11:54:10 +01:00
chaos f0bc4e058f
add reverse proxy for notes share 2024-04-26 19:58:03 +01:00
chaos c84a946b76
add serve for notes 2024-04-26 19:57:02 +01:00
chaos a657ea7da5
add secrets for webdav and crypt 2024-04-26 19:55:22 +01:00
chaos c5aae8b387
add notes crypt to rclone config 2024-04-26 19:48:34 +01:00
chaos 60e00f5a76 add port for notes webdav 2024-04-26 19:36:58 +01:00
6 changed files with 54 additions and 4 deletions

View file

@ -9,6 +9,7 @@ in {
webdav_public = webdav + 3;
webdav_uploads = webdav + 4;
webdav_gaming = webdav + 5;
webdav_notes = webdav + 6;
restic_music = restic + 0;
restic_vault = restic + 1;

View file

@ -82,6 +82,16 @@ hard_delete = true
type = alias
remote = B2-Chaos-Public-Source:Chaos-Public
[B2-Chaos-Notes-Source]
type = b2
account = B2_CHAOS_NOTES_ACCOUNT
key = B2_CHAOS_NOTES_KEY
hard_delete = true
[B2-Chaos-Notes]
type = alias
remote = B2-Chaos-Notes-Source:Chaos-Notes
[B2-Phoenix-Cryptidz-Storage-Source]
type = b2
account = B2_PHOENIX_CRYPTIDZ_STORAGE_ACCOUNT
@ -144,3 +154,9 @@ password2 = STORAGE_GAMING_CRYPT_SALT
type = chunker
remote = Gaming-Source:
chunk_size = 128Mi
[Notes]
type = crypt
remote = StorageBox:Notes
password = STORAGE_NOTES_CRYPT_PASSWORD
password2 = STORAGE_NOTES_CRYPT_SALT

View file

@ -91,6 +91,7 @@ in {
"/Public/".proxyPass = "http://${containerIP}:${toString ports.webdav_public}";
"/Uploads/".proxyPass = "http://${containerIP}:${toString ports.webdav_uploads}";
"/Gaming/".proxyPass = "http://${containerIP}:${toString ports.webdav_gaming}";
"/Notes/".proxyPass = "http://${containerIP}:${toString ports.webdav_notes}";
};
extraConfig = ''
client_max_body_size ${clientMaxBodySize};

View file

@ -91,6 +91,16 @@ in {
"--vfs-cache-max-age=5m"
"--vfs-cache-max-size=1g"
"--vfs-cache-mode=full"
];
}
{
id = "notes";
remote = "Notes:";
type = "webdav";
extraArgs = [
"--addr=0.0.0.0:${toString ports.webdav_notes}"
"--htpasswd=${secrets.webdav_notes_htpasswd.path}"
"--baseurl=/Notes/"
];
}
{

View file

@ -47,6 +47,11 @@ in {
dest = "B2-Chaos-Public:";
id = "chaos_b2_public";
}
{
source = "StorageBox:Notes";
dest = "B2-Chaos-Notes:";
id = "chaos_notes_public";
}
# Pheonix System's B2
{
source = "StorageBox:Backups";
@ -73,6 +78,11 @@ in {
dest = "B2-Phoenix-Cryptidz-Storage:Public";
id = "phoenix_b2_public";
}
{
source = "StorageBox:Notes";
dest = "B2-Phoenix-Cryptidz-Storage:Notes";
id = "phoenix_b2_notes";
}
];
};
}

View file

@ -23,6 +23,7 @@
"api-keys/data/backblaze/Chaos-Public"
"api-keys/data/backblaze/Chaos-Media"
"api-keys/data/backblaze/Chaos-Gaming"
"api-keys/data/backblaze/Chaos-Notes"
"api-keys/data/backblaze/Phoenix-Cryptidz-Storage"
"api-keys/data/storage/restic/Music"
@ -43,9 +44,11 @@
"api-keys/data/storage/webdav/Public"
"api-keys/data/storage/webdav/Uploads"
"api-keys/data/storage/webdav/Gaming"
"api-keys/data/storage/webdav/Notes"
"private-public-keys/data/rclone/Chaos-Media-Crypt"
"private-public-keys/data/rclone/Chaos-Gaming-Crypt"
"private-public-keys/data/rclone/Chaos-Notes-Crypt"
];
packages = with pkgs; [
@ -235,6 +238,13 @@
simple_get_htpasswd "/api-keys/storage/webdav/Gaming" "$secretFile"
'';
};
webdav_notes_htpasswd = {
user = "storage";
group = "storage";
fetchScript = ''
simple_get_htpasswd "/api-keys/storage/webdav/Notes" "$secretFile"
'';
};
rclone_config = {
user = "storage";
@ -252,6 +262,7 @@
simple_get_replace_b2 "/api-keys/backblaze/Chaos-Music" "B2_CHAOS_MUSIC" "$secretFile"
simple_get_replace_b2 "/api-keys/backblaze/Chaos-Personal" "B2_CHAOS_PERSONAL" "$secretFile"
simple_get_replace_b2 "/api-keys/backblaze/Chaos-Public" "B2_CHAOS_PUBLIC" "$secretFile"
simple_get_replace_b2 "/api-keys/backblaze/Chaos-Notes" "B2_CHAOS_NOTES" "$secretFile"
simple_get_replace_b2 "/api-keys/backblaze/Phoenix-Cryptidz-Storage" "B2_PHOENIX_CRYPTIDZ_STORAGE" "$secretFile"
PUTIO_PASSWORD="token/$(simple_get /api-keys/putio .oauth_token)"
@ -260,6 +271,7 @@
simple_get_replace_crypt "/private-public-keys/rclone/Chaos-Media-Crypt" "STORAGE_MEDIA_CRYPT" "$secretFile"
simple_get_replace_crypt "/private-public-keys/rclone/Chaos-Gaming-Crypt" "STORAGE_GAMING_CRYPT" "$secretFile"
simple_get_replace_crypt "/private-public-keys/rclone/Chaos-Notes-Crypt" "STORAGE_NOTES_CRYPT" "$secretFile"
'';
};
};