This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / 2configs / codimd.nix
1.8 kB 73 lines
1{ config, pkgs, lib, ... }: 2let 3 domain = "pad.lassul.us"; 4in 5{ 6 7 # redirect legacy domain to new one 8 services.nginx.virtualHosts."codi.lassul.us" = { 9 enableACME = true; 10 addSSL = true; 11 locations."/".return = "301 https://${domain}\$request_uri"; 12 }; 13 14 services.nginx.virtualHosts.${domain} = { 15 enableACME = true; 16 forceSSL = true; 17 locations."/" = { 18 proxyPass = "https://localhost:3091"; 19 proxyWebsockets = true; 20 }; 21 }; 22 23 security.acme.certs.${domain}.group = "hedgecert"; 24 users.groups.hedgecert.members = [ "hedgedoc" "nginx" ]; 25 26 security.dhparams = { 27 enable = true; 28 params.hedgedoc = { }; 29 }; 30 31 systemd.services.hedgedoc.environment = { 32 CMD_COOKIE_POLICY = "none"; 33 CMD_CSP_ALLOW_FRAMING = "true"; 34 }; 35 36 services.borgbackup.jobs.hetzner.paths = [ 37 "/var/backup" 38 "/var/lib/hedgedoc" 39 ]; 40 systemd.services.hedgedoc-backup = { 41 startAt = "daily"; 42 serviceConfig = { 43 ExecStart = pkgs.writers.writeDash "pad-backup" '' 44 until ${pkgs.sqlite}/bin/sqlite3 /var/lib/hedgedoc/db.hedgedoc.sqlite ".backup /var/backup/hedgedoc/backup.sq3"; do 45 sleep 1 46 done 47 ''; 48 Type = "oneshot"; 49 }; 50 }; 51 52 services.hedgedoc = { 53 enable = true; 54 configuration.allowOrigin = [ domain ]; 55 settings = { 56 db = { 57 dialect = "sqlite"; 58 storage = "/var/lib/hedgedoc/db.hedgedoc.sqlite"; 59 }; 60 useCDN = false; 61 port = 3091; 62 domain = domain; 63 allowFreeURL = true; 64 65 useSSL = true; 66 protocolUseSSL = true; 67 sslCAPath = [ "/etc/ssl/certs/ca-certificates.crt" ]; 68 sslCertPath = "/var/lib/acme/${domain}/cert.pem"; 69 sslKeyPath = "/var/lib/acme/${domain}/key.pem"; 70 dhParamPath = config.security.dhparams.params.hedgedoc.path; 71 }; 72 }; 73}