• 0 Posts
  • 4 Comments
Joined 23 days ago
cake
Cake day: October 1st, 2026

help-circle
  • If you’d rather keep Vikunja as the backend and web UI, it has a CalDAV endpoint, so you can point DAVx5 at it and use Tasks.org or jtx Board on Android for the reminders themselves. That gets you native Android notifications without email, and you keep the web interface for planning. Vikunja’s CalDAV side is less mature than its web UI, though, so test whether due dates and reminders come across the way you expect before moving everything over.

    For notifications that aren’t tied to a task app (say, “remind me when X happens” from a script or Home Assistant), ntfy is the simplest self-hosted push to Android, as mentioned above.


  • The most useful number you can get is from your own stack: put your actual app on the box and hit it with k6 or wrk using a realistic mix of pages, and watch memory rather than CPU. On 2 GB the failure mode is almost always RAM: too many PHP-FPM/worker processes plus a database on default buffers, then swap thrashing and the OOM killer, long before the single core is the limit.

    What buys the most headroom on boxes this size:

    • cap the worker count (pm.max_children or the equivalent) to what actually fits in RAM
    • size the DB buffer pool deliberately instead of leaving defaults
    • zram for bursts
    • serve anything static or cacheable straight from nginx so it never touches the app

    And rate-limit or block the obvious scrapers. As someone said above, bot traffic is often the real load.


  • If you end up running it headless (game streaming host, Jellyfin/Immich worker, whatever), two small things save a lot of hassle:

    • Get an HDMI dummy plug (a “display emulator”, a few euros). With no internal panel detected and nothing on HDMI, the GPU often has no proper display to render to, and Sunshine/Steam streaming in particular wants a “real” display to capture at the resolution you pick.
    • Check the BIOS for a “power on after AC loss” / “auto power on” option. Plenty of laptops don’t have it, but if yours does, it comes back on its own after an outage like a proper server. Otherwise Wake-on-LAN from one of your mini PCs is the fallback.

    And since storage is your bottleneck right now, open it up and see if there’s a second M.2 slot. Some of these chassis have one, and then it could hold some data while also taking the Immich/Paperless ML jobs on the 3050Ti.


  • For anyone testing the beta, the two lower-level changes are probably the ones most worth poking at before the 15 October release, since they’re the ones most likely to break things silently rather than visibly:

    • Rust coreutils is now complete, including cp, mv and rm. If you have backup scripts, deploy scripts or anything that parses the output of these tools or relies on less common GNU flags, run them on the beta now and report differences upstream to uutils. Behaviour differences in edge cases (symlinks, sparse files, odd permissions, error messages) are exactly what a beta is for.
    • dbus-broker replacing dbus-daemon: mostly invisible, but if you have custom D-Bus policy files or services that do unusual things on the session bus, it’s worth checking the journal for warnings after login.

    The OOM change (core desktop processes getting lower OOM scores) sounds like a genuine quality-of-life fix for anyone who’s had the whole session killed while a browser ate all the RAM.