In this self-managed GitLab CI setup, ordinary Java build, test, and artifact-publishing jobs run on Amazon ECS Fargate; jobs that build container images run on Amazon EC2. The split follows what each job needs: Java processes do not require privileged container access, while the team’s selected image-build workflow expects a Docker daemon and reusable image-layer storage. It is a workload-specific design, not a claim that every way of building an image requires EC2.
Why the team self-hosts its GitLab runners
Vivek Itp’s account of the setup says self-hosting began with an artifact-signing requirement, not a goal of reducing cloud costs. The publish step signs JAR artifacts using an AWS Key Management Service (KMS) key, and deployment rejects artifacts that do not verify. In the described design, signing permission belongs to restricted runner identities; project pipeline YAML does not, by itself, determine who can use the key. This is the author’s security rationale and design description, not an independent audit of the system.
As an Amazon Associate I earn from qualifying purchases.
The runner split is by workload rather than by team or environment. As Itp puts it, “The split is not by team or by environment. It is by what the job actually does.” The author’s account describes restricted runners that can access signing credentials and production-facing artifact paths, alongside unrestricted runners that cannot. For a small set of critical projects, it describes guarded CI with fixed runner tags and signing and verification steps.
Why Java jobs fit Fargate, while this Docker workflow does not
Java build, test, and publish jobs
Maven or Gradle builds, tests, and artifact publishing can run as ordinary processes inside a task. In this setup, they do not need privileged container operations or access to the host’s container runtime. Fargate’s managed task boundary therefore suits these jobs: each task receives isolated infrastructure, and the customer has less responsibility for securing the underlying compute. AWS still assigns customers responsibility for areas including network configuration and storage encryption; see its shared responsibility guidance for Amazon ECS.
#1 Best Overall
- Server 2022 Standard 16 Core
Image-building jobs
The selected image-building workflow expects a Docker daemon and reusable layer storage. AWS states that privileged containers or access are unavailable on Fargate and identifies Docker-in-Docker as an affected use case. Fargate containers also cannot access the underlying host or container runtime, which is why a workflow dependent on those capabilities does not fit the team’s Fargate tasks. AWS’s Fargate security considerations describe the restriction.
This limitation should not be stretched into a claim that Fargate has no disk or that no image-building method can run there. The author says alternatives were considered but does not identify or evaluate them, so the account does not establish which other builders would or would not work.
Rank #2
- 【Advanced Home Data & Media Hub】For advanced home users who need phone backup, file storage, and centralized data management. Centralize family photos, 4K videos, movies, computer backups, and personal files in one place while running multiple apps for home entertainment and everyday data management. Suitable for households with growing digital libraries and multiple NAS use cases.
- 【Built for Creators, Media Servers & Advanced Apps】Powered by the Intel N100 Quad-Core CPU, 8GB DDR5 RAM, 2.5GbE networking, and dual M.2 NVMe slots, DXP2800 handles large files and heavier workloads with ease. Run Docker, virtual machines, and media server applications compatible with Plex—ideal for content creators, tech enthusiasts, and advanced home users managing 4K videos, RAW photos, personal media libraries, and multiple NAS apps.
- 【Up to 80TB for Growing Digital Libraries】 Supports up to 80TB of storage using two HDD bays and two M.2 NVMe SSD slots for family photos, movies, RAW photos, 4K videos, work files, and device backups. AI photo management supports recognition of people, objects, scenes, and locations, album organization, and duplicate photo detection. HDDs and SSDs are not included.
- 【AI-powered Home Surveillance】Turn DXP2800 into a centralized home surveillance hub by connecting compatible network cameras and storing recordings locally on your NAS. AI-powered features include Face Recognition, People Detection, and Pet Detection, helping advanced home users review important events more efficiently while managing home surveillance and personal data in one place.
- 【One data Center Across Your Devices】Keep files from desktops, laptops, phones, tablets, and other devices together instead of scattered across cloud accounts and external drives. Access, back up, organize, and share data across Windows, macOS, Android, iOS, web browsers, and compatible smart TVs—ideal for creators and advanced home users working across multiple devices.
Fargate storage is not the same as a reusable EC2 layer cache
Fargate does provide task-scoped ephemeral storage. AWS documents a default minimum of 20 GiB for Linux tasks using platform version 1.4.0 or later, configurable up to 200 GiB. That storage serves task image and writable-data needs; it is not the persistent, host-level Docker layer cache the author describes on EC2 workers. See AWS’s Fargate task storage documentation for the platform and version scope.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →The article recommends treating dependency caching and image-layer caching as separate concerns: use a shared S3 dependency cache keyed to the Java lockfile, and keep image-layer storage warm on EC2. These are recommendations, not reported benchmarks. The author warns that stale cache entries or overly broad keys can cause correctness problems; the account provides no cache-hit rates or measured speedup.
Rank #3
- Server-Class Home Server Built for 24/7 Workloads - Designed as a purpose-built home server rather than general-purpose SBCs, Mini PCs, entry NAS systems, or routing-only devices. As a compact, pocket-sized single board server platform, ZimaBoard 2 832 combines x86 architecture, quad-core performance up to 3.6GHz, 8GB DDR5 memory, and 32GB eMMC storage for reliable always-on home servers, homelabs, and self-hosted workloads.
- PCIe 3.0 x4 Expansion for Real Server Builds - Built as a server-class platform with native PCIe expansion, ZimaBoard 2 features a full PCIe 3.0 x4 slot for high-speed, low-latency upgrades beyond USB-based limitations. Supports 10GbE NICs, NVMe adapters, GPUs, and AI accelerators to build scalable home servers, homelabs, and advanced self-hosted systems—offering greater expansion flexibility than typical SBCs, Mini PCs, and entry-level NAS devices.
- Native Dual SATA & Dual 2.5GbE Networking - Built with server-class storage and networking I/O, ZimaBoard 2 integrates dual SATA ports for direct HDD/SSD connectivity and dual 2.5GbE Ethernet for high-throughput, low-latency networking. This architecture enables reliable DIY NAS, fast storage, routing, and multi-service home server deployments—while avoiding USB-based performance constraints common in ARM SBCs, Raspberry Pi–based setups, Mini PCs, and entry-level NAS devices.
- ZimaOS Preinstalled + Wide OS Compatibility - Comes preinstalled with ZimaOS for a clean, ad-free private cloud experience—centralized file dashboard, automatic backups, P2P downloads, private photo/video sharing, 500+ plug-ins, and secure on-device AI that keeps your data at home. Also supports TrueNAS, Proxmox, Debian, Ubuntu Server, pfSense, OpenWrt, and Linux containers, making it perfect for Plex media servers, Pi-hole, firewalls, backups, Docker labs, home-cloud services, and multi-service deployments.
- All-in-One NAS, Router, Docker & Homelab Server - Replace multiple devices with one low-power, fanless system. ZimaBoard 2 can serve as a NAS, router, Docker host, firewall, media server, or homelab node—delivering a flexible, open alternative to ARM SBCs, Mini PCs, and entry-level NAS systems.
How to decide which runner a job needs
The practical question for developers was, “which runner should my job use?” The author’s routine rule is straightforward:
- Jobs that build container images use the EC2 runner tag.
- Other jobs, including Java builds, tests, and artifact publishing, use the Fargate runner tag.
The goal is for developers not to have to choose infrastructure labels for ordinary jobs. In the author’s words, “So Java builds go to Fargate, Docker builds go to EC2, and the developer writes neither of those words.” A job that both builds Java artifacts and builds an image is the boundary case. It may be a sign that the job combines responsibilities that would be clearer as separate jobs, rather than a reason to force every job into one runner category.
Rank #4
- Entry-level NAS Home Storage: The UGREEN NAS DH4300 Plus is an entry-level 4-bay NAS that's ideal for home media and vast private storage you can access from anywhere and also supports Docker but not virtual machines. You can record, store, share happy moment with your families and friends, which is intuitive for users moving from cloud storage, or external drives to create your own private cloud, access files from any device.
- Smart Photo Backup & AI Album: Automatically back up photos and videos from your phone in real time and keep growing family memories organized with AI-powered photo albums. Semantic search, custom learning, and recognition of people, objects, pets, and similar photos help you quickly find the moments you want. Duplicate photo removal also helps keep your library organized—ideal for families and users with large photo collections.
- User-Friendly App & Easy Setup: Connect quickly via NFC, set up simply and share files fast on Windows, macOS, Android, iOS, web browsers, and smart TVs. You can access data remotely from any of your mixed devices. What's more, UGREEN NAS enclosure comes with beginner-friendly user manual and video instructions to ensure you can easily take full advantage of its features.
- More Cost-effective Storage Solution: Unlike cloud storage with recurring monthly fees, A UGREEN NAS enclosure requires only a one-time purchase for long-term use. For example, you only need to pay $629.99 for a NAS, while for cloud storage, you need to pay $719.88 per year, $1,439.76 for 2 years, $2,159.64 for 3 years, $7,198.80 for 10 years. You will save $6,568.81 over 10 years with UGREEN NAS! *NAS cost based on DH4300 Plus + 12TB HDD; cloud cost based on 12TB plan (e.g. $59.99/month).
- Your Data, You Control:No third-party clouds, no hidden access, UGREEN NAS provides a more secure and private data storage solution. It stores data locally on your private hard drives and does automatic backups. Thus, you can keep full control over it. The advanced encryption is TRUSTe certified in the United States and is awarded the first (and only) ETSI EN 303 645 certification mark for NAS products by TÜV SÜD Group.
What the split costs operationally
Using both Fargate and EC2 creates two execution paths to maintain. The author lists EC2 host patching and rotation, keeping runner versions aligned with GitLab, monitoring autoscaling, and distinguishing infrastructure failures from project failures. No staff-hour estimate is given.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Concurrency also needs attention. A high limit can create resource contention; a low limit can leave jobs queued while capacity is idle. The reported mitigation is to make queue status visible to developers, not to prescribe a universal concurrency value. Each installation must tune its limits to its workload and capacity.
What this case study does—and does not—show
This is one team’s workload-based runner design. It explains why the team places ordinary Java work on Fargate and its Docker-daemon-dependent image builds on EC2, but it does not establish that the arrangement is cheapest, fastest, or right for every GitLab installation. The author reports no dollar savings, build-time comparison, quantified cache improvement, or test results comparing alternative image builders. The case is useful as a decision framework: match the runner to a job’s actual privilege, runtime, storage, isolation, and operations requirements.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




