Collegica Collegica Collegica
  • Start here
  • Campus
  • Apps
  • Events
  • Talks
  • About
  • Newsletter

Your Own Cloud, Set Up by AI

A homelab for beginners: your files, photos, cameras and home automation on a small server you own, with an AI assistant doing the setup, tested twice, and what it caught that a beginner might not

A beginner’s guide to a homelab in 2026: Nextcloud, Immich, Frigate and Home Assistant on a small server at home, set up by an AI assistant (Claude Code), tested on a Mac and on a TrueNAS server with Coolify, with the hardware, remote access, backups and risks.
Author

Behzad Samadi

Published

October 31, 2026

A paper-craft cut-away house: a small home server with amber lights on a low table in the living room, threads running from it to a folder, a photo, a security camera and a light bulb, a small robot with a screwdriver beside it, and a cloud above the roof held by a padlock. Title: Your Own Cloud, Set Up by AI.

Your files are in someone’s cloud, your photos in another’s, and the cameras at your door upload to a third. Each is convenient, each costs a monthly fee, and each decides what happens to your data. A homelab is the alternative: a small computer at home that runs the same kinds of services, for you alone.

The hard part has always been the setup: containers, databases, ports, passwords, updates. That’s exactly the kind of work an AI assistant that can use a terminal now does well. We gave one the job twice, once on a Mac and once on a real home server, and watched what it did, what it got right, and what it caught that a beginner might not.

NoteIn short
  1. Four open-source apps cover most of what people pay clouds for: Nextcloud (files, calendar, contacts), Immich (photos), Frigate (security cameras with AI detection) and Home Assistant (home automation).
  2. An AI assistant can install and connect them. In our tests, Claude Code built a working four-app setup on a Mac and a three-app setup on a TrueNAS server, checked that each app worked, and wrote down what it had done, for about C$24 of AI time in all.
  3. It caught real problems: a camera recorder that would have filled the disk in hours, and app templates that would have published the services on the internet, run one with too many privileges, and floated on unpinned versions.
  4. It needs boundaries: a list of what it may run, a separate area to work in, and a rule to touch nothing else. On the server it tried 10 commands outside its list; all 10 were refused, as designed.
  5. The parts AI doesn’t remove: choosing hardware, backing up (an untested backup isn’t one), and never opening the apps to the internet without a private network in front of them.

What a homelab is

A homelab is any computer at home that runs services for you, usually around the clock. It can be an old laptop, a small “mini PC” the size of a paperback, or a storage server. The software runs in containers: packaged apps that each come with everything they need, so they can be installed, updated and removed without disturbing each other.

The four we used, all open source:

App What it replaces Licence
Nextcloud Dropbox or Google Drive, plus calendar and contacts AGPL-3.0
Immich Google Photos or iCloud Photos, with phone backup AGPL-3.0
Frigate A cloud camera service: records cameras and uses AI to spot people, cars and pets MIT
Home Assistant A smart-home hub: lights, sensors, automations Apache-2.0

Two more pieces make it safe to use: a private network such as Tailscale or WireGuard, so your phone can reach the homelab from anywhere without the apps being on the open internet, and backups.

Your home’s own digital shadow

In our article on digital twins for construction, a “digital shadow” is a model kept up to date from the real thing. Home Assistant fed by Frigate is one, for a house: the cameras report what they see, the sensors report temperatures and doors, and the model of your home updates itself, on your own hardware.

What we asked the assistant

We used Claude Code, an AI assistant that works in a terminal, and ran it “headless”, with no one at the keyboard, to see what it does on its own. It could only run the commands we allowed (Docker, the server’s management tools, and a few safe basics), and it worked from a short request written the way a beginner might write it. The heart of it:

Set up Nextcloud, Frigate, Home Assistant and Immich. I have no camera yet, so use a generated test stream instead; don’t download anything except the official container images. Connect Home Assistant to Frigate if you can.

Rules: official images with pinned versions, not “latest”. Home network only; nothing reachable from the internet. Generate strong passwords and never print them. Other things are running on this machine: don’t stop, change or remove anything you didn’t create. Check that each service actually works, fix what doesn’t, and write a README: what you did, how to open each service, what you couldn’t finish.

You can reuse that rule list as it is; it’s most of what a careful administrator would tell a new colleague.

Test 1: a Mac, as a trial run

The first run was on a Mac with Docker Desktop, the way many people would try a homelab before buying hardware.

It stopped itself before filling the disk. Downloading the four apps’ software took about 12 GB, leaving the Mac with 1.1 GB free. Rather than start the apps and risk filling the disk completely, which could have damaged databases from other projects running on the same Mac, it stopped, removed only what it had downloaded, and explained what it needed. After we made room, it carried on.

Then it set up all four and tested each doing its job, not just answering:

App What it checked
Nextcloud Admin login; file, calendar and contact sync
Immich Admin account and login
Frigate Login; the test camera at 5 frames a second; the AI detector at about 18 ms a frame
Home Assistant Setup finished; live readings from Frigate

It caught a problem we hadn’t anticipated. The test stream moves constantly, so Frigate treated every second as motion and recorded nonstop: about 1.7 GB an hour, or 40 GB a day, enough to fill the Mac in about six hours. It turned recording off for the test camera and wrote down how to turn it back on with a real one, sized to the disk.

Run Time AI cost
Write the setup, download, stop for disk space 12 minutes C$5.46
Start, test and fix 11 minutes C$11.59

Costs are pay-as-you-go prices for Claude (US$12.15 in all, at the Bank of Canada rate of 28 October 2026); on a Claude subscription the same work is part of the monthly fee.

Test 2: a real home server with Coolify

The second run was on a home server: TrueNAS SCALE, a free storage operating system, running Coolify, a free web dashboard that installs and manages apps from a catalogue. This machine already ran a dozen other services, Immich among them, so the request added: create a new project for the test, and leave everything else alone.

Coolify’s catalogue had Nextcloud and Home Assistant; Frigate isn’t in it, so the assistant wrote its setup by hand. It finished in 23 minutes for C$6.75, with all three apps answering on the home network and Home Assistant showing Frigate’s camera and statistics.

What stands out is what it changed before starting anything:

  • The catalogue gives every app a public web address. On this server that would have published Nextcloud, Home Assistant and Frigate on the owner’s internet domain. It removed those addresses first, keeping all three on the home network.
  • The Home Assistant template runs it with elevated privileges over the server. It removed them; they aren’t needed here.
  • The Nextcloud template used “latest” instead of a fixed version. It pinned every version, so an update happens only when you choose.
  • It fenced off the storage: all the test’s data went into its own storage area with a 20 GB limit, so a runaway camera can’t fill the server.
  • It read the delete command before writing the removal steps. By default, deleting a service in Coolify also cleans up unused software across the whole server; its instructions turn that off, so removing the test can’t affect anything else.

We checked its work against the server afterwards: every existing service had the same status as before, and nothing new was reachable from the internet.

What it couldn’t do

Both runs were honest about the gaps, and they’re worth knowing:

  • AI detection on the graphics card. The server has an NVIDIA card, but Frigate’s GPU detector needs a separately downloaded detection model, which our rules didn’t allow. Detection ran on the processor instead. Frigate’s own documentation calls processor detection suitable only for testing; a real setup wants a supported accelerator.
  • The official Home Assistant–Frigate integration is installed from GitHub, so both runs connected the two through a simpler route (MQTT, a small message service) instead.
  • No detections at all, because a generated test pattern has no people or cars in it. A real camera fixes that.

None of these is a limit of the assistant. Each came from a rule we set; on your own homelab you’d decide which downloads to allow.

If you build one

Hardware

  • A small, quiet computer that can stay on. The assistant’s advice for a first homelab: an Intel mini PC (an N100-class chip at minimum) with 16 GB of memory, or 32 GB with several cameras and photo AI. Immich’s own documentation asks for at least 6 GB of memory, 8 GB recommended.
  • Two kinds of storage: a fast SSD for the system and databases, and a large separate disk for photos, files and recordings. Size the recording disk to the days of camera footage you want to keep.
  • An AI accelerator for cameras. Frigate’s documentation points to Intel’s built-in graphics (OpenVINO) or a Hailo accelerator, and no longer recommends the Coral it was once known for for new setups.
  • A small UPS (battery backup), so a power cut doesn’t corrupt a database.

Software

Two good routes:

  • Linux with Docker, the way our Mac test was set up, with the files written by the assistant. Most flexible.
  • A dashboard like Coolify (or your storage system’s own app store), the way our server test was. Easier to see and manage; the assistant can still drive it.

One note from Home Assistant’s documentation: its container version has no add-ons (“apps”), and on a Mac’s Docker Desktop it isn’t supported. Many people run Home Assistant OS on its own small device instead.

Remote access: a private network, not open ports

The single most important rule. Don’t open your router’s ports to these apps. Install Tailscale or WireGuard on the homelab and on your phone and laptop: they form a private network between your own devices, so the Nextcloud and Immich phone apps work from anywhere while the apps stay invisible to everyone else. Home Assistant’s documentation recommends a VPN for exactly this, and Frigate’s documentation warns that one of its ports has no login at all.

Backups: 3-2-1

Immich’s documentation puts it plainly: back up, with three copies, on two kinds of storage, one of them off-site. For a homelab:

  • Nightly, encrypted, automatic. Tools such as restic or Borg back up the data folders to a USB disk and to cloud storage. Nextcloud’s All-in-One version has Borg backups built in.
  • Databases need care. Copy a database dump, not the live database folder.
  • Test a restore. A backup you’ve never restored from is a hope, not a backup.
  • Keep your photo originals elsewhere too, until you trust the setup.

Updates

Pin versions, update on purpose (monthly is a good rhythm), read the release notes, and back up first. Frigate’s 0.18.2 release, for example, fixed two security flaws; updates aren’t optional.

Letting an AI work on your server

An assistant with access to your server can do anything you can. The setup that worked for us:

  1. An allow list. The assistant may run only the commands you name. On the server run it tried 10 others (a GitHub tool, scripts written outside its folder); all 10 were refused, and it found another way.
  2. Its own area. A separate project, folder and storage limit, so its mistakes stay contained.
  3. Rules about the rest. “Don’t touch anything you didn’t create” is short, and it was followed.
  4. No secrets in the conversation. Passwords were generated on the machine and never shown; tokens live in files only the owner can read.
  5. A written record. Each run ended with a README: what was created, how to reach it, what’s unfinished, and how to remove it all.
  6. You check. We verified every claim it made against the server. Trust the assistant as you would a capable new colleague: give it clear rules, then look at the work.

Sources

  • The apps’ own documentation (read in each project’s GitHub repository, 31 October 2026): Nextcloud All-in-One, Frigate’s documentation, version 0.18.2, Home Assistant’s installation pages, Immich’s documentation, What is Tailscale, restic, and Coolify’s service templates.
  • Versions at the time of writing: Nextcloud 35.0.2, Frigate 0.18.2, Home Assistant 2026.10.4, Immich 3.3.5, Coolify 4.5.3 (each project’s GitHub releases, 31 October 2026).
  • The tests. Both runs used Claude Code with the model Claude Opus 5.5, on 31 October 2026; the requests, the setups the assistant wrote and its READMEs are summarised in the research notes in collegica-code.

© 2026 Collegica

A learning companion to Mechatronics3D

  • About

  • Apps

  • Events

  • Talks

  • YouTube

  • Facebook

  • For AI agents