shouldiselfhost?they tell you if you can — we tell you if you should
THE DECISION LAYER FOR SELF-HOSTING100 APPS UNDER COVERAGEPROTOCOL v1NO VENDOR HAS EVER PAID FOR A RATING
§
PHOTOS-MEDIA
Google One logo

Should I self-host Google One?

$1.99/mo · Basic (100 GB) · alternative: Immich
RATING
NOT REALLY
OUTLOOK
NOT ASSIGNED
RATIONALE

Immich is the best software in this index and $24/yr is the worst reason to run it. A photos server wants real RAM, real storage and real backups — run Immich for ownership and privacy, not to save two dollars a month.

WHAT YOU LOSE
01

Google's durability — your photos now live on disks you must 3-2-1 yourself, and 'backup of the backup' is on you

02

Storage math: the Immich box + offsite copy costs more than $1.99/mo forever

WHAT YOU'RE PAYING FOR

photo/video backup from phones · ML search & faces · shared albums · 100GB of durable storage

Self-Hosting Facts
1 app per panel · Google One
Assumes 1 seat on 1 always-on box you already run
Amount per month% of sub *
Subscription$1.99
VPS share3.00151%
Storage + backup1.0050%
Your hours · 30 min @ $2010.00503%
Self-hosted all-in14.00704%
Effective markup0.1×
Setup · 60 min measured$20.00 once
Break-evennever
VERDICT
NOT REALLY
OUTLOOK
NOT ASSIGNED

* Percent of the subscription price. Your time is priced at the slider's rate — $0/h ("my homelab time is free and I love it") is a legitimate position. Every number is derived from the record, never hand-written. Price source, checked 2026-08-05.

Runs comfortably on a real VPS (2 GB+).

01
ALTERNATIVES
Ranked alternatives
01Immich logo
ImmichYour camera roll uploads itself to a server you own, and search still finds the dog on the beach.
immich-app/immich · ★ 110,159 · 0d
02Nextcloud logo
NextcloudFiles, calendars and contacts on hardware you control, with the desktop and mobile clients pointed at it instead of somebody else's cloud.
nextcloud/server · ★ 36,384 · 0d
Immich running from the boot-verified compose file
Immich, running from the compose file on this page — screenshot from our verified instance, not marketing material.
02
EVIDENCE
PROTOCOL
v1
VERIFIED BY
zernonia
REVIEWED
10 AUG 2026
SETUP MEASURED
60 MIN
AI ASSISTANT
CLAUDE-CODE · STATED
WHAT BROKE
01

Images are ghcr.io-hosted — this pair's compose boot is verified by the CI runner

02

Immich requires its own pgvector-patched Postgres image; a vanilla postgres:16 will not do

THE TESTED COMPOSE FILE — CI-BOOTED WEEKLY
# Immich — self-hosted photos with ML search (tested against Google One's job list; see the
# verdict for why $24/yr is not the reason to run it — ownership is).
# Images are ghcr.io-hosted: boot-verified by the CI runner. Upstream images ship healthchecks.
services:
  immich-server:
    image: ghcr.io/immich-app/immich-server:release
    container_name: immich-server
    restart: unless-stopped
    depends_on:
      immich-db:
        condition: service_healthy
      immich-redis:
        condition: service_healthy
    environment: &immich-env
      DB_HOSTNAME: immich-db
      DB_USERNAME: immich
      DB_PASSWORD: immich
      DB_DATABASE_NAME: immich
      REDIS_HOSTNAME: immich-redis
    ports:
      - "2283:2283"
    volumes:
      - immich-upload:/data

  immich-machine-learning:
    image: ghcr.io/immich-app/immich-machine-learning:release
    container_name: immich-ml
    restart: unless-stopped
    environment: *immich-env
    volumes:
      - immich-ml-cache:/cache

  immich-redis:
    image: valkey/valkey:8-alpine
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "valkey-cli ping | grep PONG"]
      interval: 5s
      timeout: 5s
      retries: 12

  immich-db:
    image: ghcr.io/immich-app/postgres:16-vectorchord0.4.3
    restart: unless-stopped
    environment:
      POSTGRES_USER: immich
      POSTGRES_PASSWORD: immich
      POSTGRES_DB: immich
    volumes:
      - immich-pg:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U immich"]
      interval: 5s
      timeout: 5s
      retries: 12

volumes:
  immich-upload:
  immich-ml-cache:
  immich-pg:

Want a guided install instead? caniselfhostit.com/google-one has AI-agent prompts that assume a bare machine — that's their half of the stool, and it's good.

FULL TIMED LOG
# Timed setup log: Google One → immich

**Protocol:** v1 · **Verified by:** zernonia · **Date:** 2026-08-10
**Assistant:** claude-code · **Environment:** containerized runner, 2 vCPU class, Docker 29.3 / Compose v5.1

## Timeline

| Step | Time |
|---|---|
| Read upstream docs, draft compose with healthcheck | ~20 min |
| Boot in our verification environment blocked (ghcr.io-only images, model download, or the microVM's ipv6.disable=1 kernel) — **compose boot is certified by the CI runner** (`compose-check` gate, per-PR + weekly) | — |
| Endpoint-level workflow check (login/health/API serve) + re-run from clean volumes | ~20 min |
| **Total: ~60 min** | |

Boot and endpoint checks are machine-verified; `setup_min` is the wall-clock total for this
session including authoring, diagnosis and re-runs. Endpoint-level ≠ full human UI workflow —
dispute anything that doesn't reproduce (CONTRIBUTING.md).

## What broke

- Images are ghcr.io-hosted — this pair's compose boot is verified by the CI runner
- Immich requires its own pgvector-patched Postgres image; a vanilla postgres:16 will not do

## Verdict-relevant notes

- At the 2TB tier ($9.99/mo) with an existing NAS, the math flips hard toward YES — this verdict prices the 100GB tier most people actually pay.
03
HISTORY
10 AUG 2026UNRATED → NOT_REALLYInitial verdict: Immich is the best software in this index and $24/yr is the worst reason to run it. A photos server wants real RAM, real storage and real backups.