this repo has no description
2
fork

Configure Feed

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

working ulogger!

+84 -134
+8 -8
flake.lock
··· 32 32 ] 33 33 }, 34 34 "locked": { 35 - "lastModified": 1680877018, 36 - "narHash": "sha256-jhd0G+LWF79L2m8dME55pBBoDY1FBenZ75WgKRA/Quk=", 35 + "lastModified": 1682226636, 36 + "narHash": "sha256-fmETHfUtQ5zOVr/4MT5wE7eNALCSQCnEUYZYmV3UEwg=", 37 37 "ref": "main", 38 - "rev": "15db0ea5c19c70bce8504290724661586dc94006", 39 - "revCount": 71, 38 + "rev": "095d14ff2469c8f3de7cbf45d229c0f46a733aae", 39 + "revCount": 77, 40 40 "type": "git", 41 41 "url": "ssh://gitea@git.sealight.xyz/aynish/basant" 42 42 }, ··· 403 403 "vimwiki-cli": "vimwiki-cli" 404 404 }, 405 405 "locked": { 406 - "lastModified": 1681311621, 407 - "narHash": "sha256-EQo+NdexCl+7I8vTsXpPvLHKJNU7dd4nRE2PqEoGJCA=", 406 + "lastModified": 1682222403, 407 + "narHash": "sha256-mLheDjdJ9TkmrR62FlPQtrYxKc/PJt4lhNBi5s9A97U=", 408 408 "ref": "main", 409 - "rev": "dfb078dbd8eb679e8f133afb4b6fec0f9e229b6c", 410 - "revCount": 607, 409 + "rev": "01fae2ec19d01256c17b58dcdc8ff43d717ec9da", 410 + "revCount": 640, 411 411 "type": "git", 412 412 "url": "ssh://gitea@git.sealight.xyz/aynish/kitaab" 413 413 },
+4
flake.nix
··· 83 83 unstable = unstable.legacyPackages.${prev.system}; 84 84 deploy = deploy-rs.packages.${prev.system}.deploy-rs; 85 85 }; 86 + llamaOverlay = final: prev: { 87 + llama = llamacpp.packages.${prev.system}.default; 88 + }; 86 89 87 90 nixpkgsFor = forAllSystems (system: import nixpkgs { 88 91 inherit system; ··· 222 225 self.nixosModules.wireguard 223 226 self.nixosModules.wallabag 224 227 self.nixosModules.gonic 228 + self.nixosModules.ulogger-server 225 229 # grasp.nixosModule 226 230 home-manager.nixosModules.home-manager 227 231 {
+1
hosts/box/default.nix
··· 22 22 # ../profiles/archivebox 23 23 ../profiles/woodpecker-agent 24 24 ../profiles/jellyfin 25 + ../profiles/ulogger-server 25 26 ]; 26 27 27 28 # Something broke when manually updating grasp...
+1
hosts/profiles/dns/default.nix
··· 26 26 "paper.mossnet.lan" 27 27 "cal.mossnet.lan" 28 28 "archive.mossnet.lan" 29 + "tracks.mossnet.lan" 29 30 ]; 30 31 "192.168.1.226" = [ 31 32 "df-web.lan"
+15 -69
hosts/profiles/ulogger-server/default.nix
··· 2 2 3 3 { 4 4 services.postgresql = { 5 + enable = true; 5 6 ensureDatabases = [ "ulogger" ]; 6 7 ensureUsers = [{ 7 8 name = "ulogger"; ··· 14 15 services.ulogger = { 15 16 enable = true; 16 17 hostName = "tracks.mossnet.lan"; 18 + user = "ulogger"; 17 19 conf = '' 18 20 <?php 19 21 /* μlogger ··· 37 39 // This is default configuration file. 38 40 // Copy it to config.php and customize 39 41 40 - // default map drawing framework 41 - // (gmaps = google maps, openlayers = openlayers/osm) 42 - //$mapapi = "gmaps"; 43 - $mapapi = "openlayers"; 44 - 45 - // openlayers additional map layers 46 - // OpenCycleMap (0 = no, 1 = yes) 47 - $layer_ocm = 1; 48 - // MapQuest-OSM (0 = no, 1 = yes) 49 - $layer_mq = 1; 50 - // osmapa.pl (0 = no, 1 = yes) 51 - $layer_osmapa = 1; 52 - // UMP (0 = no, 1 = yes) 53 - $layer_ump = 1; 54 - 55 - // default coordinates for initial map 56 - $init_latitude = 52.23; 57 - $init_longitude = 21.01; 58 - 59 - // you may set your google maps api key 60 - // this is not obligatory by now 61 - //$gkey = ""; 62 - 63 - // MySQL config 64 - $dbhost = "localhost"; // mysql host, eg. localhost 65 - $dbuser = "ulogger"; // database user 66 - $dbpass = ""; // database pass 67 - $dbname = "ulogger"; // database name 68 - $dbprefix = ""; // optional table names prefix, eg. "ulogger_" 69 - 70 - // other 71 - // require login/password authentication 72 - // (0 = no, 1 = yes) 73 - $require_authentication = 0; 74 - 75 - // all users tracks are visible to authenticated user 76 - // (0 = no, 1 = yes) 77 - $public_tracks = 0; 78 - 79 - // admin user, who 80 - // - can add new users 81 - // - can edit all tracks, users 82 - // - has access to all users locations 83 - // none if empty 84 - $admin_user = "admin"; 42 + // Database config 85 43 86 - // miniumum required length of user password 87 - $pass_lenmin = 12; 88 - 89 - // required strength of user password 90 - // 0 = no requirements, 91 - // 1 = require mixed case letters (lower and upper), 92 - // 2 = require mixed case and numbers, 93 - // 3 = require mixed case, numbers and non-alphanumeric characters 94 - $pass_strength = 0; 44 + // PDO data source name, eg.: 45 + // mysql:host=localhost;port=3307;dbname=ulogger;charset=utf8 46 + // mysql:unix_socket=/path/to/mysql.sock;dbname=ulogger;charset=utf8 47 + // pgsql:host=localhost;port=5432;dbname=ulogger 48 + // sqlite:/path/to/ulogger.db 49 + $dbdsn = "pgsql:host=/run/postgresql/;port=5432;dbname=ulogger"; 95 50 96 - // Default interval in seconds for live auto reload 97 - $interval = 10; 51 + // Database user name 52 + $dbuser = "ulogger"; 98 53 99 - // Default language 100 - // (en, pl, de, hu) 101 - $lang = "en"; 102 - //$lang = "pl"; 103 - //$lang = "de"; 104 - //$lang = "hu"; 105 - //$lang = "fr"; 106 - //$lang = "it"; 54 + // Database user password 55 + $dbpass = ""; 107 56 108 - // units 109 - // (metric, imperial) 110 - $units = "metric"; 111 - //$units = "imperial"; 57 + // Optional table names prefix, eg. "ulogger_" 58 + $dbprefix = ""; 112 59 113 60 ?> 114 - 115 61 ''; 116 62 }; 117 63 }
+1
modules/nixos/default.nix
··· 8 8 hesienbridge = import ./heisenbridge.nix; 9 9 wireguard = import ./wireguard.nix; 10 10 backup = import ./backup.nix; 11 + ulogger-server = import ./ulogger.nix; 11 12 }
+51 -56
modules/nixos/ulogger.nix
··· 9 9 configFile = pkgs.writeTextFile { 10 10 name = "ulogger-config"; 11 11 text = cfg.conf; 12 - destination = "config.php"; 13 - }; 14 - 15 - appDir = pkgs.buildEnv { 16 - name = "ulogger-app-dir"; 17 - ignoreCollisions = true; 18 - checkCollisionContents = false; 19 - paths = [ configFile "${cfg.package}/app" ]; 12 + destination = "/config.php"; 20 13 }; 21 14 22 15 in ··· 207 200 services.nginx.virtualHosts."${cfg.hostName}" = { 208 201 enableACME = false; 209 202 forceSSL = false; 210 - root = "${cfg.package}"; 203 + root = "${cfg.dataDir}"; 211 204 212 205 extraConfig = '' 206 + index index.php; 213 207 add_header X-Frame-Options SAMEORIGIN; 214 208 add_header X-Content-Type-Options nosniff; 215 209 add_header X-XSS-Protection "1; mode=block"; 216 210 ''; 217 211 218 - locations."/" = { 219 - extraConfig = '' 220 - ''; 221 - }; 222 - 223 - locations."~ ^/app\\.php(/|$)" = { 212 + locations."~ .php$" = { 224 213 extraConfig = '' 225 214 fastcgi_pass unix:${config.services.phpfpm.pools."${poolName}".socket}; 226 215 include ${pkgs.nginx}/conf/fastcgi_params; 227 216 include ${pkgs.nginx}/conf/fastcgi.conf; 228 - fastcgi_index ${conf.pkg}/index.php; 217 + fastcgi_param DOCUMENT_ROOT ${cfg.dataDir}; 218 + fastcgi_param SCRIPT_FILENAME ${cfg.dataDir}/$fastcgi_script_name; 219 + fastcgi_index index.php; 229 220 ''; 230 221 }; 222 + }; 231 223 232 - systemd.services.ulogger-install = { 233 - description = "ulogger install service"; 234 - wantedBy = [ "multi-user.target" ]; 235 - before = [ "phpfpm-ulogger.service" ]; 236 - after = [ "mysql.service" "postgresql.service" ]; 237 - path = with pkgs; [ coreutils php phpPackages.composer ]; 224 + users.users = { 225 + ${cfg.user} = { 226 + group = "nginx"; 227 + description = "ulogger server user"; 228 + isSystemUser = true; 229 + }; 230 + }; 238 231 239 - serviceConfig = { 240 - User = cfg.user; 241 - Type = "oneshot"; 242 - RemainAfterExit = "yes"; 243 - PermissionsStartOnly = true; 244 - }; 232 + systemd.services.ulogger-install = { 233 + description = "ulogger install service"; 234 + wantedBy = [ "multi-user.target" ]; 235 + before = [ "phpfpm-ulogger.service" ]; 236 + after = [ "mysql.service" "postgresql.service" ]; 237 + path = with pkgs; [ coreutils php phpPackages.composer postgresql ]; 245 238 246 - preStart = '' 247 - mkdir -p "${cfg.dataDir}" 248 - mkdir -p "${cfg.dataDir}/uploads" 249 - chown ${cfg.user}:nginx "${cfg.dataDir}" 250 - ''; 239 + serviceConfig = { 240 + User = cfg.user; 241 + Type = "oneshot"; 242 + RemainAfterExit = "yes"; 243 + PermissionsStartOnly = true; 244 + }; 251 245 252 - environment = { 253 - ULOGGER_ADMIN_USER = "admin"; 254 - ULOGGER_ADMIN_PASSWORD = "admin"; 255 - }; 246 + preStart = '' 247 + mkdir -p "${cfg.dataDir}" 248 + mkdir -p "${cfg.dataDir}/uploads" 249 + chown -R ${cfg.user}:nginx "${cfg.dataDir}" 250 + ''; 256 251 257 - script = '' 258 - echo "Setting up wallabag files in ${cfg.dataDir} ..." 259 - cd "${cfg.dataDir}" 252 + environment = { 253 + ULOGGER_ADMIN_USER = "admin"; 254 + ULOGGER_ADMIN_PASSWORD = "\$2y\$10\$7OvZrKgonVZM9lkzrTbiou.CVhO3HjPk5y0W9L68fVwPs/osBRIMq"; # hashed "admin" 255 + }; 260 256 261 - rm -rf var/cache/* 262 - rm -f app 263 - ln -sf ${appDir} app 264 - ln -sf ${cfg.package}/composer.{json,lock} . 257 + script = '' 258 + echo "Setting up ulogger-server files in ${cfg.dataDir} ..." 259 + cd "${cfg.dataDir}" 265 260 266 - if [ ! -f installed ]; then 267 - echo "Install file not found, installing ..." 268 - # TODO, taken from https://github.com/bfabiszewski/ulogger-server/blob/master/.docker/init.sh 269 - su postgres -c "psql -U ulogger < ${appDir}/scripts/ulogger.pgsql" 270 - su postgres -c "psql -d ulogger -c \"INSERT INTO users (login, password, admin) VALUES ('$ULOGGER_ADMIN_USER', '$ULOGGER_ADMIN_PASSWORD', TRUE)\"" 271 - touch installed 272 - fi 273 - ''; 274 - }; 275 - }; 261 + cp -R ${cfg.package}/* ./ 262 + cp ${configFile}/config.php ./ 276 263 277 - meta = with stdenv.lib; { 278 - maintainers = with maintainers; [ nadrieril ]; 264 + if [ ! -f installed ]; then 265 + echo "Install file not found, installing ..." 266 + psql -U ulogger < ${cfg.package}/scripts/ulogger.pgsql 267 + psql -d ulogger -c "INSERT INTO users (login, password, admin) VALUES ('$ULOGGER_ADMIN_USER', '$ULOGGER_ADMIN_PASSWORD', TRUE)" 268 + touch installed 269 + fi 270 + ''; 279 271 }; 272 + }; 280 273 274 + meta = with stdenv.lib; { 275 + maintainers = with maintainers; [ nadrieril ]; 281 276 }; 282 277 }
+1
pkgs/default.nix
··· 7 7 fennel-ls = pkgs.callPackage ./fennel-ls.nix { }; 8 8 kobopatch = pkgs.callPackage ./kobopatch.nix { }; 9 9 my-mautrix-discord = pkgs.callPackage ./mautrix-discord.nix { }; # Handled by matrix-appservices input 10 + ulogger-server = pkgs.callPackage ./ulogger.nix { }; 10 11 }
+2 -1
pkgs/ulogger.nix
··· 10 10 # Release tarball includes vendored files 11 11 src = fetchurl { 12 12 url = "https://github.com/bfabiszewski/ulogger-server/archive/refs/tags/v${version}.tar.gz"; 13 - hash = ""; 13 + hash = "sha256-+ZyNA5+lhD6DKXIWNdlLA7ArtV1F61H3UmMyRVRdws0="; 14 14 }; 15 15 16 16 dontBuild = true; ··· 19 19 runHook preInstall 20 20 rm -R .docker 21 21 rm -R .tests 22 + rm -R uploads/ 22 23 mkdir $out 23 24 cp -R * $out/ 24 25 runHook postInstall