Compare commits
2 commits
6bb66f3e21
...
2ce900c1c8
Author | SHA1 | Date | |
---|---|---|---|
2ce900c1c8 | |||
fae126b438 |
3 changed files with 46 additions and 6 deletions
39
backup.nix
Normal file
39
backup.nix
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
user = "misskey-backup";
|
||||||
|
group = user;
|
||||||
|
|
||||||
|
# shell script file to be sourced. must have values "bucket" "prefix" and "s3cfg"
|
||||||
|
backupConfigFile = "/etc/misskey-backup";
|
||||||
|
backupScript = pkgs.writeShellApplication {
|
||||||
|
name = "misskey-backup";
|
||||||
|
|
||||||
|
runtimeInputs = with pkgs; [
|
||||||
|
gzip
|
||||||
|
config.services.postgresql.package
|
||||||
|
s3cmd
|
||||||
|
coreutils
|
||||||
|
];
|
||||||
|
|
||||||
|
text = ''
|
||||||
|
source "${backupConfigFile}"
|
||||||
|
pg_dump misskey | gzip | s3cmd put --config "$s3cfg" - "s3://$bucket/$prefix/misskey-pgdump-$(date --iso-8601).sql.gz"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
users.users."${user}" = {
|
||||||
|
isSystemUser = true;
|
||||||
|
inherit group;
|
||||||
|
};
|
||||||
|
users.groups."${group}" = { };
|
||||||
|
services.postgresql.ensureUsers = [{ name = user; }];
|
||||||
|
|
||||||
|
services.cron = {
|
||||||
|
enable = true;
|
||||||
|
systemCronJobs = [
|
||||||
|
# run every monday at ass in the morning, EST"
|
||||||
|
"0 8 0 0 1 ${user} ${backupScript}"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,6 +6,7 @@
|
||||||
./ogdo.nix
|
./ogdo.nix
|
||||||
./postfix.nix
|
./postfix.nix
|
||||||
./nebula.nix
|
./nebula.nix
|
||||||
|
./backup.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
|
|
12
flake.lock
generated
12
flake.lock
generated
|
@ -2,11 +2,11 @@
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728328465,
|
"lastModified": 1734529975,
|
||||||
"narHash": "sha256-a0a0M1TmXMK34y3M0cugsmpJ4FJPT/xsblhpiiX1CXo=",
|
"narHash": "sha256-ze3IJksru9dN0keqUxY0WNf8xrwfs8Ty/z9v/keyBbg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1bfbbbe5bbf888d675397c66bfdb275d0b99361c",
|
"rev": "72d11d40b9878a67c38f003c240c2d2e1811e72a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -24,11 +24,11 @@
|
||||||
},
|
},
|
||||||
"unstable": {
|
"unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728241625,
|
"lastModified": 1734424634,
|
||||||
"narHash": "sha256-yumd4fBc/hi8a9QgA9IT8vlQuLZ2oqhkJXHPKxH/tRw=",
|
"narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c31898adf5a8ed202ce5bea9f347b1c6871f32d1",
|
"rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue