Add encrypted vault for dungflix

This commit is contained in:
2022-07-15 00:58:39 +01:00
parent 93d914ade6
commit f4e537f2db
4 changed files with 51 additions and 4 deletions

View File

@@ -8,11 +8,16 @@
file = '' file = ''
[dungflix] [dungflix]
type = b2 type = b2
[dungflix-vault]
type = crypt
remote = dungflix:dungflix-bucket
''; '';
in { in {
age.secrets = { age.secrets = {
dungflix_bucket_account_id.file = ../../secrets/dungflix_bucket_account_id.age; dungflix_bucket_account_id.file = ../../secrets/dungflix_bucket_account_id.age;
dungflix_bucket_account_key.file = ../../secrets/dungflix_bucket_account_key.age; dungflix_bucket_account_key.file = ../../secrets/dungflix_bucket_account_key.age;
dungflix_crypt_remote_obscured_pass.file = ../../secrets/dungflix_crypt_remote_obscured_pass.age;
}; };
systemd.services.dungflix-mount = { systemd.services.dungflix-mount = {
description = "Mount the Backblaze B2 media store"; description = "Mount the Backblaze B2 media store";
@@ -24,15 +29,23 @@ in {
script = '' script = ''
export RCLONE_B2_ACCOUNT=''$(cat ${config.age.secrets.dungflix_bucket_account_id.path}) export RCLONE_B2_ACCOUNT=''$(cat ${config.age.secrets.dungflix_bucket_account_id.path})
export RCLONE_B2_KEY=''$(cat ${config.age.secrets.dungflix_bucket_account_key.path}) export RCLONE_B2_KEY=''$(cat ${config.age.secrets.dungflix_bucket_account_key.path})
${pkgs.rclone}/bin/rclone --config="${pkgs.writeText "" file}" mount dungflix:dungflix-bucket ${mountdir} \ export RCLONE_CRYPT_PASSWORD=''$(cat ${config.age.secrets.dungflix_crypt_remote_obscured_pass.path})
${pkgs.rclone}/bin/rclone --config="${pkgs.writeText "" file}" mount dungflix-vault: ${mountdir} \
--transfers 32 \
--vfs-cache-mode full \ --vfs-cache-mode full \
--vfs-cache-max-age 48h \ --vfs-cache-max-age 168h \
--vfs-cache-max-size 100G \ --vfs-cache-max-size 100G \
--allow-other \ --allow-other \
--no-modtime \ --no-modtime \
--buffer-size 2G \ --buffer-size 2G \
-vvv --fast-list \
--rc \
--rc-no-auth \
-vv
'';
postStart = ''
sleep 5
${pkgs.rclone}/bin/rclone rc vfs/refresh recursive=true _async=true
''; '';
postStop = "fusermount -u ${mountdir}";
}; };
} }

View File

@@ -0,0 +1,16 @@
age-encryption.org/v1
-> ssh-ed25519 eYYv1Q Ri4RQl9mOus2QIc66lZJu42a4RoKszuLAf24wrJ0gTU
Od0pYVFw83zJtMy4qRazVKYdN1CAl854LCQMHKKrMWI
-> ssh-ed25519 Bp5IaA AxvFdHIXsB2m53sJmJ88xAsrqPuGZai8cmg9uS9lyQs
mXQyRTx5R9BS3S7PzpbL+0LZgQWXIzibw9Q6kvIM0HU
-> ssh-ed25519 T/DpgA EiTxdl7hNm0YT/DStbkiMjsND7c3W5m+9c9IF2EkZhA
c1qlwzN9mkoAZVun2p1qNs+PEkURvy9PEIp/dbFrAR8
-> ssh-ed25519 qMgRFg 0/DYlYNpoBw0rw3J7h+41QoVxVs8Rf5UHICCidg3XjQ
eY+GeESrCCgb8dsU5nYndGwPmZEIXlBye65pRFj8A98
-> ssh-ed25519 GzHGXw gm0B2SupF0ClywijhXzH54dxMvlyTkNV8J5b6d5innQ
es3Y2pWvbEgPuk75bNLflZGluvfkvMo/ZP0haeJ3hMY
-> G-grease KrDpKj
K8OS1t1RFMg+g7UUV0DIE8GZ0uq/nSI/PYn6PPc0l5eMQtY43yYM+6BMHo4
--- o+/vzZhLVMl98K6lsA+ajy86cU1rNlRMyZOS3xDKdwA
<EFBFBD><EFBFBD>Í
9+[<5B>9D<39>hsJ\'<27>Ji<0F>x,]<5D><>قoP<6F>d.<2E>lK{<7B>5Gl<47>a<EFBFBD><61>Ս<EFBFBD><D58D>b<EFBFBD><62>r<EFBFBD>q˳D<CBB3><44><EFBFBD><EFBFBD>_<EFBFBD>Ɗ Ky<4B>N<EFBFBD><4E>/<2F><>ݏ;

View File

@@ -0,0 +1,16 @@
age-encryption.org/v1
-> ssh-ed25519 eYYv1Q 9IgOw7ZDBzu2zfk634z4jqpiE/2L8USNaUGe/YXQGmo
jzqRh2dW2tpItrXStlaV/2ye422c9Zj5tG7cKAhySdQ
-> ssh-ed25519 Bp5IaA qkHoHaSqfm6G8nuu1aATJi7wcp5rYe4PVKN/xp+0UnY
osoRd4i56Xh7zTru6Juj2HyrJNPqivwpHe6aK7+pmd8
-> ssh-ed25519 T/DpgA ybfFgOgMpPqvhUcys77ke0w301ZVAcGQXhmcip5wOXo
pyPe5wZCMVPVD0s9NbMXyq2kipcvuwAK3S0Tv7Bj4Wc
-> ssh-ed25519 qMgRFg hk7ceQIqtvqggk0Jyg/sDk7aUT3/sfkyvPWbC/8Q6VI
2per2s5msXlUUKI+w+uAaA5suHzAmb7TSKezcGekjmM
-> ssh-ed25519 GzHGXw Sj9hiYHxRWWAvgIBpKvrxtpPQInvT7gRSAjsRxnHdXQ
klgWxjpCBdEVthnHLw19otQxaPM3yFAPJ99JKFPzh9c
-> ]p-grease x*NAtKPV N6.Z{NW
yAbnz4dn7fdO9BUVHKU36mBFcgxdoxDdc2+5eOoF3rYLW9Sjs5MO2j76H6XB7jMz
R5IxqCY0PJDYaqT7sdgisaBGqWfGFqWeIilNjQPI63Q
--- bkdnuj10yhn2hWVp2bRU1mOf8CFp3QQb1aGcTecqIDM
<EFBFBD>d<EFBFBD><EFBFBD>Q><3E><><EFBFBD><EFBFBD>ZE:VCZ%<25><><EFBFBD><EFBFBD><EFBFBD>H<EFBFBD>.<2E><1A> W<>sC<>f<EFBFBD><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$u<>Y<EFBFBD> <1F><>$<24><>

View File

@@ -21,4 +21,6 @@ in {
"rclone_password2.age".publicKeys = users ++ [system2]; "rclone_password2.age".publicKeys = users ++ [system2];
"dungflix_bucket_account_id.age".publicKeys = users ++ [system2]; "dungflix_bucket_account_id.age".publicKeys = users ++ [system2];
"dungflix_bucket_account_key.age".publicKeys = users ++ [system2]; "dungflix_bucket_account_key.age".publicKeys = users ++ [system2];
"dungflix_crypt_remote_obscured_pass.age".publicKeys = users ++ [system2];
"dungflix_crypt_remote_pass.age".publicKeys = users ++ [system2];
} }