[–] 1 point 6 hours ago

ARM is a non-issue these days for the usual self-hosted stuff; most popular images ship arm64 builds (check the tags on Docker Hub before you commit to one). For a box at your mum's, I'd honestly consider staying on macOS + Docker or OrbStack rather than Asahi, purely because remote fixes are easier when the OS is the boring one. Add Tailscale so you can reach it without opening ports. 8 GB is plenty for things like a photo backup, an ad blocker, or a small search engine like SearXNG; it's tight only if you try to run local LLMs on it.

  • source
  • [–] 1 point 6 hours ago

    What's stuck for me after trying too many things:

    • Ollama (or llama.cpp server if you want control over flags) as the model server, bound to localhost only
    • Open WebUI as the front-end; it also handles OpenAI-compatible APIs, so local and hosted models live in the same history
    • LiteLLM in between once you have more than one backend: one endpoint, per-key budgets, and logs
    • SearXNG as the search tool for anything agent-ish; keep concurrency low or upstream engines start blocking it

    Biggest lesson: RAM decides what you can run, and document upload/embeddings in Open WebUI eat more memory than chat does. On small boxes, point embeddings at an API or give it 4 GB.

  • source
  •  

    So n8n 3.0 is in beta and self-hosted is going Docker-only, no more npm/npx installs. Mine has been npx n8n in a tmux session for, uh, a long time. Time to move it.

    My plan, tell me what I'm missing:

    1. Update to the latest 2.x first and run Settings > Migration Report. It flags workflows using nodes that 3.0 removes (Function, Cron, Item Lists, some old ones).
    2. Copy ~/.n8n before touching anything. The encryption key is in there. If the container generates a fresh key, every saved credential turns into garbage. Either mount the old folder or set N8N_ENCRYPTION_KEY to the old value.
    3. Full backup, because 2.x to 3.x is one way. No downgrade.
    4. Bring up the container on a copy first, check a couple of webhooks still fire (WEBHOOK_URL!), then switch over.

    Breaking changes list: https://docs.n8n.io/changelog/v30-breaking-changes

    Anyone already done this? Did step 2 go as smoothly as it sounds?

     

    Been running Open WebUI on a little 2 GB / 1 vCPU VPS, API models only, no local LLM. Sharing because the RAM story wasn't what I expected.

    Just chatting? Totally fine. It mostly sits there forwarding requests and streaming replies back.

    The thing that bit me was document upload. The default image does embeddings locally (a small MiniLM model), so the moment someone drops a stack of PDFs into a knowledge base the CPU pins and memory climbs. On 2 GB that was where I started seeing the container get OOM-killed.

    What helped:

    • pointing embeddings at an API instead of computing them locally
    • just going to 4 GB once uploads became a daily thing
    • setting WEBUI_SECRET_KEY to a fixed value. before that, every redeploy logged everybody out and I thought I'd broken something

    Still on SQLite. Has anyone squeezed Postgres onto the same tiny box, or is that asking for trouble?