Köra Docker, CI/CD och 10+ självhostade tjänster på ZimaCube 2

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

💡
Community Spotlight: Michael Luckenbill, ZimaCube 2 Pioneer Program

När jag först packade upp ZimaCube 2 hade jag en fråga som betydde mer än någon specifikationsjämförelse: Kan den här prylen verkligen köra en riktig infrastruktursstack?

Efter veckor av kontinuerlig drift är svaret ett tydligt ja. Här är exakt vad jag kör, hur det presterar och varför standardkonfigurationens 8GB räckte längre än jag någonsin förväntat mig.

Stacken: Allt körs på en enda enhet

ZimaCube 2 är nu centrum för min självhostade infrastruktur. Här är hela bilden:

Kärntjänster (Docker Compose)

  • Nginx Proxy Manager — omvänd proxy och SSL-terminering
  • Cloudflare Tunnel — krypterad åtkomst utan att öppna portar
  • Ghost CMS — självhostad blogg (den du läser nu)
  • Vaultwarden — lösenordshantering
  • Uptime Kuma — infrastrukturövervakning
  • 5+ ytterligare containrar för automation och verktyg

CI/CD-pipeline

  • GitHub Actions självhostade runners — bygg och distribuera Docker-containrar direkt i min lokala miljö
  • Automatiserade distributionsflöden som triggas vid varje push

Lagring & Data

  • ZFS-pooler som sträcker sig över 3× HDD och 3× NVMe-enheter
  • Lokala backup-flöden med dedikerade backup-enheter
  • Media- och datasetlagring med snapshot-stöd

Nätverk

  • Dubbel 2,5Gb Ethernet ihopkopplat med WiFi 7-router
  • Omvänd proxy-routing till alla tjänster
  • Krypterade tunnlar för fjärråtkomst
Allt detta — varje enskild tjänst — körs på en enda ZimaCube 2.

8GB RAM: Den överraskande presteraren

Här är den ärliga delen: när jag såg att standardkonfigurationen kom med 8GB DDR5, var min första instinkt att omedelbart beställa en RAM-uppgradering. Istället bestämde jag mig för att testa hur långt standardkonfigurationen realistiskt kunde räcka innan jag spenderade mer pengar.

Resultaten överraskade mig.

Även med 10+ Docker-containrar — inklusive en omvänd proxy, krypterade tunnlar, övervakning, CI/CD-runners, CMS-hosting och lagringstjänster — kändes systemet aldrig begränsat. Minnesanvändningen hölls hanterbar. Containrarna startade snabbt. Tjänsternas responsivitet förblev utmärkt.

Det säger mycket om både effektiviteten hos moderna Linux-containerarbetsbelastningar och plattformsarkitekturen. NVMe-lagringspoolerna gör att swap verkligen är användbart när det behövs, och DDR5-minnesbandbredden håller container-I/O snabb.

Jag planerar fortfarande att utöka minnet senare — särskilt när jag lägger till fler AI-arbetsbelastningar — men standardupplevelsen var mycket mer kapabel än jag förväntade mig.

ZimaCube 2 fullständig självhostad infrastrukturstackdiagram: hårdvaruspecifikationer, Docker-appar, ZFS-lagringspooler, CI/CD och översikt över fjärråtkomstarbetsflöde

Docker CI/CD: BYGG → DISTRIBUERA → AUTOMATISERA → UPPREPA

Ett av de viktigaste användningsområdena för mig är Docker-baserad CI/CD. Så här fungerar arbetsflödet på ZimaCube 2:

  1. Jag pushar kod till GitHub
  2. En självhostad GitHub Actions-runner på ZimaCube 2 plockar upp jobbet
  3. Runnern bygger Docker-bilden lokalt
  4. Den nya containern distribueras till min självhostade miljö
  5. Nginx Proxy Manager dirigerar trafik till den uppdaterade tjänsten
  6. Cloudflare Tunnel säkerställer att det är åtkomligt från var som helst
⟳  Allt detta sker på en maskin. Lagring, nätverk, Docker, omvänd proxy och automation körs alla på ett enda centraliserat system.

Det här är precis den typ av arbetsflöde jag ville ha den här maskinen för. Inget mer jonglerande mellan en NAS för lagring, en separat låda för beräkning och ytterligare ett system för CI/CD.

Lagringsarkitektur som är logisk

Den dubbla pooldesignen är det som gör denna nivå av konsolidering möjlig:

Pool Enheter RAID Syfte
Bulk (HDD) 3 × 6TB RAID 1 + hot spare Media, dataset, backuper
Snabb (NVMe) 2 × 512GB RAID 1 Docker, virtuella maskiner, app-lagring
Snabb backup 1 × 2TB NVMe Lokalt backupmål

Den snabba poolen är där Docker finns. Containerbilder, volymer och runtime-data ligger alla på NVMe RAID 1, vilket betyder att containerstart och I/O-operationer verkligen är snabba. Bulkpoolen hanterar långtidslagring — mediefiler, arkiv och dataset som inte behöver NVMe-hastighet.

Denna separation innebär att jag aldrig behöver välja mellan kapacitet och prestanda.

Termisk prestanda under kontinuerlig belastning

En av de mest imponerande delarna med ZimaCube 2 har varit termisk prestanda. Även när den kör Docker-containrar, lagringspooler, omvända proxys, övervakningstjänster, CI/CD-infrastruktur och självhostade applikationer, har systemet förblivit både tyst och svalt.

Metallchassit, luftflödesdesignen, medföljande NVMe-kylflänsar och den interna komponentlayouten bidrar alla till detta. För en kompakt alltid-på-infrastrukturenhet är den termiska profilen verkligen utmärkt.

Jämfört med de äldre rackservrar jag tidigare använde är skillnaden i värmeutsläpp, strömförbrukning, ljudnivå och fysisk storlek som natt och dag.

Nätverk: Dubbla 2,5GbE i praktiken

De dubbla 2,5Gb Ethernet-portarna passar perfekt med modern nätverksinfrastruktur. Tillsammans med en WiFi 7-router och en 2,5GbE-switch:

  • Snabba filöverföringar till och från lagringspooler
  • Responsiv container-nätverk mellan tjänster
  • Smidig fjärråtkomst via Cloudflare Tunnel
  • Inga flaskhalsar för samtidiga arbetsbelastningar

För en kompakt infrastruktur-enhet är dubbla 2,5GbE mycket viktiga — det innebär att din lagringstillgång inte begränsas av en enda gigabit-länk.

Bygg din egen självhostade plattform med ZimaCube 2 →

Vanliga frågor

F1. Hur många Docker-containrar kan ZimaCube 2 köra?

Med standardkonfigurationen på 8 GB DDR5 kör Michael över 10 containrar inklusive omvänd proxy, CMS, lösenordshanterare, övervakning, CI/CD-runners och lagringstjänster — med marginal kvar. NVMe-lagringspoolen säkerställer snabb container-I/O även vid samtidig belastning.

F2. Kan ZimaCube 2 köra GitHub Actions-runners?

Ja. Självhostade GitHub Actions-runners fungerar bra på ZimaCube 2. Michael använder dem för att bygga och distribuera Docker-containrar direkt i sin lokala självhostade miljö — en helt lokal CI/CD-pipeline.

F3. Räcker 8 GB RAM för ett Docker-homelab?

För containerarbetsbelastningar — Docker, omvända proxys, tunnlar, övervakning och lagringstjänster — räcker 8 GB förvånansvärt långt. Moderna Linux-containrar är minneseffektiva, och NVMe-lagringen ger snabb swap vid behov. Du kan alltid uppgradera senare via SODIMM-platsen.

F4. Vad är fördelen med dubbla lagringspooler (HDD + NVMe)?

NVMe-poolen hanterar hög-I/O-arbetsbelastningar som Docker, virtuella maskiner och applikationslagring med låg latens. HDD-poolen erbjuder kostnadseffektiv lagring i stor skala för media, säkerhetskopior och datamängder. Denna separation innebär att du aldrig behöver kompromissa kapacitet för prestanda.

F5. Stöder ZimaCube 2 Cloudflare Tunnel?

Ja, och det fungerar bra. Tillsammans med Nginx Proxy Manager och dubbla 2,5GbE-nätverk kan du exponera dina självhostade tjänster säkert utan att öppna portar på din router.

Zima Kampanjnav

Mer att läsa

Vad händer när två AI-agenter slåss om en server?
Jun 16, 2026Community & Stories

Vad händer när två AI-agenter slåss om en server?

Zero Noichis AI-säkerhetsexperiment använde två ZimaBoard 2-enheter för att simulera angripar- och försvaragenturer, vilket visade hur homelab-servrar kan stödja säker AI, Docker, NAS och...

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.