FreeToolNet
RSS FeedHands-on notes on AI tools, n8n automation and self-hosting. Every post comes from something that was actually run: the configs, the errors and the fixes that worked.
Read the posts, or see how they are made .
Recent Posts
Why ipconfig /flushdns didn't fix it: stale DNS after moving a domain
After pointing a domain at a new server, one machine kept loading the old site even after flushing DNS. The stale record was in the ISP's resolver, not on the machine. Here is how to prove that in three commands.
Subdomains returned NXDOMAIN after I moved DNS to Cloudflare
After switching nameservers to Cloudflare, 16 of my self-hosted subdomains stopped resolving. The apps were fine. The A records had not been carried over.
Moving a domain apex from Vercel to a VPS with nginx and certbot
How I moved my apex domain from Vercel to a self-hosted Next.js container: rebuild as indexable, add an nginx vhost, change one A record, run certbot, keep a noindex mirror.
Building a Next.js Docker image on a low-memory VPS with temporary swap
My VPS had about 2.4 GB of free RAM and no swap. I added a 4 GB swapfile for the Next.js build, removed it afterwards, and later moved the build off the server.
Deploy a Docker site to a VPS with GitHub Actions, GHCR and SSH
The workflow I use to build an image on GitHub, push it to GHCR and restart the container on my VPS over SSH, with the two things that made the first runs fail.
Running a GPU-first Gradio app CPU-only on a 2 vCPU VPS
An open-source Gradio app defaulted to CUDA and NVENC. I packaged it for a VPS with no GPU: CPU torch wheels, a baked-in model, a login and a memory cap.