[{"data":1,"prerenderedAt":112},["ShallowReactive",2],{"$f3gdbj0xbtfsuv":3},{"site":4,"app":16,"alternatives":67,"compose":107,"log":108,"changelog":109},{"hourly_rate_usd":5,"break_even_window_mo":6,"reference_env":7,"attribution":8},20,18,"Fresh Debian 12, Docker + Compose preinstalled, 2 GB RAM \u002F 2 vCPU ($5-class VPS)",{"caniselfhostit":9},{"name":10,"url":11,"repo":12,"license":13,"author":14,"note":15},"caniselfhostit.com","https:\u002F\u002Fcaniselfhostit.com","https:\u002F\u002Fgithub.com\u002Fcaniselfhostit\u002Fcaniselfhostit","MIT","Jashanpreet Singh","Capability data (app → replacement pairings, pricing snapshots) seeded from this dataset. They answer 'can you run it, and how' — go there for guided installs.",{"id":17,"name":18,"domain":19,"category":20,"price_usd_mo":21,"price_plan":22,"price_unit":23,"price_source":24,"price_checked":25,"links":26,"jobs":28,"verdict":33,"alternatives":34,"provenance":37,"verdict_reason":40,"what_you_lose":41,"economics":44,"hardware_tier":48,"verified":49,"compose":57,"derived":61},"google-one","Google One","one.google.com","photos-media",1.99,"Basic (100 GB)","flat","https:\u002F\u002Fone.google.com\u002Fabout\u002Fplans","2026-08-05",{"caniselfhostit":27},"https:\u002F\u002Fcaniselfhostit.com\u002Fgoogle-one",[29,30,31,32],"photo\u002Fvideo backup from phones","ML search & faces","shared albums","100GB of durable storage","NOT_REALLY",[35,36],"immich","nextcloud",{"capability_seed":38,"decision_layer":39},"caniselfhostit","original","Immich is the best software in this index and $24\u002Fyr 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.",[42,43],"Google's durability — your photos now live on disks you must 3-2-1 yourself, and 'backup of the backup' is on you","Storage math: the Immich box + offsite copy costs more than $1.99\u002Fmo forever",{"vps_share_usd_mo":45,"storage_usd_mo":46,"maint_min_mo":47},3,1,30,"vps",{"by":50,"at":51,"protocol":52,"setup_min":53,"assistant":54,"evidence":55,"what_broke":58},"zernonia","2026-08-10","v1",60,"claude-code",[56,57],"logs\u002Fgoogle-one-immich.md","compose\u002Fgoogle-one-immich.yml",[59,60],"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",{"hourly_rate_usd":5,"self_host_cost_usd_mo":62,"net_saving_usd_mo":63,"setup_cost_usd":5,"break_even_months":64,"break_even_date":64,"markup_index":65,"primary_abandoned":66,"verdict_stale":66},14,-12.01,null,0.14,false,[68,88],{"id":35,"name":69,"tagline":70,"repo":71,"site":72,"license":73,"category":20,"resources":74,"provenance":78,"metrics":79},"Immich","Your camera roll uploads itself to a server you own, and search still finds the dog on the beach.","immich-app\u002Fimmich","https:\u002F\u002Fimmich.app","AGPL-3.0",{"ram_min_mb":75,"disk_gb":5,"arm64":76,"containers":77,"external_db":76},6144,true,4,{"capability_seed":38,"decision_layer":39},{"id":35,"stars":80,"last_commit":81,"latest_release":82,"docker_pulls":64,"open_issues":86,"fetched_at":87},110159,"2026-08-11T03:00:57Z",{"tag":83,"published_at":84,"url":85},"v3.1.0","2026-07-29T14:20:10Z","https:\u002F\u002Fgithub.com\u002Fimmich-app\u002Fimmich\u002Freleases\u002Ftag\u002Fv3.1.0",760,"2026-08-11T03:55:23.264Z",{"id":36,"name":89,"tagline":90,"repo":91,"site":92,"license":73,"category":93,"resources":94,"provenance":97,"metrics":98},"Nextcloud","Files, calendars and contacts on hardware you control, with the desktop and mobile clients pointed at it instead of somebody else's cloud.","nextcloud\u002Fserver","https:\u002F\u002Fnextcloud.com","files-docs",{"ram_min_mb":95,"disk_gb":96,"arm64":76,"containers":77,"external_db":76},2048,10,{"capability_seed":38,"decision_layer":39},{"id":36,"stars":99,"last_commit":100,"latest_release":101,"docker_pulls":64,"open_issues":105,"fetched_at":106},36384,"2026-08-11T02:48:29Z",{"tag":102,"published_at":103,"url":104},"v34.0.2","2026-07-23T12:27:16Z","https:\u002F\u002Fgithub.com\u002Fnextcloud\u002Fserver\u002Freleases\u002Ftag\u002Fv34.0.2",3540,"2026-08-11T03:55:28.057Z","# Immich — self-hosted photos with ML search (tested against Google One's job list; see the\n# verdict for why $24\u002Fyr is not the reason to run it — ownership is).\n# Images are ghcr.io-hosted: boot-verified by the CI runner. Upstream images ship healthchecks.\nservices:\n  immich-server:\n    image: ghcr.io\u002Fimmich-app\u002Fimmich-server:release\n    container_name: immich-server\n    restart: unless-stopped\n    depends_on:\n      immich-db:\n        condition: service_healthy\n      immich-redis:\n        condition: service_healthy\n    environment: &immich-env\n      DB_HOSTNAME: immich-db\n      DB_USERNAME: immich\n      DB_PASSWORD: immich\n      DB_DATABASE_NAME: immich\n      REDIS_HOSTNAME: immich-redis\n    ports:\n      - \"2283:2283\"\n    volumes:\n      - immich-upload:\u002Fdata\n\n  immich-machine-learning:\n    image: ghcr.io\u002Fimmich-app\u002Fimmich-machine-learning:release\n    container_name: immich-ml\n    restart: unless-stopped\n    environment: *immich-env\n    volumes:\n      - immich-ml-cache:\u002Fcache\n\n  immich-redis:\n    image: valkey\u002Fvalkey:8-alpine\n    restart: unless-stopped\n    healthcheck:\n      test: [\"CMD-SHELL\", \"valkey-cli ping | grep PONG\"]\n      interval: 5s\n      timeout: 5s\n      retries: 12\n\n  immich-db:\n    image: ghcr.io\u002Fimmich-app\u002Fpostgres:16-vectorchord0.4.3\n    restart: unless-stopped\n    environment:\n      POSTGRES_USER: immich\n      POSTGRES_PASSWORD: immich\n      POSTGRES_DB: immich\n    volumes:\n      - immich-pg:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U immich\"]\n      interval: 5s\n      timeout: 5s\n      retries: 12\n\nvolumes:\n  immich-upload:\n  immich-ml-cache:\n  immich-pg:\n","# Timed setup log: Google One → immich\n\n**Protocol:** v1 · **Verified by:** zernonia · **Date:** 2026-08-10\n**Assistant:** claude-code · **Environment:** containerized runner, 2 vCPU class, Docker 29.3 \u002F Compose v5.1\n\n## Timeline\n\n| Step | Time |\n|---|---|\n| Read upstream docs, draft compose with healthcheck | ~20 min |\n| 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) | — |\n| Endpoint-level workflow check (login\u002Fhealth\u002FAPI serve) + re-run from clean volumes | ~20 min |\n| **Total: ~60 min** | |\n\nBoot and endpoint checks are machine-verified; `setup_min` is the wall-clock total for this\nsession including authoring, diagnosis and re-runs. Endpoint-level ≠ full human UI workflow —\ndispute anything that doesn't reproduce (CONTRIBUTING.md).\n\n## What broke\n\n- Images are ghcr.io-hosted — this pair's compose boot is verified by the CI runner\n- Immich requires its own pgvector-patched Postgres image; a vanilla postgres:16 will not do\n\n## Verdict-relevant notes\n\n- At the 2TB tier ($9.99\u002Fmo) with an existing NAS, the math flips hard toward YES — this verdict prices the 100GB tier most people actually pay.\n",[110],{"date":51,"app":17,"from":64,"to":33,"reason":111},"Initial verdict: Immich is the best software in this index and $24\u002Fyr is the worst reason to run it. A photos server wants real RAM, real storage and real backups.",1786459421413]