Monorepo for Tangled tangled.org
1{ 2 config, 3 pkgs, 4 lib, 5 ... 6}: let 7 cfg = config.services.bluesky-relay; 8in 9 with lib; { 10 options.services.bluesky-relay = { 11 enable = mkEnableOption "relay server"; 12 package = mkPackageOption pkgs "bluesky-relay" {}; 13 }; 14 config = mkIf cfg.enable { 15 systemd.services.bluesky-relay = { 16 description = "bluesky relay"; 17 after = ["network.target" "pds.service"]; 18 wantedBy = ["multi-user.target"]; 19 20 serviceConfig = { 21 User = "relay"; 22 Group = "relay"; 23 StateDirectory = "relay"; 24 StateDirectoryMode = "0755"; 25 Environment = [ 26 "RELAY_ADMIN_PASSWORD=password" 27 "RELAY_PLC_HOST=https://plc.tngl.boltless.dev" 28 "DATABASE_URL=sqlite:///var/lib/relay/relay.sqlite" 29 "RELAY_IP_BIND=:2470" 30 "RELAY_PERSIST_DIR=/var/lib/relay" 31 "RELAY_DISABLE_REQUEST_CRAWL=0" 32 "RELAY_INITIAL_SEQ_NUMBER=1" 33 "RELAY_ALLOW_INSECURE_HOSTS=1" 34 ]; 35 ExecStart = "${getExe cfg.package} serve"; 36 Restart = "always"; 37 RestartSec = 5; 38 }; 39 }; 40 users = { 41 users.relay = { 42 group = "relay"; 43 isSystemUser = true; 44 }; 45 groups.relay = {}; 46 }; 47 }; 48 }