[{"data":1,"prerenderedAt":3112},["ShallowReactive",2],{"$f2ac1lty96pkmi":3,"$f386loppr5oijm":3021},{"site":4,"apps":16},{"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.",[17,81,121,155,193,227,262,300,330,364,398,435,468,503,531,557,588,621,651,691,720,749,780,813,843,876,906,940,970,1005,1035,1065,1097,1124,1154,1189,1211,1243,1271,1301,1330,1357,1387,1421,1452,1483,1511,1532,1568,1598,1626,1654,1679,1701,1732,1761,1783,1810,1841,1880,1905,1932,1954,1985,2016,2048,2078,2102,2126,2148,2179,2206,2238,2262,2286,2324,2358,2389,2413,2441,2465,2493,2523,2553,2576,2603,2633,2662,2687,2717,2743,2771,2796,2821,2845,2872,2906,2934,2962,2987],{"id":18,"name":19,"domain":20,"category":21,"price_usd_mo":22,"price_plan":23,"price_unit":24,"price_source":25,"price_checked":26,"jobs":27,"verdict":33,"verdict_reason":34,"what_you_lose":35,"alternatives":39,"economics":41,"hardware_tier":44,"provenance":45,"verified":48,"compose":56,"links":60,"notes":62,"review":63,"derived":74},"1password","1Password","1password.com","passwords-security",3.99,"Individual","flat","https:\u002F\u002F1password.com\u002Fpersonal","2026-08-05",[28,29,30,31,32],"password vault + autofill everywhere","cross-device sync","family\u002Femergency sharing","account recovery when you forget the master password","breach monitoring (Watchtower)","NOT_REALLY","Vaultwarden runs beautifully — we timed it — and the math still never breaks even: at $20\u002Fh your maintenance minutes cost more than the subscription. The stakes are every password you own; keep paying, or use Bitwarden's free tier.",[36,37,38],"Vendor-side recovery: self-hosted, a forgotten master password or a dead unbacked-up disk is game over, and nobody is awake at 3am for you","1Password's audited infrastructure and Travel Mode","Someone else being legally on the hook for the sync layer",[40],"vaultwarden",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":5},0.5,0,"pi",{"capability_seed":46,"decision_layer":47},"caniselfhostit","original",{"by":49,"at":50,"protocol":51,"setup_min":52,"assistant":53,"evidence":54,"what_broke":57},"zernonia","2026-08-10","v1",55,"claude-code",[55,56],"logs\u002F1password-vaultwarden.md","compose\u002F1password-vaultwarden.yml",[58,59],"Nothing during setup — the danger is entirely in year two: unattended, unpatched, unbacked-up","SIGNUPS_ALLOWED defaults leave registration open; flip it off after creating your account or you're running a free vault for strangers",{"caniselfhostit":61},"https:\u002F\u002Fcaniselfhostit.com\u002F1password","This is the site's thesis in one page: 'can you' is a resounding yes, 'should you' is a no for most people. If the subscription must go, Bitwarden's free hosted tier escapes the invoice without inheriting the pager.",{"action":64,"outlook":65,"outlook_reason":66,"rationale":67,"conditions":70},"affirmed","positive","Subscription pricing keeps creeping up while the Bitwarden-compatible ecosystem matures — the case for self-hosting is strengthening even though it has not won yet.",[68,69],"Vaultwarden is the strongest self-hosted alternative we have tested in any category — a faithful, Bitwarden-compatible server that boots in under a minute on hardware you already own. It is not the server that fails this rating.","It is the stakes. A password manager is the one service where downtime is not an inconvenience but a lockout, and where a botched restore is unrecoverable. Priced honestly — 20 minutes a month of patching, backups and restore drills at the $20\u002Fh reference rate — the all-in run rate is $7.17 against a $3.99 subscription. The math never breaks even, and that is before anything goes wrong at 3am.",[71,72,73],"1Password raising the individual plan above ~$7\u002Fmo. At today's premium the maintenance minutes alone keep this NOT REALLY; past the all-in run rate the rating flips on price.","The maintenance burden collapsing — a turnkey Vaultwarden appliance with tested, automatic off-site restore would remove most of the 20 min\u002Fmo that decides this rating.","Per-seat pricing pressure. The subscription multiplies with seats; the self-host cost does not. A per-seat move on the family tier reopens the math.",{"hourly_rate_usd":5,"self_host_cost_usd_mo":75,"net_saving_usd_mo":76,"setup_cost_usd":77,"break_even_months":78,"break_even_date":78,"markup_index":79,"primary_abandoned":80,"verdict_stale":80},7.17,-3.18,18.33,null,0.56,false,{"id":82,"name":83,"domain":84,"category":85,"price_usd_mo":86,"price_plan":87,"price_unit":24,"price_source":88,"price_checked":89,"links":90,"jobs":92,"verdict":97,"alternatives":98,"provenance":101,"verdict_reason":102,"what_you_lose":103,"economics":106,"hardware_tier":109,"verified":110,"compose":114,"derived":115},"activecampaign","ActiveCampaign","activecampaign.com","marketing-content",19,"Starter","https:\u002F\u002Fwww.activecampaign.com\u002Fpricing","2026-08-06",{"caniselfhostit":91},"https:\u002F\u002Fcaniselfhostit.com\u002Factivecampaign",[93,94,95,96],"email marketing","drip automations","CRM-lite","segmentation","KINDA",[99,100],"mautic","listmonk",{"capability_seed":46,"decision_layer":47},"The email+automation core moves to listmonk (newsletters) or Mautic (drip logic) — but ActiveCampaign is genuinely an automation suite, and Mautic is the ops-heaviest thing in this category. Worth it if your flows are simple; if you live in their journey builder, the migration will hurt.",[104,105],"Journey-builder depth Mautic approximates but doesn't match","Deliverability babysitting becomes your job",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":108},1,45,"vps",{"by":49,"at":50,"protocol":51,"setup_min":111,"assistant":53,"evidence":112},60,[113,114],"logs\u002Factivecampaign.md","compose\u002Fmailchimp-listmonk.yml",{"hourly_rate_usd":5,"self_host_cost_usd_mo":116,"net_saving_usd_mo":117,"setup_cost_usd":5,"break_even_months":118,"break_even_date":119,"markup_index":120,"primary_abandoned":80,"verdict_stale":80},16,3,6.67,"2027-03-01",1.19,{"id":122,"name":123,"domain":124,"category":125,"price_usd_mo":5,"price_plan":87,"price_unit":24,"price_source":126,"price_checked":89,"links":127,"jobs":129,"verdict":134,"alternatives":135,"provenance":138,"verdict_reason":139,"what_you_lose":140,"economics":143,"hardware_tier":109,"verified":145,"compose":148,"derived":149},"acuity-scheduling","Acuity Scheduling","acuityscheduling.com","comms-scheduling","https:\u002F\u002Fwww.acuityscheduling.com\u002Fpricing",{"caniselfhostit":128},"https:\u002F\u002Fcaniselfhostit.com\u002Facuity-scheduling",[130,131,132,133],"booking pages","availability rules","reminders","calendar sync","YES",[136,137],"easyappointments","calcom",{"capability_seed":46,"decision_layer":47},"Acuity is Squarespace's $20\u002Fmo booking page; Cal.com is the same booking page with routing forms and workflows, and we boot-verified it in this repo already. Point your domain at it and stop renting your calendar.",[141,142],"Squarespace-side integrations if the rest of your site lives there","Their SMS reminders need a Twilio key on your side",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":144},25,{"by":49,"at":50,"protocol":51,"setup_min":111,"assistant":53,"evidence":146},[147,148],"logs\u002Facuity-scheduling.md","compose\u002Fcalendly-calcom.yml",{"hourly_rate_usd":5,"self_host_cost_usd_mo":150,"net_saving_usd_mo":151,"setup_cost_usd":5,"break_even_months":152,"break_even_date":153,"markup_index":154,"primary_abandoned":80,"verdict_stale":80},9.33,10.67,1.88,"2026-10-06",2.14,{"id":156,"name":157,"domain":158,"category":159,"price_usd_mo":160,"price_plan":161,"price_unit":24,"price_source":162,"price_checked":26,"links":163,"jobs":165,"verdict":134,"alternatives":170,"provenance":172,"verdict_reason":173,"what_you_lose":174,"economics":177,"hardware_tier":109,"verified":179,"compose":183,"derived":186},"adobe-acrobat","Adobe Acrobat","adobe.com","files-docs",24.99,"Acrobat Standard","https:\u002F\u002Fwww.adobe.com\u002Facrobat\u002Fpricing.html",{"caniselfhostit":164},"https:\u002F\u002Fcaniselfhostit.com\u002Fadobe-acrobat",[166,167,168,169],"PDF editing","merge\u002Fsplit\u002Fcompress","OCR","fill & sign",[171],"stirling-pdf",{"capability_seed":46,"decision_layer":47},"Stirling-PDF is the whole Acrobat toolbox — merge, split, OCR, compress, redact, sign — behind one port, with no Adobe account and no telemetry. It booted healthy in under two minutes.",[175,176],"Acrobat's collaborative review flows and cloud sync","The genuinely better mobile scanning apps",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":178},10,{"by":49,"at":50,"protocol":51,"setup_min":180,"assistant":53,"evidence":181,"what_broke":184},12,[182,183],"logs\u002Fadobe-acrobat.md","compose\u002Fadobe-acrobat-stirling-pdf.yml",[185],"Boot to healthy measured at 72s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":187,"net_saving_usd_mo":188,"setup_cost_usd":189,"break_even_months":190,"break_even_date":191,"markup_index":192,"primary_abandoned":80,"verdict_stale":80},3.83,21.16,4,0.19,"2026-08-16",6.52,{"id":194,"name":195,"domain":158,"category":196,"price_usd_mo":197,"price_plan":198,"price_unit":24,"price_source":199,"price_checked":200,"links":201,"jobs":203,"verdict":33,"alternatives":208,"provenance":211,"verdict_reason":212,"what_you_lose":213,"economics":215,"hardware_tier":109,"verified":216,"derived":220},"adobe-lightroom","Adobe Lightroom","photos-media",9.99,"Photography plan (20GB)","https:\u002F\u002Fwww.adobe.com\u002Fproducts\u002Fphotoshop-lightroom\u002Fplans.html","2026-08-07",{"caniselfhostit":202},"https:\u002F\u002Fcaniselfhostit.com\u002Fadobe-lightroom",[204,205,206,207],"RAW photo editing","catalog & organization","cloud sync","presets",[209,210],"photoprism","immich",{"capability_seed":46,"decision_layer":47},"PhotoPrism and Immich organize and search photos brilliantly. Neither develops a RAW file. Lightroom's $9.99 plan is an editor with a catalog attached — replace the catalog and you still need the editor, so the subscription survives. Darktable is free and local but it's a different app, not a self-hosted service.",[214],"The RAW develop engine — the actual reason the subscription exists",{"vps_share_usd_mo":107,"storage_usd_mo":107,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":218},15,[219],"logs\u002Fadobe-lightroom.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":221,"net_saving_usd_mo":222,"setup_cost_usd":223,"break_even_months":224,"break_even_date":225,"markup_index":226,"primary_abandoned":80,"verdict_stale":80},8.67,1.32,5,3.78,"2026-12-03",1.15,{"id":228,"name":229,"domain":230,"category":231,"price_usd_mo":5,"price_plan":232,"price_unit":233,"price_source":234,"price_checked":89,"links":235,"jobs":237,"verdict":134,"alternatives":242,"provenance":244,"verdict_reason":245,"what_you_lose":246,"economics":249,"hardware_tier":109,"verified":250,"compose":254,"derived":257},"airtable","Airtable","airtable.com","work-pm","Team","per-seat","https:\u002F\u002Fairtable.com\u002Fpricing",{"caniselfhostit":236},"https:\u002F\u002Fcaniselfhostit.com\u002Fairtable",[238,239,240,241],"relational tables & views","formula columns & linked records","forms into tables","API & automations",[243],"grist",{"capability_seed":46,"decision_layer":47},"Grist is the closest thing to a self-hosted Airtable that actually exists: formula columns, linked records, views, API — sqlite-backed, one container. Per-seat pricing dies the day you move.",[247,248],"Airtable's automations marketplace and native integrations","Interface designer and the mobile apps",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":251,"assistant":53,"evidence":252,"what_broke":255},26,[253,254],"logs\u002Fairtable.md","compose\u002Fairtable-grist.yml",[256],"Boot to healthy measured at 33s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":75,"net_saving_usd_mo":258,"setup_cost_usd":221,"break_even_months":259,"break_even_date":260,"markup_index":261,"primary_abandoned":80,"verdict_stale":80},12.83,0.68,"2026-08-31",2.79,{"id":263,"name":264,"domain":265,"category":266,"price_usd_mo":267,"price_plan":268,"price_unit":269,"price_source":270,"price_checked":200,"links":271,"jobs":273,"verdict":134,"alternatives":278,"provenance":281,"verdict_reason":282,"what_you_lose":283,"economics":286,"hardware_tier":109,"verified":288,"compose":292,"derived":293},"amplitude","Amplitude","amplitude.com","analytics",49,"Plus","usage","https:\u002F\u002Famplitude.com\u002Fpricing",{"caniselfhostit":272},"https:\u002F\u002Fcaniselfhostit.com\u002Famplitude",[274,275,276,277],"product event analytics","funnels & retention","user cohorts","dashboards",[279,280],"countly","matomo",{"capability_seed":46,"decision_layer":47},"For product analytics at Amplitude's $49+\u002Fmo entry point, Matomo (or Countly) covers events, funnels and retention for a VPS share. You lose the fancy cohort AI; you keep the raw events forever without a sampling asterisk.",[284,285],"Amplitude's behavioral cohorts and predictive features","SOC2 paperwork someone else signed",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":287},30,{"by":49,"at":50,"protocol":51,"setup_min":289,"assistant":53,"evidence":290},31,[291,292],"logs\u002Famplitude.md","compose\u002Fmatomo-cloud-matomo.yml",{"hourly_rate_usd":5,"self_host_cost_usd_mo":294,"net_saving_usd_mo":295,"setup_cost_usd":296,"break_even_months":297,"break_even_date":298,"markup_index":299,"primary_abandoned":80,"verdict_stale":80},11,38,10.33,0.27,"2026-08-18",4.45,{"id":301,"name":302,"domain":303,"category":304,"price_usd_mo":305,"price_plan":306,"price_unit":24,"price_source":307,"price_checked":200,"links":308,"jobs":310,"verdict":33,"alternatives":314,"provenance":317,"verdict_reason":318,"what_you_lose":319,"economics":321,"hardware_tier":44,"verified":323,"derived":326},"anylist-complete","AnyList","anylist.com","money-home",0.83,"Complete (individual)","https:\u002F\u002Fwww.anylist.com\u002Fcomplete",{"caniselfhostit":309},"https:\u002F\u002Fcaniselfhostit.com\u002Fanylist-complete",[311,312,313],"shared grocery lists","recipes","meal planning",[315,316],"kitchenowl","mealie",{"capability_seed":46,"decision_layer":47},"AnyList costs $10 a YEAR. Ten dollars. KitchenOwl and Mealie are lovely, but valuing your setup evening at literally any hourly rate puts break-even past 2030. The purest example of the cheap-subscription pattern on the whole scoreboard.",[320],"Nothing — this is the cheapest verdict we track; buy the subscription and cook something",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":178},0.3,{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":324},[325],"logs\u002Fanylist-complete.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":327,"net_saving_usd_mo":328,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":329,"primary_abandoned":80,"verdict_stale":80},3.63,-2.8,0.23,{"id":331,"name":332,"domain":333,"category":231,"price_usd_mo":334,"price_plan":87,"price_unit":233,"price_source":335,"price_checked":89,"links":336,"jobs":338,"verdict":97,"alternatives":343,"provenance":345,"verdict_reason":346,"what_you_lose":347,"economics":350,"hardware_tier":109,"verified":352,"compose":356,"derived":359},"asana","Asana","asana.com",13.49,"https:\u002F\u002Fasana.com\u002Fpricing",{"caniselfhostit":337},"https:\u002F\u002Fcaniselfhostit.com\u002Fasana",[339,340,341,342],"task & project tracking","boards & timelines","assignees & due dates","status reporting",[344],"openproject",{"capability_seed":46,"decision_layer":47},"OpenProject is the heavyweight that genuinely covers Asana-and-beyond (Gantt, agile boards, time). Its all-in-one container seeds a full Postgres on first boot — this is a real ops commitment for a team tool your whole team depends on. Worth it for seat counts where the invoice stings.",[348,349],"Asana's lightness — OpenProject is powerful, not nimble","Native mobile apps and the integrations directory",{"vps_share_usd_mo":351,"storage_usd_mo":43,"maint_min_mo":111},2,{"by":49,"at":50,"protocol":51,"setup_min":353,"assistant":53,"evidence":354,"what_broke":357},47,[355,356],"logs\u002Fasana.md","compose\u002Fasana-openproject.yml",[358],"Boot to healthy measured at 116s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":360,"net_saving_usd_mo":361,"setup_cost_usd":362,"break_even_months":78,"break_even_date":78,"markup_index":363,"primary_abandoned":80,"verdict_stale":80},22,-8.51,15.67,0.61,{"id":365,"name":366,"domain":367,"category":196,"price_usd_mo":368,"price_plan":369,"price_unit":24,"price_source":370,"price_checked":89,"links":371,"jobs":373,"verdict":33,"alternatives":378,"provenance":380,"verdict_reason":381,"what_you_lose":382,"economics":385,"hardware_tier":44,"verified":386,"compose":389,"derived":392},"audible","Audible","audible.com",7.95,"Audible Plus","https:\u002F\u002Fwww.audible.com\u002Fep\u002Fmemberships",{"caniselfhostit":372},"https:\u002F\u002Fcaniselfhostit.com\u002Faudible",[374,375,376,377],"stream a catalog of audiobooks you haven't bought","original\u002Fexclusive content","whispersync across devices","podcasts",[379],"audiobookshelf",{"capability_seed":46,"decision_layer":47},"Audiobookshelf is a gorgeous server for audiobooks you own — and Audible's product is a catalog you don't. Same verdict as Spotify: self-hosting replaces the player, and the player was never the subscription.",[383,384],"The catalog and the credits model — DRM'd purchases don't move into your server","Exclusives, period",{"vps_share_usd_mo":42,"storage_usd_mo":42,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":287,"assistant":53,"evidence":387,"what_broke":390},[388,389],"logs\u002Faudible-audiobookshelf.md","compose\u002Faudible-audiobookshelf.yml",[391],"The image ships wget but not curl — a curl-based healthcheck reports unhealthy forever while the server is fine",{"hourly_rate_usd":5,"self_host_cost_usd_mo":393,"net_saving_usd_mo":394,"setup_cost_usd":178,"break_even_months":395,"break_even_date":396,"markup_index":397,"primary_abandoned":80,"verdict_stale":80},4.33,3.62,2.76,"2026-11-02",1.83,{"id":399,"name":400,"domain":401,"category":402,"price_usd_mo":403,"price_plan":404,"price_unit":24,"price_source":405,"price_checked":26,"jobs":406,"verdict":33,"verdict_reason":411,"what_you_lose":412,"alternatives":416,"economics":418,"hardware_tier":44,"provenance":420,"verified":421,"compose":424,"links":428,"notes":430,"derived":431},"backblaze-personal-backup","Backblaze Personal Backup","backblaze.com","backup",8.25,"Personal Backup (annual)","https:\u002F\u002Fwww.backblaze.com\u002Fcloud-backup\u002Fpricing",[407,408,409,410],"unattended whole-computer backup","unlimited offsite storage","versioning & point-in-time restore","restore by mail (they ship you a drive)","Backrest + restic is excellent software, but 'offsite' means renting storage anyway — and your backup of last resort should not depend on a server you also administer. The math never breaks even; the failure mode is losing everything twice.",[413,414,415],"'Unlimited': B2\u002FS3-class storage for a 2TB machine costs more than the whole subscription","Restore-by-mail when your house burns down with the NAS in it","The property that saves you: your backup working does not depend on you having done maintenance",[417],"backrest",{"vps_share_usd_mo":322,"storage_usd_mo":419,"maint_min_mo":287},6,{"capability_seed":46,"decision_layer":47},{"by":49,"at":50,"protocol":51,"setup_min":108,"assistant":53,"evidence":422,"what_broke":425},[423,424],"logs\u002Fbackblaze-backrest.md","compose\u002Fbackblaze-backrest.yml",[426,427],"Backrest itself booted clean — the verdict is about the job, not the tool","A restic repo pointed at local disk is not a backup, it's a copy; the offsite leg (B2\u002FS3) is where the real monthly cost hides",{"caniselfhostit":429},"https:\u002F\u002Fcaniselfhostit.com\u002Fbackblaze-personal-backup","Self-host backups OF your self-hosted stack (Backrest is great for that — it's in our own reference stack). Replacing the offsite last-resort copy of your family photos is a different question, and the honest answer is no.",{"hourly_rate_usd":5,"self_host_cost_usd_mo":432,"net_saving_usd_mo":433,"setup_cost_usd":217,"break_even_months":78,"break_even_date":78,"markup_index":434,"primary_abandoned":80,"verdict_stale":80},16.3,-8.05,0.51,{"id":436,"name":437,"domain":438,"category":231,"price_usd_mo":180,"price_plan":439,"price_unit":233,"price_source":440,"price_checked":200,"links":441,"jobs":443,"verdict":134,"alternatives":448,"provenance":450,"verdict_reason":451,"what_you_lose":452,"economics":454,"hardware_tier":109,"verified":455,"compose":459,"derived":462},"baserow-cloud","Baserow","baserow.io","Premium","https:\u002F\u002Fbaserow.io\u002Fpricing",{"caniselfhostit":442},"https:\u002F\u002Fcaniselfhostit.com\u002Fbaserow-cloud",[444,445,446,447],"no-code database","grid & gallery views","collaboration","REST API",[449,243],"baserow",{"capability_seed":46,"decision_layer":47},"The cloud plan charges $12\u002Fuser for the open-source software's hosted convenience. Baserow's all-in-one image (embedded Postgres and Redis) took the longest first boot of this batch but runs itself afterwards.",[453],"Managed scaling and premium plan features (some are license-gated)",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":144},{"by":49,"at":50,"protocol":51,"setup_min":456,"assistant":53,"evidence":457,"what_broke":460},27,[458,459],"logs\u002Fbaserow-cloud.md","compose\u002Fbaserow-cloud-baserow.yml",[461],"Boot to healthy measured at 91s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":150,"net_saving_usd_mo":463,"setup_cost_usd":464,"break_even_months":465,"break_even_date":466,"markup_index":467,"primary_abandoned":80,"verdict_stale":80},2.67,9,3.38,"2026-11-21",1.29,{"id":469,"name":470,"domain":471,"category":472,"price_usd_mo":178,"price_plan":473,"price_unit":24,"price_source":474,"price_checked":26,"jobs":475,"verdict":134,"verdict_reason":480,"what_you_lose":481,"alternatives":484,"economics":486,"hardware_tier":44,"provenance":487,"verified":488,"compose":492,"links":495,"derived":497},"bitly","Bitly","bitly.com","links","Core","https:\u002F\u002Fbitly.com\u002Fpages\u002Fpricing",[476,477,478,479],"short links on a custom domain","click analytics","QR codes","link management API","$10\u002Fmo for a URL redirect table is the purest markup on this site. Shlink does the whole job list from SQLite on the smallest box you own.",[482,483],"The bit.ly domain itself — recognizable short links are their real moat; yours is only as trusted as your domain","Their uptime SLA: a dead redirect server breaks every link you ever shared",[485],"shlink",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":178},{"capability_seed":46,"decision_layer":47},{"by":49,"at":50,"protocol":51,"setup_min":489,"assistant":53,"evidence":490,"what_broke":493},35,[491,492],"logs\u002Fbitly-shlink.md","compose\u002Fbitly-shlink.yml",[494],"Shlink wants DEFAULT_DOMAIN set at first boot; changing it later means regenerating existing short URLs",{"caniselfhostit":496},"https:\u002F\u002Fcaniselfhostit.com\u002Fbitly",{"hourly_rate_usd":5,"self_host_cost_usd_mo":187,"net_saving_usd_mo":498,"setup_cost_usd":499,"break_even_months":500,"break_even_date":501,"markup_index":502,"primary_abandoned":80,"verdict_stale":80},6.17,11.67,1.89,"2026-10-07",2.61,{"id":504,"name":505,"domain":506,"category":159,"price_usd_mo":507,"price_plan":508,"price_unit":233,"price_source":509,"price_checked":89,"links":510,"jobs":512,"verdict":33,"alternatives":516,"provenance":519,"verdict_reason":520,"what_you_lose":521,"economics":523,"hardware_tier":109,"verified":524,"derived":527},"box-personal-pro","Box","box.com",7,"Business Starter","https:\u002F\u002Fwww.box.com\u002Fpricing\u002Findividual",{"caniselfhostit":511},"https:\u002F\u002Fcaniselfhostit.com\u002Fbox-personal-pro",[513,514,515],"cloud file storage","sync & sharing","mobile access",[517,518],"seafile","nextcloud",{"capability_seed":46,"decision_layer":47},"$7\u002Fmo for 100GB with sync apps and zero ops. Seafile and Nextcloud replace the software easily — then you're paying for storage, backups and bandwidth anyway, arriving at roughly the same money with pager duty included. Dropbox got a KINDA at $11.99; Box at $7 doesn't clear the bar.",[522],"Their sync client reliability record",{"vps_share_usd_mo":107,"storage_usd_mo":351,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":525},[526],"logs\u002Fbox-personal-pro.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":528,"net_saving_usd_mo":529,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":530,"primary_abandoned":80,"verdict_stale":80},13,-6,0.54,{"id":532,"name":533,"domain":534,"category":85,"price_usd_mo":223,"price_plan":535,"price_unit":269,"price_source":536,"price_checked":89,"links":537,"jobs":539,"verdict":33,"alternatives":543,"provenance":545,"verdict_reason":546,"what_you_lose":547,"economics":549,"hardware_tier":109,"verified":550,"derived":553},"buffer","Buffer","buffer.com","Essentials","https:\u002F\u002Fbuffer.com\u002Fpricing",{"caniselfhostit":538},"https:\u002F\u002Fcaniselfhostit.com\u002Fbuffer",[540,541,542,266],"social post scheduling","multi-account publishing","queue management",[544],"postiz",{"capability_seed":46,"decision_layer":47},"Buffer's $5\u002Fchannel is cheap, and the real cost of Postiz (fine software) is maintenance: every social network rotates tokens and breaks APIs on their schedule, making your scheduler a part-time job. The subscription outsources exactly the annoying part.",[548],"Someone else re-fixing the Twitter\u002FX API every quarter",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":108},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":551},[552],"logs\u002Fbuffer.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":554,"net_saving_usd_mo":555,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":556,"primary_abandoned":80,"verdict_stale":80},15.5,-10.5,0.32,{"id":558,"name":559,"domain":560,"category":125,"price_usd_mo":180,"price_plan":561,"price_unit":233,"price_source":562,"price_checked":26,"links":563,"jobs":565,"verdict":97,"alternatives":569,"provenance":570,"verdict_reason":571,"what_you_lose":572,"economics":575,"hardware_tier":109,"verified":576,"compose":148,"derived":583},"calendly","Calendly","calendly.com","Standard","https:\u002F\u002Fcalendly.com\u002Fpricing",{"caniselfhostit":564},"https:\u002F\u002Fcaniselfhostit.com\u002Fcalendly",[130,566,567,568],"calendar conflict checking (Google\u002FOutlook)","reminders\u002Femails","team round-robin",[137],{"capability_seed":46,"decision_layer":47},"Cal.com self-hosted does the booking-page job, but it's the heaviest app in our index and the setup is configuration, not compose. Worth it if you're a team with a server habit; a solo calendar link is cheaper to rent.",[573,574],"Managed Google\u002FMicrosoft OAuth — self-host means registering your own apps with both, which is most of the real setup time","Their deliverability for reminder emails",{"vps_share_usd_mo":351,"storage_usd_mo":43,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":577,"assistant":53,"evidence":578,"what_broke":580},150,[579,148],"logs\u002Fcalendly-calcom.md",[581,582],"Image is enormous — the pull dominated boot time even on a fast link","Boots healthy without calendar OAuth configured, but the product doesn't do its job until you register apps with Google\u002FMicrosoft — budget the weekend for that, not the compose",{"hourly_rate_usd":5,"self_host_cost_usd_mo":221,"net_saving_usd_mo":584,"setup_cost_usd":585,"break_even_months":217,"break_even_date":586,"markup_index":587,"primary_abandoned":80,"verdict_stale":80},3.33,50,"2027-11-10",1.38,{"id":589,"name":590,"domain":591,"category":231,"price_usd_mo":592,"price_plan":593,"price_unit":269,"price_source":594,"price_checked":200,"links":595,"jobs":597,"verdict":134,"alternatives":602,"provenance":604,"verdict_reason":605,"what_you_lose":606,"economics":609,"hardware_tier":109,"verified":610,"compose":613,"derived":616},"canny","Canny","canny.io",99,"Pro","https:\u002F\u002Fcanny.io\u002Fpricing",{"caniselfhostit":596},"https:\u002F\u002Fcaniselfhostit.com\u002Fcanny",[598,599,600,601],"feature-request board","user voting","roadmap & statuses","changelog",[603],"fider",{"capability_seed":46,"decision_layer":47},"Canny wants $99\u002Fmo for a feedback board. Fider is a feedback board. It has voting, statuses, comments and SSO, boots with one Postgres, and the entire category is a solved problem.",[607,608],"Canny's roadmap-view polish and changelog hosting","Autopilot dedup\u002FAI features",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":217},{"by":49,"at":50,"protocol":51,"setup_min":180,"assistant":53,"evidence":611,"what_broke":614},[612,613],"logs\u002Fcanny.md","compose\u002Fcanny-fider.yml",[615],"Boot to healthy measured at 62s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":617,"net_saving_usd_mo":618,"setup_cost_usd":189,"break_even_months":619,"break_even_date":620,"markup_index":6,"primary_abandoned":80,"verdict_stale":80},5.5,93.5,0.04,"2026-08-11",{"id":622,"name":623,"domain":624,"category":85,"price_usd_mo":625,"price_plan":626,"price_unit":24,"price_source":627,"price_checked":200,"links":628,"jobs":630,"verdict":97,"alternatives":634,"provenance":636,"verdict_reason":637,"what_you_lose":638,"economics":641,"hardware_tier":109,"verified":642,"derived":645},"chatbase","Chatbase","chatbase.co",40,"Hobby","https:\u002F\u002Fwww.chatbase.co\u002Fpricing",{"caniselfhostit":629},"https:\u002F\u002Fcaniselfhostit.com\u002Fchatbase",[631,632,633,266],"AI chat over your docs","website widget","lead capture",[635],"typebot",{"capability_seed":46,"decision_layer":47},"Typebot builds the chat flows; your own OpenAI\u002FAnthropic key powers the answers — usually cheaper than Chatbase's $40\u002Fmo bundle at moderate volume. It's KINDA because you're not deleting the metered cost, just unbundling it.",[639,640],"Chatbase's one-click retrieval tuning — you'll assemble RAG yourself","Their hosted widget analytics",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":144},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":643},[644],"logs\u002Fchatbase.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":646,"net_saving_usd_mo":647,"setup_cost_usd":223,"break_even_months":648,"break_even_date":649,"markup_index":650,"primary_abandoned":80,"verdict_stale":80},8.83,31.17,0.16,"2026-08-15",4.53,{"id":652,"name":653,"domain":654,"category":655,"price_usd_mo":656,"price_plan":657,"price_unit":24,"price_source":658,"price_checked":26,"jobs":659,"verdict":33,"verdict_reason":665,"what_you_lose":666,"alternatives":670,"economics":672,"hardware_tier":673,"provenance":674,"verified":675,"compose":678,"links":682,"notes":684,"derived":685},"chatgpt","ChatGPT","chatgpt.com","ai-assistants",8,"Go","https:\u002F\u002Fopenai.com\u002Fchatgpt\u002Fpricing\u002F",[660,661,662,663,664],"frontier-model answers","image generation","voice conversations","memory & custom instructions","chat UI with history","LibreChat self-hosts the chat window, not the intelligence. You'll bring API keys (still paying, now per-token) or a GPU whose electricity bill reads like a subscription. The model was the product all along.",[667,668,669],"The frontier model itself — local models on consumer hardware are years behind what the subscription buys","Voice, image generation, and memory unless you wire up (and pay for) each provider separately","Predictable pricing: API metering can beat $8\u002Fmo for light use, or wildly exceed it",[671],"librechat",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":5},"old-laptop",{"capability_seed":46,"decision_layer":47},{"by":49,"at":50,"protocol":51,"setup_min":585,"assistant":53,"evidence":676,"what_broke":679},[677,678],"logs\u002Fchatgpt-librechat.md","compose\u002Fchatgpt-librechat.yml",[680,681],"Images are ghcr.io-hosted — Docker-Hub-only mirrors can't pull them; this pair's compose boot is verified by the CI runner","Boots healthy with zero API keys configured — which demonstrates the verdict: a working chat UI with nothing to talk to",{"caniselfhostit":683},"https:\u002F\u002Fcaniselfhostit.com\u002Fchatgpt","The KINDA hiding inside: heavy API users with existing keys get a better UI and per-token pricing from LibreChat. For everyone else the subscription is the cheap option.",{"hourly_rate_usd":5,"self_host_cost_usd_mo":686,"net_saving_usd_mo":687,"setup_cost_usd":688,"break_even_months":585,"break_even_date":689,"markup_index":690,"primary_abandoned":80,"verdict_stale":80},7.67,0.33,16.67,"2030-10-10",1.04,{"id":692,"name":693,"domain":694,"category":695,"price_usd_mo":180,"price_plan":593,"price_unit":24,"price_source":696,"price_checked":89,"links":697,"jobs":699,"verdict":97,"alternatives":703,"provenance":705,"verdict_reason":706,"what_you_lose":707,"economics":710,"hardware_tier":109,"verified":711,"compose":714,"derived":717},"codesandbox","CodeSandbox","codesandbox.io","automation-dev","https:\u002F\u002Fcodesandbox.io\u002Fpricing",{"caniselfhostit":698},"https:\u002F\u002Fcaniselfhostit.com\u002Fcodesandbox",[700,701,446,702],"cloud dev environments","instant sandboxes","GitHub integration",[704],"code-server",{"capability_seed":46,"decision_layer":47},"code-server puts real VS Code on your VPS and it boots instantly. What it doesn't do is CodeSandbox's instant throwaway environments and live collab. Worth it as your persistent cloud IDE; not a sandbox factory.",[708,709],"Instant ephemeral sandboxes per branch\u002FPR","Live multiplayer editing",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":217},{"by":49,"at":50,"protocol":51,"setup_min":294,"assistant":53,"evidence":712,"what_broke":715},[713,714],"logs\u002Fcodesandbox.md","compose\u002Fcodesandbox-code-server.yml",[716],"Boot to healthy measured at 25s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":419,"net_saving_usd_mo":419,"setup_cost_usd":718,"break_even_months":363,"break_even_date":719,"markup_index":351,"primary_abandoned":80,"verdict_stale":80},3.67,"2026-08-29",{"id":721,"name":722,"domain":723,"category":724,"price_usd_mo":725,"price_plan":561,"price_unit":233,"price_source":726,"price_checked":200,"links":727,"jobs":729,"verdict":97,"alternatives":734,"provenance":738,"verdict_reason":739,"what_you_lose":740,"economics":743,"hardware_tier":109,"verified":744,"derived":747},"confluence","Confluence","atlassian.com","notes-wikis",6.7,"https:\u002F\u002Fwww.atlassian.com\u002Fsoftware\u002Fconfluence\u002Fpricing",{"caniselfhostit":728},"https:\u002F\u002Fcaniselfhostit.com\u002Fconfluence",[730,731,732,733],"team wiki","page hierarchies & permissions","templates","search",[735,736,737],"xwiki","docmost","bookstack",{"capability_seed":46,"decision_layer":47},"Per-seat wiki pricing adds up fast, and BookStack\u002FDocmost\u002FXWiki are all credible team wikis. It's KINDA because wiki migrations are where good intentions die — the software moves in an evening, the content and habits take a quarter.",[741,742],"Confluence's Jira integration if you're captive there anyway","Enterprise permission schemes",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":745},[746],"logs\u002Fconfluence.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":294,"net_saving_usd_mo":748,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":363,"primary_abandoned":80,"verdict_stale":80},-4.3,{"id":750,"name":751,"domain":752,"category":753,"price_usd_mo":351,"price_plan":754,"price_unit":269,"price_source":755,"price_checked":26,"links":756,"jobs":758,"verdict":33,"alternatives":763,"provenance":765,"verdict_reason":766,"what_you_lose":767,"economics":770,"hardware_tier":44,"verified":771,"compose":774,"derived":777},"cronitor","Cronitor","cronitor.io","monitoring","Business","https:\u002F\u002Fcronitor.io\u002Fpricing",{"caniselfhostit":757},"https:\u002F\u002Fcaniselfhostit.com\u002Fcronitor",[759,760,761,762],"dead-man-switch cron monitoring","alerting (email\u002Fwebhook\u002FSlack)","status badges","schedules\u002Fgrace windows",[764],"healthchecks",{"capability_seed":46,"decision_layer":47},"Healthchecks is excellent and installs in half an hour. Cronitor's solo tier is $2\u002Fmo. If your time is worth anything at all, the subscription wins — and the monitor watching your cron jobs shouldn't share fate with the box running them.",[768,769],"Independence: self-hosted on the same infra it watches, an outage takes out the alarm too","$24\u002Fyr of not thinking",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":489,"assistant":53,"evidence":772,"what_broke":775},[773,774],"logs\u002Fcronitor-healthchecks.md","compose\u002Fcronitor-healthchecks.yml",[776],"The image's built-in healthcheck probes the database connection, and the sqlite default has no writable path in the stock container — it 500s forever until you either mount the sqlite dir correctly or (better) give it the Postgres it actually wants",{"hourly_rate_usd":5,"self_host_cost_usd_mo":187,"net_saving_usd_mo":778,"setup_cost_usd":499,"break_even_months":78,"break_even_date":78,"markup_index":779,"primary_abandoned":80,"verdict_stale":80},-1.83,0.52,{"id":781,"name":782,"domain":783,"category":724,"price_usd_mo":784,"price_plan":785,"price_unit":24,"price_source":786,"price_checked":89,"links":787,"jobs":789,"verdict":97,"alternatives":794,"provenance":796,"verdict_reason":797,"what_you_lose":798,"economics":801,"hardware_tier":44,"verified":802,"compose":805,"derived":808},"day-one","Day One","dayoneapp.com",6.25,"Gold","https:\u002F\u002Fdayoneapp.com\u002Fpricing\u002F",{"caniselfhostit":788},"https:\u002F\u002Fcaniselfhostit.com\u002Fday-one",[790,791,792,793],"journaling","photo entries","sync across devices","on-this-day resurfacing",[795],"memos",{"capability_seed":46,"decision_layer":47},"Memos booted in seconds and journaling in it is genuinely pleasant. But Day One is $6.25\u002Fmo and its apps are excellent — the math is thin and this is a category where owning the data is the real argument, not saving money. Worth it if a journal you own outlives any subscription; otherwise keep paying.",[799,800],"Day One's polished apps, photo layouts, and On This Day","End-to-end encrypted sync without running your own",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":294,"assistant":53,"evidence":803,"what_broke":806},[804,805],"logs\u002Fday-one.md","compose\u002Fday-one-memos.yml",[807],"Boot to healthy measured at 14s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":327,"net_saving_usd_mo":809,"setup_cost_usd":718,"break_even_months":810,"break_even_date":811,"markup_index":812,"primary_abandoned":80,"verdict_stale":80},2.62,1.4,"2026-09-22",1.72,{"id":814,"name":815,"domain":816,"category":817,"price_usd_mo":818,"price_plan":23,"price_unit":24,"price_source":819,"price_checked":200,"links":820,"jobs":822,"verdict":97,"alternatives":827,"provenance":829,"verdict_reason":830,"what_you_lose":831,"economics":834,"hardware_tier":109,"verified":835,"derived":838},"deepl-pro","DeepL Pro","deepl.com","ai-tools",8.74,"https:\u002F\u002Fwww.deepl.com\u002Fen\u002Fpro",{"caniselfhostit":821},"https:\u002F\u002Fcaniselfhostit.com\u002Fdeepl-pro",[823,824,825,826],"text translation","document translation","API access","glossaries",[828],"libretranslate",{"capability_seed":46,"decision_layer":47},"LibreTranslate gives you an unlimited private translation API for the cost of a beefy-ish container. The honest gap: open models still trail DeepL noticeably on nuance. Worth it for bulk\u002Fprivate pipelines; not if translation quality is customer-facing.",[832,833],"DeepL's translation quality — the gap is real and visible","Glossaries and document formatting fidelity",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":217},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":836},[837],"logs\u002Fdeepl-pro.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":419,"net_saving_usd_mo":839,"setup_cost_usd":223,"break_even_months":840,"break_even_date":841,"markup_index":842,"primary_abandoned":80,"verdict_stale":80},2.74,1.82,"2026-10-05",1.46,{"id":844,"name":845,"domain":846,"category":159,"price_usd_mo":217,"price_plan":847,"price_unit":24,"price_source":848,"price_checked":26,"links":849,"jobs":851,"verdict":134,"alternatives":856,"provenance":858,"verdict_reason":859,"what_you_lose":860,"economics":863,"hardware_tier":44,"verified":864,"compose":867,"derived":870},"docusign","DocuSign","docusign.com","Personal","https:\u002F\u002Fecom.docusign.com\u002Fplans-and-pricing\u002Fesignature",{"caniselfhostit":850},"https:\u002F\u002Fcaniselfhostit.com\u002Fdocusign",[852,853,854,855],"e-signatures","signing templates","audit trails","multi-party flows",[857],"docuseal",{"capability_seed":46,"decision_layer":47},"DocuSeal does signatures, templates, audit trails and email flows from one sqlite-backed container. DocuSign's $15\u002Fmo Personal plan caps you at 5 sends a month; your own instance doesn't count.",[861,862],"Court-tested brand recognition — counterparties know DocuSign","Qualified e-signature (QES) tiers for regulated industries",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":217},{"by":49,"at":50,"protocol":51,"setup_min":294,"assistant":53,"evidence":865,"what_broke":868},[866,867],"logs\u002Fdocusign.md","compose\u002Fdocusign-docuseal.yml",[869],"Boot to healthy measured at 26s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":871,"net_saving_usd_mo":872,"setup_cost_usd":718,"break_even_months":873,"break_even_date":874,"markup_index":875,"primary_abandoned":80,"verdict_stale":80},5.3,9.7,0.38,"2026-08-22",2.83,{"id":877,"name":878,"domain":879,"category":125,"price_usd_mo":880,"price_plan":593,"price_unit":233,"price_source":881,"price_checked":200,"links":882,"jobs":884,"verdict":134,"alternatives":888,"provenance":890,"verdict_reason":891,"what_you_lose":892,"economics":894,"hardware_tier":44,"verified":895,"compose":898,"derived":901},"doodle","Doodle","doodle.com",10.95,"https:\u002F\u002Fdoodle.com\u002Fen\u002Fpremium",{"caniselfhostit":883},"https:\u002F\u002Fcaniselfhostit.com\u002Fdoodle",[885,886,887],"group scheduling polls","availability collection","calendar integration",[889,137],"rallly",{"capability_seed":46,"decision_layer":47},"Rallly does the one Doodle job — find a time that works for everyone — with a clean UI, no ads around your poll, and no $10.95\u002Fmo for what is fundamentally a form with dates on it.",[893],"Doodle's booking-page features beyond group polls (Cal.com covers those, separately verified)",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":180,"assistant":53,"evidence":896,"what_broke":899},[897,898],"logs\u002Fdoodle.md","compose\u002Fdoodle-rallly.yml",[900],"Boot to healthy measured at 64s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":327,"net_saving_usd_mo":902,"setup_cost_usd":189,"break_even_months":903,"break_even_date":904,"markup_index":905,"primary_abandoned":80,"verdict_stale":80},7.32,0.55,"2026-08-27",3.01,{"id":907,"name":908,"domain":909,"category":159,"price_usd_mo":910,"price_plan":268,"price_unit":24,"price_source":911,"price_checked":26,"links":912,"jobs":914,"verdict":97,"alternatives":920,"provenance":921,"verdict_reason":922,"what_you_lose":923,"economics":927,"hardware_tier":109,"verified":929,"compose":933,"derived":937},"dropbox","Dropbox","dropbox.com",11.99,"https:\u002F\u002Fwww.dropbox.com\u002Fplans",{"caniselfhostit":913},"https:\u002F\u002Fcaniselfhostit.com\u002Fdropbox",[915,916,917,918,919],"file sync across devices","sharing links","mobile photo backup","version history","collaborative docs (with apps)",[518],{"capability_seed":46,"decision_layer":47},"Nextcloud replaces Dropbox and half your Google account — and it's a platform that wants attention. Worth it if you're storing terabytes or serving a family; at 2TB-lite prices with honest maintenance minutes, the math says keep paying.",[924,925,926],"Dropbox's sync engine reliability — Nextcloud sync is good, not legendary","Zero-thought durability: your files are now on disks you own and must back up","Some maintenance months are 5 minutes; upgrade months are not",{"vps_share_usd_mo":928,"storage_usd_mo":351,"maint_min_mo":108},2.5,{"by":49,"at":50,"protocol":51,"setup_min":930,"assistant":53,"evidence":931,"what_broke":934},90,[932,933],"logs\u002Fdropbox-nextcloud.md","compose\u002Fdropbox-nextcloud.yml",[935,936],"First boot takes a minute+ to install before status.php goes green — healthcheck needs the long start_period","Trusted-domain config bites the moment you access it from a non-localhost hostname",{"hourly_rate_usd":5,"self_host_cost_usd_mo":938,"net_saving_usd_mo":939,"setup_cost_usd":287,"break_even_months":78,"break_even_date":78,"markup_index":363,"primary_abandoned":80,"verdict_stale":80},19.5,-7.51,{"id":941,"name":942,"domain":943,"category":944,"price_usd_mo":910,"price_plan":561,"price_unit":24,"price_source":945,"price_checked":89,"links":946,"jobs":948,"verdict":33,"alternatives":952,"provenance":954,"verdict_reason":955,"what_you_lose":956,"economics":958,"hardware_tier":44,"verified":959,"compose":962,"derived":965},"everand","Everand","everand.com","reading-bookmarks","https:\u002F\u002Fsupport.scribd.com\u002Fhc\u002Fen-us\u002Farticles\u002F40678839226644-Everand-plans-Standard-Plus-and-Deluxe",{"caniselfhostit":947},"https:\u002F\u002Fcaniselfhostit.com\u002Feverand",[949,950,951],"ebook & audiobook streaming catalog","reading apps","recommendations",[953],"kavita",{"capability_seed":46,"decision_layer":47},"Everand is a catalog subscription — the books aren't yours either way. Kavita beautifully serves media you own (and we verified it boots), but it cannot conjure Everand's library. Third member of the catalog-is-the-product pattern, after Spotify and Audible.",[957],"Nothing — if you own your ebooks, run Kavita for them regardless; it just doesn't replace the subscription",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":294,"assistant":53,"evidence":960,"what_broke":963},[961,962],"logs\u002Feverand.md","compose\u002Feverand-kavita.yml",[964],"Boot to healthy measured at 32s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":327,"net_saving_usd_mo":966,"setup_cost_usd":718,"break_even_months":967,"break_even_date":968,"markup_index":969,"primary_abandoned":80,"verdict_stale":80},8.36,0.44,"2026-08-23",3.3,{"id":971,"name":972,"domain":973,"category":724,"price_usd_mo":974,"price_plan":87,"price_unit":24,"price_source":975,"price_checked":89,"links":976,"jobs":978,"verdict":97,"alternatives":983,"provenance":985,"verdict_reason":986,"what_you_lose":987,"economics":991,"hardware_tier":44,"verified":993,"compose":996,"derived":999},"evernote","Evernote","evernote.com",14.99,"https:\u002F\u002Fevernote.com\u002Fcompare-plans",{"caniselfhostit":977},"https:\u002F\u002Fcaniselfhostit.com\u002Fevernote",[979,980,733,981,982],"notes with hierarchy\u002Flinks","web clipping","mobile capture","OCR of images\u002Fhandwriting",[984],"trilium",{"capability_seed":46,"decision_layer":47},"Trilium's tree-of-notes beats Evernote for structured thinkers on desktop. The mobile story is a synced web app and the OCR-of-photos job doesn't exist — worth it if your notes live on a keyboard.",[988,989,990],"Native mobile apps with offline + camera capture — Trilium mobile is a web view","Evernote's OCR on photos and scans","10GB of someone else's storage",{"vps_share_usd_mo":992,"storage_usd_mo":43,"maint_min_mo":178},0.8,{"by":49,"at":50,"protocol":51,"setup_min":625,"assistant":53,"evidence":994,"what_broke":997},[995,996],"logs\u002Fevernote-trilium.md","compose\u002Fevernote-trilium.yml",[998],"Project moved: zadam\u002Ftrilium is archived, TriliumNext is the maintained fork — star counts and docker tags split across the two confuses every comparison",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1000,"net_saving_usd_mo":1001,"setup_cost_usd":1002,"break_even_months":1003,"break_even_date":1004,"markup_index":327,"primary_abandoned":80,"verdict_stale":80},4.13,10.86,13.33,1.23,"2026-09-16",{"id":1006,"name":1007,"domain":1008,"category":266,"price_usd_mo":217,"price_plan":87,"price_unit":24,"price_source":1009,"price_checked":50,"links":1010,"jobs":1011,"alternatives":1016,"provenance":1019,"verdict":134,"verdict_reason":1020,"what_you_lose":1021,"economics":1024,"hardware_tier":109,"verified":1025,"compose":1028,"derived":1029},"fathom-analytics","Fathom Analytics","usefathom.com","https:\u002F\u002Fusefathom.com\u002Fpricing",{},[1012,1013,1014,1015],"pageview analytics","event tracking","GDPR-friendly stats","email reports",[1017,1018],"plausible","umami",{"decision_layer":47},"Fathom charges $15\u002Fmo for privacy-friendly analytics; Plausible and Umami are the same promise as software you run. The Plausible compose on this scoreboard is already boot-verified — same replacement, same math, one more subscription that's really a database with a chart on top.",[1022,1023],"Fathom's managed uptime and their EU isolation guarantees on paper","Email reports arrive from your cron now",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":217},{"by":49,"at":50,"protocol":51,"setup_min":144,"assistant":53,"evidence":1026},[1027,1028],"logs\u002Ffathom-analytics.md","compose\u002Fplausible-plausible.yml",{"hourly_rate_usd":5,"self_host_cost_usd_mo":617,"net_saving_usd_mo":1030,"setup_cost_usd":1031,"break_even_months":1032,"break_even_date":1033,"markup_index":1034,"primary_abandoned":80,"verdict_stale":80},9.5,8.33,0.88,"2026-09-06",2.73,{"id":1036,"name":1037,"domain":1038,"category":944,"price_usd_mo":1039,"price_plan":593,"price_unit":24,"price_source":1040,"price_checked":26,"links":1041,"jobs":1043,"verdict":134,"alternatives":1047,"provenance":1049,"verdict_reason":1050,"what_you_lose":1051,"economics":1054,"hardware_tier":44,"verified":1055,"compose":1058,"derived":1061},"feedly","Feedly","feedly.com",6.99,"https:\u002F\u002Ffeedly.com\u002Fi\u002Fpricing",{"caniselfhostit":1042},"https:\u002F\u002Fcaniselfhostit.com\u002Ffeedly",[1044,1045,1046,515],"follow feeds in one reader","sync read-state across devices","search & filters",[1048],"freshrss",{"capability_seed":46,"decision_layer":47},"One container, your feeds, no $84\u002Fyr for the privilege of reading RSS — the format that was designed to be self-hosted.",[1052,1053],"Feedly's AI triage and team boards","Their server discovering feed URLs for you — FreshRSS makes you paste the URL like it's 2008 (it's fine)",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":287,"assistant":53,"evidence":1056,"what_broke":1059},[1057,1058],"logs\u002Ffeedly-freshrss.md","compose\u002Ffeedly-freshrss.yml",[1060],"Nothing — image ships with SQLite default and a web installer",{"hourly_rate_usd":5,"self_host_cost_usd_mo":187,"net_saving_usd_mo":1062,"setup_cost_usd":178,"break_even_months":1063,"break_even_date":1064,"markup_index":840,"primary_abandoned":80,"verdict_stale":80},3.16,3.17,"2026-11-14",{"id":1066,"name":1067,"domain":1068,"category":1069,"price_usd_mo":5,"price_plan":1070,"price_unit":233,"price_source":1071,"price_checked":89,"links":1072,"jobs":1074,"verdict":97,"alternatives":1079,"provenance":1082,"verdict_reason":1083,"what_you_lose":1084,"economics":1087,"hardware_tier":109,"verified":1088,"derived":1091},"figma","Figma","figma.com","design-whiteboard","Professional","https:\u002F\u002Fwww.figma.com\u002Fpricing\u002F",{"caniselfhostit":1073},"https:\u002F\u002Fcaniselfhostit.com\u002Ffigma",[1075,1076,1077,1078],"UI design","components & libraries","prototyping","dev handoff",[1080,1081],"penpot","excalidraw",{"capability_seed":46,"decision_layer":47},"Penpot is the real thing — components, prototyping, dev handoff, SVG-native. For solo work and internal tools it's a clean yes. What keeps this at KINDA is everyone else: client files, plugins, and the fact that design collaboration happens where the other designers are.",[1085,1086],"Figma's plugin ecosystem and multiplayer ubiquity","Auto-layout parity is close but not identical — test your patterns",{"vps_share_usd_mo":351,"storage_usd_mo":43,"maint_min_mo":625},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":1089},[1090],"logs\u002Ffigma.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1092,"net_saving_usd_mo":1093,"setup_cost_usd":223,"break_even_months":1094,"break_even_date":1095,"markup_index":1096,"primary_abandoned":80,"verdict_stale":80},15.33,4.67,1.07,"2026-09-12",1.3,{"id":1098,"name":1099,"domain":1100,"category":196,"price_usd_mo":498,"price_plan":1101,"price_unit":24,"price_source":1102,"price_checked":200,"links":1103,"jobs":1105,"verdict":33,"alternatives":1110,"provenance":1112,"verdict_reason":1113,"what_you_lose":1114,"economics":1116,"hardware_tier":109,"verified":1117,"derived":1120},"flickr-pro","Flickr Pro","flickr.com","2-year plan","https:\u002F\u002Fwww.flickr.com\u002Faccount\u002Fupgrade\u002Fpro",{"caniselfhostit":1104},"https:\u002F\u002Fcaniselfhostit.com\u002Fflickr-pro",[1106,1107,1108,1109],"photo hosting","albums & galleries","community & groups","stats",[1111,210],"piwigo",{"capability_seed":46,"decision_layer":47},"$6.17\u002Fmo for unlimited hosting plus the last real photo community. Piwigo and Immich store photos superbly (Immich already earned an ownership-driven NO here against Google One) — but Flickr Pro is community + hosting, and half of that doesn't self-host.",[1115],"The community and reach; galleries your family already knows how to open",{"vps_share_usd_mo":107,"storage_usd_mo":351,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":1118},[1119],"logs\u002Fflickr-pro.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1121,"net_saving_usd_mo":1122,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":1123,"primary_abandoned":80,"verdict_stale":80},9.67,-3.5,0.64,{"id":1125,"name":1126,"domain":1127,"category":304,"price_usd_mo":1128,"price_plan":1129,"price_unit":24,"price_source":1130,"price_checked":89,"links":1131,"jobs":1133,"verdict":97,"alternatives":1138,"provenance":1141,"verdict_reason":1142,"what_you_lose":1143,"economics":1145,"hardware_tier":109,"verified":1146,"derived":1149},"freshbooks","FreshBooks","freshbooks.com",23,"Lite","https:\u002F\u002Fwww.freshbooks.com\u002Fpricing",{"caniselfhostit":1132},"https:\u002F\u002Fcaniselfhostit.com\u002Ffreshbooks",[1134,1135,1136,1137],"invoicing","expense tracking","time tracking","client payments",[1139,1140],"invoice-ninja","kimai",{"capability_seed":46,"decision_layer":47},"Invoice Ninja covers invoicing, expenses and payments credibly, and freelancer money is exactly the money worth keeping. It stays KINDA because books are high-stakes state: migrating history mid-year and owning backups of your invoicing DB is a commitment, not a hobby.",[1144],"FreshBooks' bank feeds and their support when tax season goes sideways",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":1147},[1148],"logs\u002Ffreshbooks.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1150,"net_saving_usd_mo":1151,"setup_cost_usd":223,"break_even_months":1152,"break_even_date":874,"markup_index":1153,"primary_abandoned":80,"verdict_stale":80},10.5,12.5,0.4,2.19,{"id":1155,"name":1156,"domain":1157,"category":85,"price_usd_mo":6,"price_plan":87,"price_unit":24,"price_source":1158,"price_checked":26,"links":1159,"jobs":1161,"verdict":134,"alternatives":1166,"provenance":1168,"verdict_reason":1169,"what_you_lose":1170,"economics":1173,"hardware_tier":109,"verified":1175,"compose":1178,"derived":1183},"ghost-pro","Ghost(Pro)","ghost.org","https:\u002F\u002Fghost.org\u002Fpricing\u002F",{"caniselfhostit":1160},"https:\u002F\u002Fcaniselfhostit.com\u002Fghost-pro",[1162,1163,1164,1165],"publishing\u002Fblog","newsletter sending","memberships\u002Fpaid subs","themes",[1167],"ghost",{"capability_seed":46,"decision_layer":47},"It's the same Ghost. $18\u002Fmo buys hosting, email infrastructure and zero ops — $216\u002Fyr buys a lot of newsletters, and the software is right there.",[1171,1172],"Ghost(Pro)'s bundled newsletter deliverability — bring Mailgun for bulk sends","Automatic upgrades from the people who wrote it (and fund it — Pro revenue pays for the software you're running)",{"vps_share_usd_mo":1174,"storage_usd_mo":43,"maint_min_mo":5},1.5,{"by":49,"at":50,"protocol":51,"setup_min":585,"assistant":53,"evidence":1176,"what_broke":1179},[1177,1178],"logs\u002Fghost-pro-ghost.md","compose\u002Fghost-pro-ghost.yml",[1180,1181,1182],"Where IPv6 is disabled Ghost dies with the deeply unhelpful 'Code: -97' — it's EAFNOSUPPORT; set server__host: 0.0.0.0","MySQL 8's first-boot init answers socket pings while TCP is still down, so a socket-based healthcheck releases Ghost too early into an ECONNREFUSED crash-loop — probe with --protocol=tcp","Ghost 5 requires MySQL 8 specifically — SQLite and MariaDB are not supported paths",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1184,"net_saving_usd_mo":1185,"setup_cost_usd":688,"break_even_months":1186,"break_even_date":1187,"markup_index":1188,"primary_abandoned":80,"verdict_stale":80},8.17,9.83,1.69,"2026-10-01",2.2,{"id":1190,"name":1191,"domain":1192,"category":817,"price_usd_mo":178,"price_plan":593,"price_unit":24,"price_source":1193,"price_checked":89,"links":1194,"jobs":1196,"verdict":33,"alternatives":1200,"provenance":1202,"verdict_reason":1203,"what_you_lose":1204,"economics":1206,"verified":1207,"derived":1210},"github-copilot","GitHub Copilot","github.com","https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcopilot\u002Fplans",{"caniselfhostit":1195},"https:\u002F\u002Fcaniselfhostit.com\u002Fgithub-copilot",[1197,1198,1199],"AI code completion","chat in editor","multi-file suggestions",[1201],"tabby",{"capability_seed":46,"decision_layer":47},"Tabby self-hosts code completion competently — on a GPU you have to rent or own. $10\u002Fmo buys frontier-model completions; a capable inference GPU runs multiples of that in electricity alone. The math inverts only if idle GPU hardware already exists in your house.",[1205],"Frontier model quality at a subsidized price — Copilot is cheaper than the compute it uses",{"vps_share_usd_mo":43,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":1208},[1209],"logs\u002Fgithub-copilot.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":178,"net_saving_usd_mo":43,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":107,"primary_abandoned":80,"verdict_stale":80},{"id":1212,"name":1213,"domain":1214,"category":196,"price_usd_mo":1215,"price_plan":1216,"price_unit":24,"price_source":1217,"price_checked":26,"links":1218,"jobs":1220,"verdict":33,"alternatives":1225,"provenance":1226,"verdict_reason":1227,"what_you_lose":1228,"economics":1231,"hardware_tier":109,"verified":1232,"compose":1235,"derived":1239},"google-one","Google One","one.google.com",1.99,"Basic (100 GB)","https:\u002F\u002Fone.google.com\u002Fabout\u002Fplans",{"caniselfhostit":1219},"https:\u002F\u002Fcaniselfhostit.com\u002Fgoogle-one",[1221,1222,1223,1224],"photo\u002Fvideo backup from phones","ML search & faces","shared albums","100GB of durable storage",[210,518],{"capability_seed":46,"decision_layer":47},"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.",[1229,1230],"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":117,"storage_usd_mo":107,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":111,"assistant":53,"evidence":1233,"what_broke":1236},[1234,1235],"logs\u002Fgoogle-one-immich.md","compose\u002Fgoogle-one-immich.yml",[1237,1238],"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":1240,"net_saving_usd_mo":1241,"setup_cost_usd":5,"break_even_months":78,"break_even_date":78,"markup_index":1242,"primary_abandoned":80,"verdict_stale":80},14,-12.01,0.14,{"id":1244,"name":1245,"domain":1246,"category":159,"price_usd_mo":1247,"price_plan":508,"price_unit":233,"price_source":1248,"price_checked":200,"links":1249,"jobs":1251,"verdict":33,"alternatives":1256,"provenance":1259,"verdict_reason":1260,"what_you_lose":1261,"economics":1264,"hardware_tier":109,"verified":1265,"derived":1268},"google-workspace-business-starter","Google Workspace","workspace.google.com",8.4,"https:\u002F\u002Fknowledge.workspace.google.com\u002Fadmin\u002Fbilling\u002Fflexible-plan",{"caniselfhostit":1250},"https:\u002F\u002Fcaniselfhostit.com\u002Fgoogle-workspace-business-starter",[1252,1253,1254,1255],"custom-domain email","Drive storage","Docs\u002FSheets","Meet",[1257,1258],"collabora","onlyoffice",{"capability_seed":46,"decision_layer":47},"The docs and drive parts self-host fine (OnlyOffice, Nextcloud — both on this scoreboard). The email part is the trap: self-hosted SMTP in 2026 is a deliverability hobby where you debug why Gmail silently spam-folders your invoices. Email is the one workload we tell everyone to keep paying for.",[1262,1263],"Deliverability that just works — the entire value is other people's spam filters trusting Google","Meet\u002FCalendar network effects",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":111},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":1266},[1267],"logs\u002Fgoogle-workspace-business-starter.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1269,"net_saving_usd_mo":1270,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":1152,"primary_abandoned":80,"verdict_stale":80},21,-12.6,{"id":1272,"name":1273,"domain":1274,"category":753,"price_usd_mo":86,"price_plan":593,"price_unit":269,"price_source":1275,"price_checked":89,"links":1276,"jobs":1278,"verdict":134,"alternatives":1283,"provenance":1285,"verdict_reason":1286,"what_you_lose":1287,"economics":1290,"hardware_tier":44,"verified":1291,"compose":1294,"derived":1297},"grafana-cloud","Grafana Cloud","grafana.com","https:\u002F\u002Fgrafana.com\u002Fpricing\u002F",{"caniselfhostit":1277},"https:\u002F\u002Fcaniselfhostit.com\u002Fgrafana-cloud",[1279,1280,1281,1282],"dashboards over your metrics\u002Flogs","alerting","team sharing","plugin ecosystem",[1284],"grafana",{"capability_seed":46,"decision_layer":47},"Grafana OSS is the same dashboards without the per-seat cloud math — the honest catch is that Cloud's bundled Prometheus\u002FLoki storage becomes your problem.",[1288,1289],"Managed Prometheus\u002FLoki\u002FTempo storage — you now run (and size) your own data sources","Cloud's SLO on the thing that pages you",{"vps_share_usd_mo":1174,"storage_usd_mo":43,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":108,"assistant":53,"evidence":1292,"what_broke":1295},[1293,1294],"logs\u002Fgrafana-cloud-grafana.md","compose\u002Fgrafana-cloud-grafana.yml",[1296],"Nothing for Grafana itself — the real setup time is in the data sources it points at",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1184,"net_saving_usd_mo":1298,"setup_cost_usd":217,"break_even_months":587,"break_even_date":1299,"markup_index":1300,"primary_abandoned":80,"verdict_stale":80},10.83,"2026-09-21",2.33,{"id":1302,"name":1303,"domain":1304,"category":817,"price_usd_mo":180,"price_plan":593,"price_unit":24,"price_source":1305,"price_checked":89,"links":1306,"jobs":1308,"verdict":97,"alternatives":1312,"provenance":1314,"verdict_reason":1315,"what_you_lose":1316,"economics":1319,"hardware_tier":109,"verified":1320,"compose":1323,"derived":1326},"grammarly","Grammarly","grammarly.com","https:\u002F\u002Fwww.grammarly.com\u002Fplans",{"caniselfhostit":1307},"https:\u002F\u002Fcaniselfhostit.com\u002Fgrammarly",[1309,1310,1311],"grammar & spelling checks","style suggestions","browser integration",[1313],"languagetool",{"capability_seed":46,"decision_layer":47},"LanguageTool's server boots in seconds and the browser extension points at it with one setting — grammar and style rules without shipping every keystroke to a cloud. But Grammarly's AI rewrites are genuinely a tier above. Worth it if privacy is the point; not if the AI editor is.",[1317,1318],"GrammarlyGO rewriting and tone suggestions","The premium rule-sets (LanguageTool's own premium exists for that)",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":294,"assistant":53,"evidence":1321,"what_broke":1324},[1322,1323],"logs\u002Fgrammarly.md","compose\u002Fgrammarly-languagetool.yml",[1325],"Boot to healthy measured at 20s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":187,"net_saving_usd_mo":1184,"setup_cost_usd":718,"break_even_months":1327,"break_even_date":1328,"markup_index":1329,"primary_abandoned":80,"verdict_stale":80},0.45,"2026-08-24",3.13,{"id":1331,"name":1332,"domain":1333,"category":304,"price_usd_mo":1334,"price_plan":1332,"price_unit":24,"price_source":1335,"price_checked":89,"links":1336,"jobs":1338,"verdict":134,"alternatives":1342,"provenance":1344,"verdict_reason":1345,"what_you_lose":1346,"economics":1349,"hardware_tier":44,"verified":1350,"derived":1353},"home-assistant-cloud","Home Assistant Cloud","nabucasa.com",6.5,"https:\u002F\u002Fwww.nabucasa.com\u002Fpricing\u002F",{"caniselfhostit":1337},"https:\u002F\u002Fcaniselfhostit.com\u002Fhome-assistant-cloud",[1339,1340,1341],"remote access to Home Assistant","voice assistant integration","TLS without port-forwarding",[1343],"home-assistant",{"capability_seed":46,"decision_layer":47},"You're already self-hosting Home Assistant — Nabu Casa is a $6.50 relay for remote access and voice. A reverse proxy or Tailscale replaces the relay in an afternoon. Counterpoint worth stating: that subscription is also how HA's development gets funded.",[1347,1348],"Alexa\u002FGoogle voice skills without manual token surgery","Funding the project — consider a donation if you drop the sub",{"vps_share_usd_mo":43,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":1351},[1352],"logs\u002Fhome-assistant-cloud.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":584,"net_saving_usd_mo":1063,"setup_cost_usd":223,"break_even_months":1354,"break_even_date":1355,"markup_index":1356,"primary_abandoned":80,"verdict_stale":80},1.58,"2026-09-27",1.95,{"id":1358,"name":1359,"domain":1360,"category":944,"price_usd_mo":197,"price_plan":593,"price_unit":24,"price_source":1361,"price_checked":200,"links":1362,"jobs":1364,"verdict":134,"alternatives":1369,"provenance":1371,"verdict_reason":1372,"what_you_lose":1373,"economics":1376,"hardware_tier":44,"verified":1377,"compose":1380,"derived":1383},"inoreader","Inoreader","inoreader.com","https:\u002F\u002Fwww.inoreader.com\u002Fpricing",{"caniselfhostit":1363},"https:\u002F\u002Fcaniselfhostit.com\u002Finoreader",[1365,1366,1367,1368],"follow feeds","read-state sync","keyboard-driven reading","integrations (save to wallabag\u002Fpocket-likes)",[1370,1048],"miniflux",{"capability_seed":46,"decision_layer":47},"Miniflux is 20MB of Go that does the reading part of a $120\u002Fyr subscription. Bring your own opinions about minimalism.",[1374,1375],"Inoreader's rules\u002Fautomation engine and article monitoring","Fancy dashboards — Miniflux is deliberately plain",{"vps_share_usd_mo":992,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":489,"assistant":53,"evidence":1378,"what_broke":1381},[1379,1380],"logs\u002Finoreader-miniflux.md","compose\u002Finoreader-miniflux.yml",[1382],"CREATE_ADMIN only fires on first boot; set the env before, not after, or exec the CLI",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1000,"net_saving_usd_mo":1384,"setup_cost_usd":499,"break_even_months":1215,"break_even_date":1385,"markup_index":1386,"primary_abandoned":80,"verdict_stale":80},5.86,"2026-10-10",2.42,{"id":1388,"name":1389,"domain":1390,"category":944,"price_usd_mo":1391,"price_plan":439,"price_unit":24,"price_source":1392,"price_checked":89,"links":1393,"jobs":1395,"verdict":134,"alternatives":1400,"provenance":1402,"verdict_reason":1403,"what_you_lose":1404,"economics":1407,"hardware_tier":44,"verified":1408,"compose":1411,"derived":1416},"instapaper","Instapaper","instapaper.com",5.99,"https:\u002F\u002Fwww.instapaper.com\u002Fpremium",{"caniselfhostit":1394},"https:\u002F\u002Fcaniselfhostit.com\u002Finstapaper",[1396,1397,1398,1399],"save articles to read later","full-text archive that survives dead links","mobile\u002Foffline reading","tags & search",[1401],"wallabag",{"capability_seed":46,"decision_layer":47},"wallabag archives the full page — not a bookmark, the page — and syncs to its mobile apps and Kobo\u002FKindle. The $72\u002Fyr was for exactly this.",[1405,1406],"Instapaper's typography polish and tilt-scrolling niceties","Their parser team chasing weird sites — wallabag's extractor occasionally needs a config nudge",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":625,"assistant":53,"evidence":1409,"what_broke":1412},[1410,1411],"logs\u002Finstapaper-wallabag.md","compose\u002Finstapaper-wallabag.yml",[1413,1414,1415],"The image's nginx config hard-binds [::]:80 and crash-loops on kernels booted with ipv6.disable=1 (our verification microVM) — this pair's compose boot is certified by the CI runner","First boot runs Symfony install + migrations and nginx answers nothing for minutes — a healthcheck without a generous start_period declares it dead while it's warming up","SQLite default is fine for one reader; switch to the postgres envs before inviting the household",{"hourly_rate_usd":5,"self_host_cost_usd_mo":187,"net_saving_usd_mo":1417,"setup_cost_usd":1002,"break_even_months":1418,"break_even_date":1419,"markup_index":1420,"primary_abandoned":80,"verdict_stale":80},2.16,6.18,"2027-02-14",1.56,{"id":1422,"name":1423,"domain":1424,"category":125,"price_usd_mo":489,"price_plan":1425,"price_unit":233,"price_source":1426,"price_checked":89,"links":1427,"jobs":1429,"verdict":134,"alternatives":1434,"provenance":1436,"verdict_reason":1437,"what_you_lose":1438,"economics":1441,"hardware_tier":109,"verified":1442,"compose":1446,"derived":1447},"intercom","Intercom","intercom.com","Copilot","https:\u002F\u002Fwww.intercom.com\u002Fpricing",{"caniselfhostit":1428},"https:\u002F\u002Fcaniselfhostit.com\u002Fintercom",[1430,1431,1432,1433],"in-app messenger","shared inbox","outbound messages","help articles",[1435],"chatwoot",{"capability_seed":46,"decision_layer":47},"Intercom starts at $35\u002Fseat and climbs fast; Chatwoot does the messenger widget, inbox and campaigns without the per-seat meter. Same replacement and evidence as the Zendesk verdict.",[1439,1440],"Intercom's product-tour and outbound-message machinery","Fin AI agent — their answer bot is genuinely ahead",{"vps_share_usd_mo":351,"storage_usd_mo":43,"maint_min_mo":108},{"by":49,"at":50,"protocol":51,"setup_min":1443,"assistant":53,"evidence":1444},42,[1445,1446],"logs\u002Fintercom.md","compose\u002Fzendesk-chatwoot.yml",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1448,"net_saving_usd_mo":6,"setup_cost_usd":1240,"break_even_months":1449,"break_even_date":1450,"markup_index":1451,"primary_abandoned":80,"verdict_stale":80},17,0.78,"2026-09-03",2.06,{"id":1453,"name":1454,"domain":1455,"category":85,"price_usd_mo":1456,"price_plan":1457,"price_unit":24,"price_source":1458,"price_checked":200,"links":1459,"jobs":1461,"verdict":134,"alternatives":1465,"provenance":1469,"verdict_reason":1470,"what_you_lose":1471,"economics":1474,"hardware_tier":109,"verified":1475,"compose":1478,"derived":1479},"jotform","Jotform","jotform.com",39,"Bronze","https:\u002F\u002Fwww.jotform.com\u002Fpricing\u002F",{"caniselfhostit":1460},"https:\u002F\u002Fcaniselfhostit.com\u002Fjotform",[1462,732,1463,1464],"form builder","payments in forms","submissions inbox",[1466,1467,1468],"heyform","formbricks","limesurvey",{"capability_seed":46,"decision_layer":47},"Same shape as Typeform: $39\u002Fmo for form limits that Formbricks (or LimeSurvey for research-grade needs) removes entirely. The evidence and the compose are shared with the Typeform verdict — it's the same replacement.",[1472,1473],"Jotform's enormous template library and PDF form filling","HIPAA-compliant hosting tier",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":625,"assistant":53,"evidence":1476},[1477,1478],"logs\u002Fjotform.md","compose\u002Ftypeform-formbricks.yml",{"hourly_rate_usd":5,"self_host_cost_usd_mo":75,"net_saving_usd_mo":1480,"setup_cost_usd":1002,"break_even_months":1481,"break_even_date":968,"markup_index":1482,"primary_abandoned":80,"verdict_stale":80},31.83,0.42,5.44,{"id":1484,"name":1485,"domain":1486,"category":85,"price_usd_mo":1456,"price_plan":1487,"price_unit":24,"price_source":1488,"price_checked":89,"links":1489,"jobs":1491,"verdict":134,"alternatives":1496,"provenance":1498,"verdict_reason":1499,"what_you_lose":1500,"economics":1503,"hardware_tier":109,"verified":1504,"compose":114,"derived":1507},"kit","Kit","kit.com","Creator","https:\u002F\u002Fkit.com\u002Fpricing",{"caniselfhostit":1490},"https:\u002F\u002Fcaniselfhostit.com\u002Fkit",[1492,1493,1494,1495],"email campaigns","subscriber segmentation","automation sequences","landing forms",[1497,100],"keila",{"capability_seed":46,"decision_layer":47},"Kit (ConvertKit) at $39\u002Fmo for 1k subscribers is the classic listmonk win: campaigns, sequences and segmentation from a two-container setup verified on this scoreboard, plus an SES account measured in cents.",[1501,1502],"Kit's creator-network recommendations engine","Landing pages and commerce come from elsewhere in your stack",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":625,"assistant":53,"evidence":1505},[1506,114],"logs\u002Fkit.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1150,"net_saving_usd_mo":1508,"setup_cost_usd":1002,"break_even_months":1509,"break_even_date":1328,"markup_index":1510,"primary_abandoned":80,"verdict_stale":80},28.5,0.47,3.71,{"id":1512,"name":1513,"domain":1514,"category":85,"price_usd_mo":656,"price_plan":87,"price_unit":24,"price_source":1515,"price_checked":89,"links":1516,"jobs":1518,"verdict":33,"alternatives":1520,"provenance":1522,"verdict_reason":1523,"what_you_lose":1524,"economics":1526,"hardware_tier":44,"verified":1527,"derived":1530},"linktree","Linktree","linktr.ee","https:\u002F\u002Flinktr.ee\u002Fs\u002Fpricing\u002F",{"caniselfhostit":1517},"https:\u002F\u002Fcaniselfhostit.com\u002Flinktree",[1519,477,1165],"link-in-bio page",[1521],"linkstack",{"capability_seed":46,"decision_layer":47},"It's one page of links. You don't need to self-host an app for that — you need 40 lines of HTML on any static host, free. LinkStack exists and works; recommending a PHP container to replace a static page is how self-hosting gets its reputation.",[1525],"Nothing — write the HTML file, or use Linktree's free tier",{"vps_share_usd_mo":43,"storage_usd_mo":43,"maint_min_mo":43},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":1528},[1529],"logs\u002Flinktree.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":43,"net_saving_usd_mo":656,"setup_cost_usd":223,"break_even_months":1531,"break_even_date":719,"markup_index":78,"primary_abandoned":80,"verdict_stale":80},0.63,{"id":1533,"name":1534,"domain":1535,"category":695,"price_usd_mo":1536,"price_plan":1537,"price_unit":24,"price_source":1538,"price_checked":200,"links":1539,"jobs":1541,"verdict":134,"alternatives":1546,"provenance":1549,"verdict_reason":1550,"what_you_lose":1551,"economics":1554,"hardware_tier":109,"verified":1555,"compose":1559,"derived":1562},"lokalise","Lokalise","lokalise.com",144,"Explorer","https:\u002F\u002Flokalise.com\u002Fpricing",{"caniselfhostit":1540},"https:\u002F\u002Fcaniselfhostit.com\u002Flokalise",[1542,1543,1544,1545],"translation management","translation memory","collaboration & review","format round-trips",[1547,1548],"weblate","tolgee",{"capability_seed":46,"decision_layer":47},"At $144\u002Fmo, Lokalise is one of the widest gaps on the whole scoreboard: Weblate and Tolgee are mature, translation-memory-equipped platforms that agencies and open-source projects run in production every day.",[1552,1553],"Lokalise's design-tool plugins and managed TM cleanup","Their per-key collaboration niceties",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":625},{"by":49,"at":50,"protocol":51,"setup_min":1556,"assistant":53,"evidence":1557,"what_broke":1560},32,[1558,1559],"logs\u002Flokalise.md","compose\u002Flokalise-tolgee.yml",[1561],"Boot to healthy measured at 87s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1563,"net_saving_usd_mo":1564,"setup_cost_usd":151,"break_even_months":1565,"break_even_date":1566,"markup_index":1567,"primary_abandoned":80,"verdict_stale":80},14.33,129.67,0.08,"2026-08-13",10.05,{"id":1569,"name":1570,"domain":1571,"category":85,"price_usd_mo":528,"price_plan":535,"price_unit":24,"price_source":1572,"price_checked":26,"links":1573,"jobs":1575,"verdict":134,"alternatives":1579,"provenance":1580,"verdict_reason":1581,"what_you_lose":1582,"economics":1585,"hardware_tier":44,"verified":1586,"compose":114,"derived":1592},"mailchimp","Mailchimp","mailchimp.com","https:\u002F\u002Fmailchimp.com\u002Fpricing\u002Fmarketing\u002F",{"caniselfhostit":1574},"https:\u002F\u002Fcaniselfhostit.com\u002Fmailchimp",[1576,1577,732,1578,266],"subscriber lists & segments","campaign sending","signup forms",[100],{"capability_seed":46,"decision_layer":47},"listmonk runs your lists and campaigns for the cost of a Postgres; pair it with SES at ~$0.10\u002F1k emails and Mailchimp's $156\u002Fyr becomes a rounding error. Deliverability is now a skill you own.",[1583,1584],"Mailchimp's sender reputation — you'll ride SES\u002FPostmark's instead, and warm-up is real","The template marketplace and journey builder",{"vps_share_usd_mo":992,"storage_usd_mo":43,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":111,"assistant":53,"evidence":1587,"what_broke":1589},[1588,114],"logs\u002Fmailchimp-listmonk.md",[1590,1591],"--install must run before first serve (the compose command chains it idempotently)","Sending anything real requires an SMTP relay — factor ~$1-5\u002Fmo for SES into your own math",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1593,"net_saving_usd_mo":1594,"setup_cost_usd":5,"break_even_months":1595,"break_even_date":1596,"markup_index":1597,"primary_abandoned":80,"verdict_stale":80},7.47,5.53,3.61,"2026-11-28",1.74,{"id":1599,"name":1600,"domain":1601,"category":695,"price_usd_mo":464,"price_plan":473,"price_unit":269,"price_source":1602,"price_checked":200,"links":1603,"jobs":1605,"verdict":97,"alternatives":1610,"provenance":1613,"verdict_reason":1614,"what_you_lose":1615,"economics":1618,"hardware_tier":109,"verified":1619,"compose":1622,"derived":1623},"make","Make","make.com","https:\u002F\u002Fwww.make.com\u002Fen\u002Fpricing",{"caniselfhostit":1604},"https:\u002F\u002Fcaniselfhostit.com\u002Fmake",[1606,1607,1608,1609],"visual automation scenarios","app integrations","routers & filters","scheduling",[1611,1612],"automatisch","activepieces",{"capability_seed":46,"decision_layer":47},"Make's $9\u002Fmo entry is far cheaper than Zapier, which softens the math — but operations pricing still scales with usage. Worth moving to Activepieces if you're past the starter tier or automating anything sensitive; below that, $9 is hard to beat.",[1616,1617],"Make's visual scenario debugger is best-in-class","The same integration long-tail caveat as Zapier",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":108,"assistant":53,"evidence":1620},[1621,1622],"logs\u002Fmake.md","compose\u002Fzapier-activepieces.yml",{"hourly_rate_usd":5,"self_host_cost_usd_mo":294,"net_saving_usd_mo":1624,"setup_cost_usd":217,"break_even_months":78,"break_even_date":78,"markup_index":1625,"primary_abandoned":80,"verdict_stale":80},-2,0.82,{"id":1627,"name":1628,"domain":1629,"category":266,"price_usd_mo":251,"price_plan":1630,"price_unit":269,"price_source":1631,"price_checked":89,"links":1632,"jobs":1634,"verdict":134,"alternatives":1639,"provenance":1640,"verdict_reason":1641,"what_you_lose":1642,"economics":1645,"hardware_tier":109,"verified":1646,"compose":292,"derived":1651},"matomo-cloud","Matomo Cloud","matomo.org","Business · 50,000 hits\u002Fmonth","https:\u002F\u002Fmatomo.org\u002Fpricing\u002F",{"caniselfhostit":1633},"https:\u002F\u002Fcaniselfhostit.com\u002Fmatomo-cloud",[1635,1636,1637,1638],"web analytics","goals & funnels","visitor logs","GDPR-friendly tracking",[280,1017],{"capability_seed":46,"decision_layer":47},"It is literally the same software. Matomo Cloud charges $26\u002Fmo to run the GPL code they publish; the apache image plus MariaDB is a one-evening setup and the data lands in your database instead of theirs.",[1643,1644],"Managed upgrades and their support SLA","Cloud-side raw data retention policies become your storage problem",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":289,"assistant":53,"evidence":1647,"what_broke":1649},[1648,292],"logs\u002Fmatomo-cloud.md",[1650],"Boot to healthy measured at 39s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":294,"net_saving_usd_mo":217,"setup_cost_usd":296,"break_even_months":1652,"break_even_date":260,"markup_index":1653,"primary_abandoned":80,"verdict_stale":80},0.69,2.36,{"id":1655,"name":1656,"domain":1657,"category":159,"price_usd_mo":1215,"price_plan":1658,"price_unit":24,"price_source":1659,"price_checked":200,"links":1660,"jobs":1662,"verdict":33,"alternatives":1666,"provenance":1667,"verdict_reason":1668,"what_you_lose":1669,"economics":1672,"hardware_tier":109,"verified":1673,"derived":1676},"microsoft-365-personal","Microsoft 365 Personal","microsoft.com","Basic","https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fmicrosoft-365\u002Fbuy\u002Fcompare-all-microsoft-365-products",{"caniselfhostit":1661},"https:\u002F\u002Fcaniselfhostit.com\u002Fmicrosoft-365-personal",[1663,1664,1665],"Word\u002FExcel\u002FPowerPoint","OneDrive storage","Outlook mail",[1258],{"capability_seed":46,"decision_layer":47},"$1.99\u002Fmo including 100GB and real Office compatibility. OnlyOffice self-hosts well, but nothing self-hosted opens a tracked-changes .docx from a lawyer with guaranteed fidelity. Keep paying.",[1670,1671],"Office format fidelity when documents leave your house","1TB OneDrive at the family tier is absurdly cheap storage",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":1674},[1675],"logs\u002Fmicrosoft-365-personal.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":294,"net_saving_usd_mo":1677,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":1678,"primary_abandoned":80,"verdict_stale":80},-9.01,0.18,{"id":1680,"name":1681,"domain":1682,"category":817,"price_usd_mo":178,"price_plan":1658,"price_unit":24,"price_source":1683,"price_checked":200,"links":1684,"jobs":1686,"verdict":33,"alternatives":1690,"provenance":1692,"verdict_reason":1693,"what_you_lose":1694,"economics":1696,"verified":1697,"derived":1700},"midjourney","Midjourney","midjourney.com","https:\u002F\u002Fdocs.midjourney.com\u002Fhc\u002Fen-us\u002Farticles\u002F27870484040333",{"caniselfhostit":1685},"https:\u002F\u002Fcaniselfhostit.com\u002Fmidjourney",[1687,1688,1689],"text-to-image generation","style control","upscaling & variations",[1691],"invokeai",{"capability_seed":46,"decision_layer":47},"InvokeAI + open models on your own GPU is a genuine creative stack — for people who own the GPU for other reasons. Renting one to avoid a $10\u002Fmo subscription is negative-sum, and Midjourney's model quality is the product anyway. Same GPU-economics pattern as Copilot.",[1695],"Midjourney's models and the zero-setup pipeline",{"vps_share_usd_mo":43,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":1698},[1699],"logs\u002Fmidjourney.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":178,"net_saving_usd_mo":43,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":107,"primary_abandoned":80,"verdict_stale":80},{"id":1702,"name":1703,"domain":1704,"category":1069,"price_usd_mo":656,"price_plan":87,"price_unit":233,"price_source":1705,"price_checked":26,"links":1706,"jobs":1708,"verdict":97,"alternatives":1713,"provenance":1714,"verdict_reason":1715,"what_you_lose":1716,"economics":1719,"hardware_tier":44,"verified":1720,"compose":1723,"derived":1726},"miro","Miro","miro.com","https:\u002F\u002Fmiro.com\u002Fpricing\u002F",{"caniselfhostit":1707},"https:\u002F\u002Fcaniselfhostit.com\u002Fmiro",[1709,1710,1711,1712],"whiteboard sketching","diagrams","real-time multi-user boards","board library\u002Ftemplates",[1081],{"capability_seed":46,"decision_layer":47},"Excalidraw covers the sketching that most Miro seats actually do, in one tiny container. Worth it if solo or link-sharing files; live multi-cursor rooms need the extra room server and that's where the weekend goes.",[1717,1718],"Persistent boards with access control — vanilla Excalidraw saves .excalidraw files, not a board library","Miro's template\u002Ffacilitation ecosystem",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":223},{"by":49,"at":50,"protocol":51,"setup_min":5,"assistant":53,"evidence":1721,"what_broke":1724},[1722,1723],"logs\u002Fmiro-excalidraw.md","compose\u002Fmiro-excalidraw.yml",[1725],"None for the drawing app; know that collab rooms are a second project (excalidraw-room + storage)",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1727,"net_saving_usd_mo":1728,"setup_cost_usd":118,"break_even_months":1729,"break_even_date":1730,"markup_index":1731,"primary_abandoned":80,"verdict_stale":80},1.97,6.03,1.1,"2026-09-13",4.07,{"id":1733,"name":1734,"domain":1735,"category":304,"price_usd_mo":974,"price_plan":473,"price_unit":24,"price_source":1736,"price_checked":200,"links":1737,"jobs":1739,"verdict":134,"alternatives":1744,"provenance":1747,"verdict_reason":1748,"what_you_lose":1749,"economics":1752,"hardware_tier":44,"verified":1753,"compose":1756,"derived":1759},"monarch-money","Monarch Money","monarch.com","https:\u002F\u002Fwww.monarch.com\u002Fpricing",{"caniselfhostit":1738},"https:\u002F\u002Fcaniselfhostit.com\u002Fmonarch-money",[1740,1741,1742,1743],"budgeting","account aggregation","spending reports","goals",[1745,1746],"firefly-iii","actual-budget",{"capability_seed":46,"decision_layer":47},"Actual Budget is the best self-hosted budgeting tool ever made: local-first, envelope budgeting, fast sync server. Bank imports work through SimpleFIN Bridge ($1.50\u002Fmo) — still 90% cheaper than Monarch.",[1750,1751],"Monarch's zero-setup bank aggregation breadth","Investment tracking is thin in Actual — it budgets cash flow",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":217},{"by":49,"at":50,"protocol":51,"setup_min":294,"assistant":53,"evidence":1754,"what_broke":1757},[1755,1756],"logs\u002Fmonarch-money.md","compose\u002Fmonarch-money-actual-budget.yml",[1758],"Boot to healthy measured at 21s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":871,"net_saving_usd_mo":1760,"setup_cost_usd":718,"break_even_months":873,"break_even_date":874,"markup_index":875,"primary_abandoned":80,"verdict_stale":80},9.69,{"id":1762,"name":1763,"domain":1763,"category":231,"price_usd_mo":180,"price_plan":1658,"price_unit":233,"price_source":1764,"price_checked":200,"links":1765,"jobs":1767,"verdict":97,"alternatives":1771,"provenance":1773,"verdict_reason":1774,"what_you_lose":1775,"economics":1777,"hardware_tier":109,"verified":1778,"compose":356,"derived":1781},"monday-com","monday.com","https:\u002F\u002Fmonday.com\u002Fpricing",{"caniselfhostit":1766},"https:\u002F\u002Fcaniselfhostit.com\u002Fmonday-com",[1768,1769,277,1770],"work management boards","automations","forms",[1772,344],"leantime",{"capability_seed":46,"decision_layer":47},"Same per-seat math and same replacement as Asana: OpenProject (or Leantime for something lighter). The invoice scales with your team; the self-hosted ops cost doesn't. The migration and retraining are the honest price.",[1776],"monday's automation recipes and dashboard eye-candy",{"vps_share_usd_mo":351,"storage_usd_mo":43,"maint_min_mo":111},{"by":49,"at":50,"protocol":51,"setup_min":353,"assistant":53,"evidence":1779},[1780,356],"logs\u002Fmonday-com.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":360,"net_saving_usd_mo":1782,"setup_cost_usd":362,"break_even_months":78,"break_even_date":78,"markup_index":903,"primary_abandoned":80,"verdict_stale":80},-10,{"id":1784,"name":1785,"domain":1786,"category":304,"price_usd_mo":1787,"price_plan":439,"price_unit":24,"price_source":1788,"price_checked":89,"links":1789,"jobs":1791,"verdict":97,"alternatives":1796,"provenance":1799,"verdict_reason":1800,"what_you_lose":1801,"economics":1803,"hardware_tier":109,"verified":1804,"derived":1807},"myfitnesspal-premium","MyFitnessPal Premium","myfitnesspal.com",19.99,"https:\u002F\u002Fwww.myfitnesspal.com\u002Fpremium",{"caniselfhostit":1790},"https:\u002F\u002Fcaniselfhostit.com\u002Fmyfitnesspal-premium",[1792,1793,1794,1795],"food & calorie logging","barcode scanning","macros","exercise tracking",[1797,1798],"wger","fittrackee",{"capability_seed":46,"decision_layer":47},"wger handles workouts, routines and body metrics well. The moat is MyFitnessPal's food database — decades of crowd-sourced barcodes that no self-hosted app matches. Worth it for lifters tracking training; not for calorie counters living off the barcode scanner.",[1802],"The food database — this is the product, and it doesn't come with you",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":1805},[1806],"logs\u002Fmyfitnesspal-premium.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":75,"net_saving_usd_mo":1808,"setup_cost_usd":223,"break_even_months":1809,"break_even_date":874,"markup_index":261,"primary_abandoned":80,"verdict_stale":80},12.82,0.39,{"id":1811,"name":1812,"domain":1813,"category":21,"price_usd_mo":1814,"price_plan":1658,"price_unit":24,"price_source":1815,"price_checked":89,"links":1816,"jobs":1818,"verdict":33,"alternatives":1823,"provenance":1825,"verdict_reason":1826,"what_you_lose":1827,"economics":1830,"hardware_tier":44,"verified":1831,"compose":1834,"derived":1837},"nordvpn","NordVPN","nordvpn.com",12.99,"https:\u002F\u002Fgizmodo.com\u002Fbest-vpn\u002Fnordvpn\u002Fpricing",{"caniselfhostit":1817},"https:\u002F\u002Fcaniselfhostit.com\u002Fnordvpn",[1819,1820,1821,1822],"hide traffic from local network\u002FISP","blend into a shared exit IP crowd","geo-shifting to 60 countries","per-device apps everywhere",[1824],"wg-easy",{"capability_seed":46,"decision_layer":47},"wg-easy gives you a WireGuard tunnel to your own server in half an hour — which is a different product than NordVPN. Your VPS exit IP is more identifying than your home ISP's, not less. Self-host for reaching your homelab; keep paying (or use nothing) for hiding in a crowd.",[1828,1829],"The crowd: a single-tenant VPS exit is trivially attributable to you","Country-hopping — you have exactly one exit, where your server lives",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":287,"assistant":53,"evidence":1832,"what_broke":1835},[1833,1834],"logs\u002Fnordvpn-wg-easy.md","compose\u002Fnordvpn-wg-easy.yml",[1836],"Image is ghcr.io-hosted — CI-verified; needs NET_ADMIN + sysctls, which some container hosts refuse",{"hourly_rate_usd":5,"self_host_cost_usd_mo":187,"net_saving_usd_mo":1838,"setup_cost_usd":178,"break_even_months":1839,"break_even_date":1095,"markup_index":1840,"primary_abandoned":80,"verdict_stale":80},9.16,1.09,3.39,{"id":1842,"name":1843,"domain":1844,"category":724,"price_usd_mo":180,"price_plan":268,"price_unit":233,"price_source":1845,"price_checked":26,"jobs":1846,"verdict":97,"verdict_reason":1853,"what_you_lose":1854,"alternatives":1859,"economics":1861,"hardware_tier":673,"provenance":1863,"verified":1864,"compose":1868,"links":1872,"notes":1874,"derived":1875},"notion","Notion","notion.com","https:\u002F\u002Fwww.notion.com\u002Fpricing",[1847,1848,1849,1850,1851,1852],"docs & wiki with nested pages","full-text search","real-time collaboration","databases with views, relations and rollups","mobile apps","public sharing links","The docs half moves in an evening and the math is per-seat — but Notion's databases and mobile apps don't move at all. Worth it if you write more than you rollup.",[1855,1856,1857,1858],"Databases: views, relations, rollups — Outline has none of it, and that's half of many workspaces","Native mobile apps (Outline's mobile web is fine, not great)","Notion AI and the template ecosystem","Sign-in needs an auth provider you run or configure (magic-link SMTP or OIDC)",[1860,736],"outline",{"vps_share_usd_mo":1174,"storage_usd_mo":1862,"maint_min_mo":287},0.2,{"capability_seed":46,"decision_layer":47},{"by":49,"at":50,"protocol":51,"setup_min":1865,"assistant":53,"evidence":1866,"what_broke":1869},75,[1867,1868],"logs\u002Fnotion-outline.md","compose\u002Fnotion-outline.yml",[1870,1871],"maildev (the first mail catcher we tried) crash-loops wherever IPv6 is disabled — it insists on binding '::'; swapped to mailpit","Outline boots healthy without SMTP but magic-link sign-in silently goes nowhere — the compose ships mailpit so the workflow is completable locally",{"caniselfhostit":1873},"https:\u002F\u002Fcaniselfhostit.com\u002Fnotion","At one seat the time cost eats the saving; at 3+ seats (Plus is per-seat) the math flips fast. The database gap is the real decision, not the money.",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1876,"net_saving_usd_mo":322,"setup_cost_usd":144,"break_even_months":1877,"break_even_date":1878,"markup_index":1879,"primary_abandoned":80,"verdict_stale":80},11.7,83.33,"2033-07-21",1.03,{"id":1881,"name":1882,"domain":1883,"category":724,"price_usd_mo":223,"price_plan":1884,"price_unit":233,"price_source":1885,"price_checked":89,"links":1886,"jobs":1888,"verdict":97,"alternatives":1891,"provenance":1893,"verdict_reason":1894,"what_you_lose":1895,"economics":1898,"hardware_tier":44,"verified":1899,"derived":1902},"obsidian-sync","Obsidian Sync","obsidian.md","Sync Standard","https:\u002F\u002Fobsidian.md\u002Fpricing",{"caniselfhostit":1887},"https:\u002F\u002Fcaniselfhostit.com\u002Fobsidian-sync",[1889,1890,918],"encrypted vault sync","multi-device notes",[1892],"obsidian-livesync",{"capability_seed":46,"decision_layer":47},"The LiveSync community plugin against your own CouchDB replaces the $5\u002Fmo sync — end-to-end encrypted, works well once set up. It's the setup that's fiddly, and $5 also funds Obsidian itself. Worth it if you already run a server; guilt-free either way.",[1896,1897],"Zero-config official sync and version history","Funding the app you presumably love",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":217},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":1900},[1901],"logs\u002Fobsidian-sync.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":871,"net_saving_usd_mo":1903,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":1904,"primary_abandoned":80,"verdict_stale":80},-0.3,0.94,{"id":1906,"name":1907,"domain":1908,"category":159,"price_usd_mo":489,"price_plan":87,"price_unit":233,"price_source":1909,"price_checked":89,"links":1910,"jobs":1912,"verdict":134,"alternatives":1916,"provenance":1918,"verdict_reason":1919,"what_you_lose":1920,"economics":1923,"hardware_tier":44,"verified":1924,"compose":867,"derived":1927},"pandadoc","PandaDoc","pandadoc.com","https:\u002F\u002Fwww.pandadoc.com\u002Fpricing\u002F",{"caniselfhostit":1911},"https:\u002F\u002Fcaniselfhostit.com\u002Fpandadoc",[1913,852,1914,1915],"proposals & quotes","document templates","approval flows",[1917,857],"documenso",{"capability_seed":46,"decision_layer":47},"Same jobs as DocuSign at $35\u002Fmo — proposals, sign-offs, templates. DocuSeal (or Documenso) covers the signing core; you assemble proposals in your own docs stack instead of theirs.",[1921,1922],"PandaDoc's proposal builder and CPQ features beyond plain signing","Payment collection embedded in documents",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":217},{"by":49,"at":50,"protocol":51,"setup_min":294,"assistant":53,"evidence":1925},[1926,867],"logs\u002Fpandadoc.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":871,"net_saving_usd_mo":1928,"setup_cost_usd":718,"break_even_months":1929,"break_even_date":1930,"markup_index":1931,"primary_abandoned":80,"verdict_stale":80},29.7,0.12,"2026-08-14",6.6,{"id":1933,"name":1934,"domain":1935,"category":817,"price_usd_mo":5,"price_plan":593,"price_unit":24,"price_source":1936,"price_checked":89,"links":1937,"jobs":1939,"verdict":33,"alternatives":1943,"provenance":1945,"verdict_reason":1946,"what_you_lose":1947,"economics":1949,"hardware_tier":109,"verified":1950,"derived":1953},"perplexity","Perplexity","perplexity.ai","https:\u002F\u002Fwww.perplexity.ai\u002Fpro",{"caniselfhostit":1938},"https:\u002F\u002Fcaniselfhostit.com\u002Fperplexity",[1940,1941,1942],"AI answers with citations","web search synthesis","follow-up threads",[1944,671],"perplexica",{"capability_seed":46,"decision_layer":47},"Perplexica reproduces the interface, but every answer still burns metered LLM API tokens on your key. Heavy use costs more à la carte than the $20 bundle; light use doesn't justify the stack. You'd be self-hosting the wrapper while renting the brain.",[1948],"Subsidized frontier-model access — the subscription is the cheap part",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":1951},[1952],"logs\u002Fperplexity.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":75,"net_saving_usd_mo":258,"setup_cost_usd":223,"break_even_months":1809,"break_even_date":874,"markup_index":261,"primary_abandoned":80,"verdict_stale":80},{"id":1955,"name":1956,"domain":1957,"category":944,"price_usd_mo":397,"price_plan":561,"price_unit":24,"price_source":1958,"price_checked":89,"links":1959,"jobs":1961,"verdict":33,"alternatives":1966,"provenance":1969,"verdict_reason":1970,"what_you_lose":1971,"economics":1974,"hardware_tier":44,"verified":1975,"compose":1978,"derived":1982},"pinboard","Pinboard","pinboard.in","https:\u002F\u002Fpinboard.in\u002Ffaq\u002F",{"caniselfhostit":1960},"https:\u002F\u002Fcaniselfhostit.com\u002Fpinboard",[1962,1963,1964,1965],"save bookmarks with tags","full-text search of saved pages","archive copies of pages","import\u002Fexport",[1967,1968],"linkding","linkwarden",{"capability_seed":46,"decision_layer":47},"linkding installs in 25 minutes and runs on a potato. Pinboard costs $22 a YEAR. Five maintenance minutes a month already makes self-hosting the more expensive bookmark box.",[1972,1973],"Pinboard's archival copies live on someone else's durable storage — yours live on the box you forgot to back up","A $22\u002Fyr bill that rounds to zero decision fatigue",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":223},{"by":49,"at":50,"protocol":51,"setup_min":144,"assistant":53,"evidence":1976,"what_broke":1979},[1977,1978],"logs\u002Fpinboard-linkding.md","compose\u002Fpinboard-linkding.yml",[1980,1981],"The stock image's uwsgi binds '::' and exits fatally on kernels booted with ipv6.disable=1 — our verification microVM is one, so this pair's compose boot is certified by the CI runner instead","Superuser env vars on first boot and you're in",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1727,"net_saving_usd_mo":1983,"setup_cost_usd":1031,"break_even_months":78,"break_even_date":78,"markup_index":1984,"primary_abandoned":80,"verdict_stale":80},-0.14,0.93,{"id":1986,"name":1987,"domain":1988,"category":753,"price_usd_mo":6,"price_plan":1989,"price_unit":269,"price_source":1990,"price_checked":89,"links":1991,"jobs":1993,"verdict":134,"alternatives":1998,"provenance":2001,"verdict_reason":2002,"what_you_lose":2003,"economics":2006,"hardware_tier":44,"verified":2007,"compose":2010,"derived":2012},"pingdom","Pingdom","pingdom.com","Synthetic Monitoring · 10 uptime checks","https:\u002F\u002Fwww.pingdom.com\u002Fpricing\u002F",{"caniselfhostit":1992},"https:\u002F\u002Fcaniselfhostit.com\u002Fpingdom",[1994,1995,1996,1997],"uptime checks (HTTP\u002FTCP\u002Fping)","alerting on downtime","status pages","response-time history",[1999,2000],"gatus","uptime-kuma",{"capability_seed":46,"decision_layer":47},"Uptime Kuma boots in seconds, checks HTTP\u002FTCP\u002FDNS\u002Fping, pages you through ntfy or Telegram, and replaces the entire Pingdom bill. Monitoring your uptime from a box you control is the one recursion self-hosting handles fine — put it on a different provider than what it watches.",[2004,2005],"Multi-region probes — Kuma checks from one vantage point unless you federate it","Pingdom's RUM and transaction checks",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":294,"assistant":53,"evidence":2008,"what_broke":2011},[2009,2010],"logs\u002Fpingdom.md","compose\u002Fpingdom-uptime-kuma.yml",[716],{"hourly_rate_usd":5,"self_host_cost_usd_mo":327,"net_saving_usd_mo":2013,"setup_cost_usd":718,"break_even_months":2014,"break_even_date":298,"markup_index":2015,"primary_abandoned":80,"verdict_stale":80},14.37,0.26,4.95,{"id":2017,"name":2018,"domain":2019,"category":231,"price_usd_mo":2020,"price_plan":1129,"price_unit":233,"price_source":2021,"price_checked":89,"links":2022,"jobs":2024,"verdict":134,"alternatives":2029,"provenance":2031,"verdict_reason":2032,"what_you_lose":2033,"economics":2036,"hardware_tier":109,"verified":2037,"compose":2040,"derived":2044},"pipedrive","Pipedrive","pipedrive.com",24,"https:\u002F\u002Fwww.pipedrive.com\u002Fen\u002Fpricing",{"caniselfhostit":2023},"https:\u002F\u002Fcaniselfhostit.com\u002Fpipedrive",[2025,2026,2027,2028],"deal pipelines","contact management","activity tracking","email integration",[2030],"espocrm",{"capability_seed":46,"decision_layer":47},"EspoCRM covers pipelines, contacts, activities and email-in for the cost of a MariaDB. It's dated-looking and endlessly capable — which is also a fair description of most CRMs people actually pay for.",[2034,2035],"Pipedrive's polish and their marketplace of sales tools","Built-in calling and email sync take config work in Espo",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":108,"assistant":53,"evidence":2038,"what_broke":2041},[2039,2040],"logs\u002Fpipedrive.md","compose\u002Fpipedrive-espocrm.yml",[2042,2043],"First-run installer rebuilds the app inside the container and blew straight through a 15-minute health window on the 2GB reference box — budget real time for the first boot, or pre-warm the volume","Not boot-verified in this session — compose is CI-gated (weekly compose-check must pass before this claim hardens)",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1150,"net_saving_usd_mo":2045,"setup_cost_usd":217,"break_even_months":2046,"break_even_date":1730,"markup_index":2047,"primary_abandoned":80,"verdict_stale":80},13.5,1.11,2.29,{"id":1017,"name":2049,"domain":2050,"category":266,"price_usd_mo":464,"price_plan":87,"price_unit":24,"price_source":2051,"price_checked":26,"jobs":2052,"verdict":134,"verdict_reason":2057,"what_you_lose":2058,"alternatives":2062,"economics":2063,"hardware_tier":109,"provenance":2064,"verified":2065,"compose":1028,"links":2071,"derived":2073},"Plausible Analytics","plausible.io","https:\u002F\u002Fplausible.io\u002F#pricing",[2053,2054,2055,2056],"privacy-friendly web analytics","goals & custom events","no pageview caps","email\u002FSlack reports","The SaaS and the self-host are the same software — the Community Edition removes the pageview cap and the invoice at once. Margin is thinner than it looks: ClickHouse wants real RAM.",[2059,2060,2061],"Their infrastructure absorbing traffic spikes — a front-page day is now your ClickHouse's problem","Funding the developers whose code you're running (their pricing page will tell you the same, correctly)","Managed email reports and uptime — small, but it's on your pager now",[1017,1018],{"vps_share_usd_mo":928,"storage_usd_mo":43,"maint_min_mo":217},{"capability_seed":46,"decision_layer":47},{"by":49,"at":50,"protocol":51,"setup_min":625,"assistant":53,"evidence":2066,"what_broke":2068},[2067,1028],"logs\u002Fplausible-plausible.md",[2069,2070],"CE images live on ghcr.io, not Docker Hub — networks that only mirror Docker Hub (ours, during verification) can't pull them; the compose boot for this pair is verified by the CI runner instead","First boot must run createdb + migrate before serve — the compose command handles it, but a bare `run` exits confusingly",{"caniselfhostit":2072},"https:\u002F\u002Fcaniselfhostit.com\u002Fplausible",{"hourly_rate_usd":5,"self_host_cost_usd_mo":2074,"net_saving_usd_mo":1174,"setup_cost_usd":1002,"break_even_months":2075,"break_even_date":2076,"markup_index":2077,"primary_abandoned":80,"verdict_stale":80},7.5,8.89,"2027-05-08",1.2,{"id":2079,"name":2080,"domain":2081,"category":304,"price_usd_mo":295,"price_plan":2082,"price_unit":24,"price_source":2083,"price_checked":89,"links":2084,"jobs":2086,"verdict":33,"alternatives":2090,"provenance":2092,"verdict_reason":2093,"what_you_lose":2094,"economics":2096,"hardware_tier":109,"verified":2097,"derived":2100},"quickbooks-online","QuickBooks Online","quickbooks.intuit.com","Simple Start","https:\u002F\u002Fquickbooks.intuit.com\u002Fpricing\u002F",{"caniselfhostit":2085},"https:\u002F\u002Fcaniselfhostit.com\u002Fquickbooks-online",[2087,1134,2088,2089],"bookkeeping","bank feeds","accountant hand-off",[2091,1139],"akaunting",{"capability_seed":46,"decision_layer":47},"The software is replaceable; the accountant isn't. QuickBooks is the file format your CPA speaks, and 'my books are in a self-hosted Akaunting instance' is a sentence that costs you billable hours every April. Keep paying — this lock-in runs through people, not code.",[2095],"Nothing technical — Akaunting and Invoice Ninja are capable; the ecosystem lock-in is the product",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":2098},[2099],"logs\u002Fquickbooks-online.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1150,"net_saving_usd_mo":2101,"setup_cost_usd":223,"break_even_months":1678,"break_even_date":191,"markup_index":394,"primary_abandoned":80,"verdict_stale":80},27.5,{"id":2103,"name":2104,"domain":2105,"category":695,"price_usd_mo":223,"price_plan":626,"price_unit":24,"price_source":2106,"price_checked":89,"links":2107,"jobs":2109,"verdict":33,"alternatives":2113,"provenance":2116,"verdict_reason":2117,"what_you_lose":2118,"economics":2120,"hardware_tier":109,"verified":2121,"derived":2124},"railway","Railway","railway.com","https:\u002F\u002Frailway.com\u002Fpricing",{"caniselfhostit":2108},"https:\u002F\u002Fcaniselfhostit.com\u002Frailway",[2110,2111,2112],"app hosting from git","databases","environment management",[2114,2115],"dokploy","coolify",{"capability_seed":46,"decision_layer":47},"Railway's $5 hobby plan is the VPS. Replacing it with a $5 VPS running Dokploy is a lateral move plus a weekend — you'd be self-hosting the convenience you were paying $0 extra for. Revisit at usage-based scale; at $5, keep paying.",[2119],"Nothing at this tier — the subscription IS the infrastructure",{"vps_share_usd_mo":43,"storage_usd_mo":43,"maint_min_mo":43},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":2122},[2123],"logs\u002Frailway.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":43,"net_saving_usd_mo":223,"setup_cost_usd":223,"break_even_months":107,"break_even_date":2125,"markup_index":78,"primary_abandoned":80,"verdict_stale":80},"2026-09-09",{"id":2127,"name":2128,"domain":2129,"category":944,"price_usd_mo":117,"price_plan":593,"price_unit":24,"price_source":2130,"price_checked":26,"links":2131,"jobs":2133,"verdict":33,"alternatives":2137,"provenance":2138,"verdict_reason":2139,"what_you_lose":2140,"economics":2142,"hardware_tier":44,"verified":2143,"derived":2146},"raindrop","Raindrop.io","raindrop.io","https:\u002F\u002Fraindrop.io\u002Fpro\u002F",{"caniselfhostit":2132},"https:\u002F\u002Fcaniselfhostit.com\u002Fraindrop",[2134,2135,1848,2136],"bookmark manager","collections & tags","highlights",[1968],{"capability_seed":46,"decision_layer":47},"$3\u002Fmo, and the free tier is generous. Linkwarden is a genuinely nice bookmark manager with previews — and the same verdict as linkding applies: at this price your setup evening never pays back. Run it for ownership if you want; the wallet argument isn't there.",[2141],"Raindrop's polished apps and full-text search tier",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":2144},[2145],"logs\u002Fraindrop.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":327,"net_saving_usd_mo":2147,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":305,"primary_abandoned":80,"verdict_stale":80},-0.63,{"id":2149,"name":2150,"domain":2151,"category":695,"price_usd_mo":180,"price_plan":232,"price_unit":233,"price_source":2152,"price_checked":89,"links":2153,"jobs":2155,"verdict":134,"alternatives":2160,"provenance":2162,"verdict_reason":2163,"what_you_lose":2164,"economics":2167,"hardware_tier":109,"verified":2168,"compose":2172,"derived":2175},"retool","Retool","retool.com","https:\u002F\u002Fretool.com\u002Fpricing",{"caniselfhostit":2154},"https:\u002F\u002Fcaniselfhostit.com\u002Fretool",[2156,2157,2158,2159],"internal CRUD apps","database GUIs","API-backed dashboards","role-based access",[2161],"appsmith",{"capability_seed":46,"decision_layer":47},"Appsmith's all-in-one container builds the same internal CRUD panels Retool charges per-builder-per-month for. First boot is slow (it's carrying its own Mongo); after that it's an app platform you own.",[2165,2166],"Retool's deeper widget library and Workflows","Their managed audit\u002FSSO enterprise features",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":2169,"assistant":53,"evidence":2170,"what_broke":2173},33,[2171,2172],"logs\u002Fretool.md","compose\u002Fretool-appsmith.yml",[2174],"Boot to healthy measured at 125s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":686,"net_saving_usd_mo":393,"setup_cost_usd":294,"break_even_months":2176,"break_even_date":2177,"markup_index":2178,"primary_abandoned":80,"verdict_stale":80},2.54,"2026-10-26",1.57,{"id":2180,"name":2181,"domain":2182,"category":724,"price_usd_mo":217,"price_plan":593,"price_unit":24,"price_source":2183,"price_checked":89,"links":2184,"jobs":2186,"verdict":134,"alternatives":2191,"provenance":2193,"verdict_reason":2194,"what_you_lose":2195,"economics":2198,"hardware_tier":44,"verified":2199,"compose":2202,"derived":2205},"roam-research","Roam Research","roamresearch.com","https:\u002F\u002Froamresearch.com\u002F",{"caniselfhostit":2185},"https:\u002F\u002Fcaniselfhostit.com\u002Froam-research",[2187,2188,2189,2190],"networked notes & backlinks","daily notes","block references","graph view",[2192,984],"siyuan",{"capability_seed":46,"decision_layer":47},"Roam still charges $15\u002Fmo for backlinked notes. SiYuan and Trilium (verified earlier here) both do blocks, backlinks and graph views locally, and your second brain stops having a landlord.",[2196,2197],"Roam's specific block-ref query syntax if your vault leans on it","Migration is an export-and-massage weekend, not a click",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":217},{"by":49,"at":50,"protocol":51,"setup_min":294,"assistant":53,"evidence":2200,"what_broke":2203},[2201,2202],"logs\u002Froam-research.md","compose\u002Froam-research-siyuan.yml",[2204],"Boot to healthy measured at 15s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":871,"net_saving_usd_mo":872,"setup_cost_usd":718,"break_even_months":873,"break_even_date":874,"markup_index":875,"primary_abandoned":80,"verdict_stale":80},{"id":2207,"name":2208,"domain":2209,"category":753,"price_usd_mo":251,"price_plan":232,"price_unit":269,"price_source":2210,"price_checked":89,"links":2211,"jobs":2213,"verdict":134,"alternatives":2218,"provenance":2220,"verdict_reason":2221,"what_you_lose":2222,"economics":2225,"hardware_tier":109,"verified":2226,"compose":2229,"derived":2234},"sentry","Sentry","sentry.io","https:\u002F\u002Fsentry.io\u002Fpricing\u002F",{"caniselfhostit":2212},"https:\u002F\u002Fcaniselfhostit.com\u002Fsentry",[2214,2215,2216,2217],"error tracking (Sentry SDKs)","issue grouping & alerts","performance traces (basic)","uptime checks",[2219],"glitchtip",{"capability_seed":46,"decision_layer":47},"GlitchTip speaks the Sentry SDK protocol and fits on a normal VPS. Sentry's own self-host wants 16GB and a small ops team — the honest self-host answer is the compatible lightweight, and it breaks even in about two months.",[2223,2224],"Sentry's deep tracing\u002Fprofiling\u002Freplay product — GlitchTip is errors done well, not the whole observability suite","SaaS-side data retention muscle",{"vps_share_usd_mo":928,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":930,"assistant":53,"evidence":2227,"what_broke":2230},[2228,2229],"logs\u002Fsentry-glitchtip.md","compose\u002Fsentry-glitchtip.yml",[2231,2232,2233],"The container serves on 8000, not the 8080 several guides claim — map and probe accordingly","python-slim image has no curl\u002Fwget; the healthcheck probes \u002F_health\u002F with python urllib","Celery worker needs its own container with the same env — errors ingest but nothing processes without it; don't healthcheck it with celery inspect ping, which races broker registration forever",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1151,"net_saving_usd_mo":2045,"setup_cost_usd":287,"break_even_months":2235,"break_even_date":2236,"markup_index":2237,"primary_abandoned":80,"verdict_stale":80},2.22,"2026-10-17",2.08,{"id":2239,"name":2240,"domain":2241,"category":85,"price_usd_mo":223,"price_plan":87,"price_unit":24,"price_source":2242,"price_checked":89,"links":2243,"jobs":2245,"verdict":33,"alternatives":2250,"provenance":2252,"verdict_reason":2253,"what_you_lose":2254,"economics":2256,"hardware_tier":109,"verified":2257,"derived":2260},"shopify","Shopify","shopify.com","https:\u002F\u002Fwww.shopify.com\u002Fpricing",{"caniselfhostit":2244},"https:\u002F\u002Fcaniselfhostit.com\u002Fshopify",[2246,2247,2248,2249],"online storefront","checkout & payments","inventory","order management",[2251],"prestashop",{"capability_seed":46,"decision_layer":47},"PrestaShop can run a store. But your checkout's uptime is revenue, PCI is real, and Shopify's $5 starter buys a payments-and-fraud team you cannot hire for that money. E-commerce is infrastructure where downtime bills you directly — keep paying.",[2255],"Payments, fraud handling, PCI scope, and a checkout that's up at 3am",{"vps_share_usd_mo":351,"storage_usd_mo":43,"maint_min_mo":111},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":2258},[2259],"logs\u002Fshopify.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":360,"net_saving_usd_mo":2261,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":329,"primary_abandoned":80,"verdict_stale":80},-17,{"id":2263,"name":2264,"domain":2265,"category":724,"price_usd_mo":118,"price_plan":2266,"price_unit":233,"price_source":2267,"price_checked":89,"links":2268,"jobs":2270,"verdict":97,"alternatives":2274,"provenance":2275,"verdict_reason":2276,"what_you_lose":2277,"economics":2279,"hardware_tier":109,"verified":2280,"derived":2283},"slab","Slab","slab.com","Startup","https:\u002F\u002Fslab.com\u002Fpricing\u002F",{"caniselfhostit":2269},"https:\u002F\u002Fcaniselfhostit.com\u002Fslab",[2271,2272,2273,733],"team knowledge base","editor & topics","integrations",[737,736],{"capability_seed":46,"decision_layer":47},"Slab is a lovely wiki at $6.67\u002Fseat; BookStack is a solid wiki at $0\u002Fseat. Same honest caveat as Confluence: the tool swap is easy, the knowledge-base migration and team adoption are the actual cost.",[2278],"Slab's editor polish and search quality",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":144},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":2281},[2282],"logs\u002Fslab.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":646,"net_saving_usd_mo":2284,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":2285,"primary_abandoned":80,"verdict_stale":80},-2.16,0.76,{"id":2287,"name":2288,"domain":2289,"category":2290,"price_usd_mo":2291,"price_plan":593,"price_unit":233,"price_source":2292,"price_checked":26,"jobs":2293,"verdict":97,"verdict_reason":2299,"what_you_lose":2300,"alternatives":2305,"economics":2307,"hardware_tier":109,"provenance":2308,"verified":2309,"compose":2313,"links":2317,"notes":2319,"derived":2320},"slack","Slack","slack.com","team-chat",8.75,"https:\u002F\u002Fslack.com\u002Fpricing",[2294,2295,2296,2297,2298],"channels & DMs","mobile apps with reliable push","search across full history","integrations & incoming webhooks","huddles\u002Fcalls","Per-seat pricing means the math flips hard around 4 seats — a 10-person team escapes $1,050\u002Fyr for one weekend of setup. Worth it if someone genuinely owns the pager; chat is the one service your team notices being down within 90 seconds.",[2301,2302,2303,2304],"Slack's mobile push reliability — Mattermost push routes through their relay or you build your own, and half-working push kills adoption","The integration directory: webhooks exist, but every SaaS ships a Slack app and maybe a Mattermost one","Huddles-grade calls without extra setup","Message history import is one-way and lossy — the escape is easier before the archive matters",[2306],"mattermost",{"vps_share_usd_mo":351,"storage_usd_mo":42,"maint_min_mo":108},{"capability_seed":46,"decision_layer":47},{"by":49,"at":50,"protocol":51,"setup_min":2310,"assistant":53,"evidence":2311,"what_broke":2314},65,[2312,2313],"logs\u002Fslack-mattermost.md","compose\u002Fslack-mattermost.yml",[2315,2316],"The image ships no shell, curl or wget, so a CMD-SHELL healthcheck fails forever while the server is fine — exec-form mmctl system status --local (with local mode enabled) is the probe that works","First admin account creation is a UI step — plan it into the rollout, whoever clicks first owns the workspace",{"caniselfhostit":2318},"https:\u002F\u002Fcaniselfhostit.com\u002Fslack","The economics inputs above are for ONE seat, which is the honest per-person floor — multiply the price by your seat count and the self-host cost barely moves. That asymmetry is the whole argument.",{"hourly_rate_usd":5,"self_host_cost_usd_mo":2321,"net_saving_usd_mo":2322,"setup_cost_usd":2323,"break_even_months":78,"break_even_date":78,"markup_index":42,"primary_abandoned":80,"verdict_stale":80},17.5,-8.75,21.67,{"id":2325,"name":2326,"domain":2327,"category":2328,"price_usd_mo":910,"price_plan":2329,"price_unit":24,"price_source":2330,"price_checked":50,"jobs":2331,"verdict":33,"verdict_reason":2336,"what_you_lose":2337,"alternatives":2341,"economics":2343,"hardware_tier":44,"provenance":2344,"verified":2345,"compose":2348,"links":2351,"notes":2353,"derived":2354},"spotify","Spotify","spotify.com","media","Premium Individual","https:\u002F\u002Fwww.spotify.com\u002Fpremium\u002F",[2332,2333,2334,2335],"stream a ~100M-track catalog","discovery: recommendations, radio, Discover Weekly","playlists synced across every device","offline listening on mobile","Navidrome is a lovely server for music you own — and Spotify's product is music you don't. Self-hosting replaces the player, not the catalog, and the catalog is the subscription.",[2338,2339,2340],"The catalog: everything you haven't bought — which for most subscribers is everything","Discovery — Discover Weekly has no self-hosted answer, because the input is everyone else's listening","Zero-effort availability on every speaker, car and TV that ships a Spotify button",[2342],"navidrome",{"vps_share_usd_mo":42,"storage_usd_mo":107,"maint_min_mo":217},{"capability_seed":46,"decision_layer":47},{"by":49,"at":50,"protocol":51,"setup_min":287,"assistant":53,"evidence":2346,"what_broke":2349},[2347,2348],"logs\u002Fspotify-navidrome.md","compose\u002Fspotify-navidrome.yml",[2350],"Nothing — Navidrome is a single container that boots in seconds. The economics even pass our rubric. The capability gap is the entire verdict: it can only play files you bring.",{"caniselfhostit":2352},"https:\u002F\u002Fcaniselfhostit.com\u002Fspotify","If you already own a serious music library (rips, Bandcamp), flip this to a personal YES — Navidrome + the Subsonic app ecosystem is genuinely better than Spotify for owned music. Our verdict answers the question most subscribers are asking.",{"hourly_rate_usd":5,"self_host_cost_usd_mo":1334,"net_saving_usd_mo":2355,"setup_cost_usd":178,"break_even_months":840,"break_even_date":2356,"markup_index":2357,"primary_abandoned":80,"verdict_stale":80},5.49,"2026-10-04",1.84,{"id":2359,"name":2360,"domain":2361,"category":85,"price_usd_mo":144,"price_plan":1658,"price_unit":24,"price_source":2362,"price_checked":89,"links":2363,"jobs":2365,"verdict":134,"alternatives":2370,"provenance":2372,"verdict_reason":2373,"what_you_lose":2374,"economics":2377,"hardware_tier":109,"verified":2378,"compose":2381,"derived":2384},"squarespace","Squarespace","squarespace.com","https:\u002F\u002Fwww.squarespace.com\u002Fpricing",{"caniselfhostit":2364},"https:\u002F\u002Fcaniselfhostit.com\u002Fsquarespace",[2366,2367,1770,2368,2369],"marketing site \u002F blog","templates & theming","SEO basics","commerce (via plugins)",[2371,1167],"wordpress",{"capability_seed":46,"decision_layer":47},"WordPress + a good theme does the Squarespace job for $25\u002Fmo less, and it's the most documented software on earth. Keep auto-updates on and the plugin count low — the maintenance minutes assume discipline.",[2375,2376],"Squarespace's design taste as a default — WordPress makes ugly possible again","Not thinking about PHP security advisories, ever",{"vps_share_usd_mo":1174,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":111,"assistant":53,"evidence":2379,"what_broke":2382},[2380,2381],"logs\u002Fsquarespace-wordpress.md","compose\u002Fsquarespace-wordpress.yml",[2383],"Nothing at boot — WordPress's risks arrive later, one plugin at a time",{"hourly_rate_usd":5,"self_host_cost_usd_mo":2385,"net_saving_usd_mo":2045,"setup_cost_usd":5,"break_even_months":2386,"break_even_date":2387,"markup_index":2388,"primary_abandoned":80,"verdict_stale":80},11.5,1.48,"2026-09-24",2.17,{"id":2390,"name":2391,"domain":2392,"category":304,"price_usd_mo":499,"price_plan":2393,"price_unit":24,"price_source":2394,"price_checked":89,"links":2395,"jobs":2397,"verdict":33,"alternatives":2402,"provenance":2403,"verdict_reason":2404,"what_you_lose":2405,"economics":2407,"hardware_tier":44,"verified":2408,"derived":2411},"strava","Strava","strava.com","Family","https:\u002F\u002Fwww.strava.com\u002Fpricing",{"caniselfhostit":2396},"https:\u002F\u002Fcaniselfhostit.com\u002Fstrava",[2398,2399,2400,2401],"GPS activity tracking","segments & leaderboards","social feed","training log",[1798],{"capability_seed":46,"decision_layer":47},"FitTrackee logs your runs beautifully. But Strava at $11.67\u002Fmo isn't a GPS log — it's the feed, segments, and the fact that your friends are on it. The network is the product (same pattern as Spotify's catalog), and a self-hosted feed of one is just a diary.",[2406],"Segments, kudos, and everyone you ride with",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":217},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":2409},[2410],"logs\u002Fstrava.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":871,"net_saving_usd_mo":2412,"setup_cost_usd":223,"break_even_months":1449,"break_even_date":1450,"markup_index":1188,"primary_abandoned":80,"verdict_stale":80},6.37,{"id":2414,"name":2415,"domain":2416,"category":85,"price_usd_mo":287,"price_plan":2417,"price_unit":233,"price_source":2418,"price_checked":89,"links":2419,"jobs":2421,"verdict":134,"alternatives":2426,"provenance":2427,"verdict_reason":2428,"what_you_lose":2429,"economics":2432,"hardware_tier":109,"verified":2433,"compose":1478,"derived":2436},"surveymonkey","SurveyMonkey","surveymonkey.com","Team Advantage","https:\u002F\u002Fwww.surveymonkey.com\u002Fpricing\u002F",{"caniselfhostit":2420},"https:\u002F\u002Fcaniselfhostit.com\u002Fsurveymonkey",[2422,2423,2424,2425],"surveys","question logic","response analysis","panels & sharing",[1468,1467],{"capability_seed":46,"decision_layer":47},"SurveyMonkey's $30\u002Fmo Advantage plan is the same job Formbricks does for a database's rent — and LimeSurvey exists when you need academic-grade question logic. Response caps stop being a pricing lever.",[2430,2431],"Benchmark datasets and SurveyMonkey's audience-buying panel","Brand familiarity for external respondents",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":625,"assistant":53,"evidence":2434},[2435,1478],"logs\u002Fsurveymonkey.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":75,"net_saving_usd_mo":2437,"setup_cost_usd":1002,"break_even_months":2438,"break_even_date":2439,"markup_index":2440,"primary_abandoned":80,"verdict_stale":80},22.83,0.58,"2026-08-28",4.19,{"id":2442,"name":2443,"domain":2444,"category":159,"price_usd_mo":189,"price_plan":2445,"price_unit":24,"price_source":2446,"price_checked":89,"links":2447,"jobs":2449,"verdict":33,"alternatives":2452,"provenance":2454,"verdict_reason":2455,"what_you_lose":2456,"economics":2458,"hardware_tier":109,"verified":2459,"derived":2462},"sync-com","Sync.com","sync.com","Personal 150GB","https:\u002F\u002Fwww.sync.com\u002Fpricing\u002F",{"caniselfhostit":2448},"https:\u002F\u002Fcaniselfhostit.com\u002Fsync-com",[2450,2451,916],"encrypted cloud storage","file sync",[2453,518],"syncthing",{"capability_seed":46,"decision_layer":47},"$4\u002Fmo for 2TB of e2e-encrypted storage is cheaper than the raw disk it would take to replicate — before you count your time. Syncthing is superb for device-to-device sync (no server!) and complements rather than replaces a storage subscription.",[2457],"2TB of replicated storage for less than storage costs — the price is the moat",{"vps_share_usd_mo":107,"storage_usd_mo":189,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":2460},[2461],"logs\u002Fsync-com.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":499,"net_saving_usd_mo":2463,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":2464,"primary_abandoned":80,"verdict_stale":80},-7.67,0.34,{"id":2466,"name":2467,"domain":2468,"category":2469,"price_usd_mo":419,"price_plan":2470,"price_unit":24,"price_source":2471,"price_checked":50,"links":2472,"jobs":2473,"alternatives":2478,"provenance":2480,"verdict":33,"verdict_reason":2481,"what_you_lose":2482,"economics":2485,"hardware_tier":44,"verified":2486,"derived":2489},"tailscale","Tailscale","tailscale.com","networking","Personal Plus","https:\u002F\u002Ftailscale.com\u002Fpricing",{},[2474,2475,2476,2477],"mesh VPN between devices","ACLs & SSO","MagicDNS","exit nodes",[2479],"headscale",{"decision_layer":47},"For individuals, Tailscale's free tier IS the product — 100 devices, 3 users, $0. Headscale is a superb control-plane replacement, but you'd be self-hosting to avoid a bill that doesn't exist. It earns its place only when team pricing or compliance says the coordination server must be yours.",[2483,2484],"Tailscale's DERP relay fleet — your headscale needs its own relays or direct connectivity","MagicDNS\u002FSSO polish and their security team watching the control plane",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":2487},[2488],"logs\u002Ftailscale.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":2490,"net_saving_usd_mo":2491,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":2492,"primary_abandoned":80,"verdict_stale":80},6.97,-0.97,0.86,{"id":2494,"name":2495,"domain":2496,"category":231,"price_usd_mo":507,"price_plan":593,"price_unit":24,"price_source":2497,"price_checked":26,"links":2498,"jobs":2500,"verdict":134,"alternatives":2504,"provenance":2506,"verdict_reason":2507,"what_you_lose":2508,"economics":2511,"hardware_tier":44,"verified":2512,"compose":2515,"derived":2520},"todoist","Todoist","todoist.com","https:\u002F\u002Fwww.todoist.com\u002Fpricing",{"caniselfhostit":2499},"https:\u002F\u002Fcaniselfhostit.com\u002Ftodoist",[2501,2502,2503,981],"tasks & projects","labels\u002Ffilters\u002Fdue dates","sharing lists",[2505],"vikunja",{"capability_seed":46,"decision_layer":47},"Vikunja does lists, projects, labels and sharing in one small container — the $84\u002Fyr was for the apps, and the web app plus third-party clients cover enough.",[2509,2510],"Todoist's polished native apps and natural-language capture","Karma, if you liked being graded by your todo list",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":489,"assistant":53,"evidence":2513,"what_broke":2516},[2514,2515],"logs\u002Ftodoist-vikunja.md","compose\u002Ftodoist-vikunja.yml",[2517,2518,2519],"Fresh named volumes initialize root-owned while the image runs as uid 1000 — file handler crash-loops on permission denied until you set user: or chown","The image is distroless (no shell, no wget) — the compose ships a busybox sidecar probe so the health gate still proves HTTP serves","Registration ships open by default — create your account, then flip VIKUNJA_SERVICE_ENABLEREGISTRATION off",{"hourly_rate_usd":5,"self_host_cost_usd_mo":187,"net_saving_usd_mo":1063,"setup_cost_usd":499,"break_even_months":2521,"break_even_date":2522,"markup_index":397,"primary_abandoned":80,"verdict_stale":80},3.68,"2026-11-30",{"id":2524,"name":2525,"domain":2526,"category":231,"price_usd_mo":180,"price_plan":87,"price_unit":233,"price_source":2527,"price_checked":89,"links":2528,"jobs":2530,"verdict":134,"alternatives":2534,"provenance":2535,"verdict_reason":2536,"what_you_lose":2537,"economics":2540,"hardware_tier":109,"verified":2541,"compose":2544,"derived":2547},"toggl-track","Toggl Track","toggl.com","https:\u002F\u002Ftoggl.com\u002Ftrack\u002Fpricing\u002F",{"caniselfhostit":2529},"https:\u002F\u002Fcaniselfhostit.com\u002Ftoggl-track",[1136,2531,2532,2533],"projects & clients","reports & exports","team timesheets",[1140],{"capability_seed":46,"decision_layer":47},"Kimai is a grown-up time tracker: projects, rates, invoices, per-client exports, team support. The apache image plus MariaDB boots in a coffee break and the per-seat subscription becomes zero.",[2538,2539],"Toggl's one-click browser button polish and Track reminders","Native mobile apps are community, not first-party",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":360,"assistant":53,"evidence":2542,"what_broke":2545},[2543,2544],"logs\u002Ftoggl-track.md","compose\u002Ftoggl-kimai.yml",[2546],"Boot to healthy measured at 69s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":75,"net_saving_usd_mo":2548,"setup_cost_usd":2549,"break_even_months":2550,"break_even_date":2551,"markup_index":2552,"primary_abandoned":80,"verdict_stale":80},4.83,7.33,1.52,"2026-09-25",1.67,{"id":2554,"name":2555,"domain":2556,"category":695,"price_usd_mo":267,"price_plan":232,"price_unit":24,"price_source":2557,"price_checked":200,"links":2558,"jobs":2560,"verdict":134,"alternatives":2564,"provenance":2565,"verdict_reason":2566,"what_you_lose":2567,"economics":2569,"hardware_tier":109,"verified":2570,"compose":1559,"derived":2573},"tolgee-cloud","Tolgee","tolgee.io","https:\u002F\u002Ftolgee.io\u002Fpricing",{"caniselfhostit":2559},"https:\u002F\u002Fcaniselfhostit.com\u002Ftolgee-cloud",[1542,2561,2562,2563],"in-context editing","machine-translation assist","developer SDKs",[1548,1547],{"capability_seed":46,"decision_layer":47},"Same software, different bill: Tolgee's cloud is $49\u002Fmo, the container is free and ships an embedded Postgres for exactly this kind of single-box setup. In-context editing works the same pointed at your own instance.",[2568],"Managed backups and the cloud plan's machine-translation credits",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":456,"assistant":53,"evidence":2571},[2572,1559],"logs\u002Ftolgee-cloud.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":294,"net_saving_usd_mo":295,"setup_cost_usd":464,"break_even_months":2574,"break_even_date":2575,"markup_index":299,"primary_abandoned":80,"verdict_stale":80},0.24,"2026-08-17",{"id":2577,"name":2578,"domain":2579,"category":695,"price_usd_mo":2580,"price_plan":593,"price_unit":233,"price_source":2581,"price_checked":200,"links":2582,"jobs":2584,"verdict":134,"alternatives":2589,"provenance":2591,"verdict_reason":2592,"what_you_lose":2593,"economics":2596,"hardware_tier":109,"verified":2597,"compose":2172,"derived":2600},"tooljet-cloud","ToolJet","tooljet.com",79,"https:\u002F\u002Fwww.tooljet.ai\u002Fpricing",{"caniselfhostit":2583},"https:\u002F\u002Fcaniselfhostit.com\u002Ftooljet-cloud",[2585,2586,2587,2588],"internal tool builder","data source connectors","app sharing","queries & workflows",[2590,2161],"tooljet",{"capability_seed":46,"decision_layer":47},"ToolJet publishes the software; the cloud plan charges $79\u002Fmo to run it for you. Run the community edition — or Appsmith, same category, whose boot we verified — and keep the builder seats free.",[2594,2595],"Managed upgrades and cloud-plan support","Some enterprise connectors are license-gated in CE",{"vps_share_usd_mo":351,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":2169,"assistant":53,"evidence":2598},[2599,2172],"logs\u002Ftooljet-cloud.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":180,"net_saving_usd_mo":2601,"setup_cost_usd":294,"break_even_months":648,"break_even_date":649,"markup_index":2602,"primary_abandoned":80,"verdict_stale":80},67,6.58,{"id":2604,"name":2605,"domain":2606,"category":85,"price_usd_mo":86,"price_plan":87,"price_unit":24,"price_source":2607,"price_checked":89,"links":2608,"jobs":2610,"verdict":97,"alternatives":2615,"provenance":2618,"verdict_reason":2619,"what_you_lose":2620,"economics":2623,"hardware_tier":109,"verified":2624,"compose":2627,"derived":2631},"transistor-fm","Transistor","transistor.fm","https:\u002F\u002Ftransistor.fm\u002Fpricing\u002F",{"caniselfhostit":2609},"https:\u002F\u002Fcaniselfhostit.com\u002Ftransistor-fm",[2611,2612,2613,2614],"podcast hosting","RSS feed management","episode analytics","multi-show support",[2616,2617],"castopod","peertube",{"capability_seed":46,"decision_layer":47},"Castopod hosts your podcast with analytics, an RSS feed you own, and fediverse comments — and audio bandwidth is modest, so the economics work. It sits at KINDA because Castopod would not boot to healthy on our reference box (port and cache-config maze); until the weekly CI proves a clean install, we won't claim the ≤2h a YES requires.",[2621,2622],"Transistor's dynamic ad insertion and their distribution dashboard","You babysit your own feed's uptime — podcast apps cache aggressively, which helps",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":108,"assistant":53,"evidence":2625,"what_broke":2628},[2626,2627],"logs\u002Ftransistor-fm.md","compose\u002Ftransistor-castopod.yml",[2629,2630,2043],"The redis cache handler refuses to start without CP_REDIS_PASSWORD — undocumented in most guides; file cache removes a whole container","Even with cache fixed and ports corrected, the container never reported healthy on the 2GB reference env inside 7 minutes — the claim stays CI-gated until a clean boot is proven",{"hourly_rate_usd":5,"self_host_cost_usd_mo":294,"net_saving_usd_mo":656,"setup_cost_usd":217,"break_even_months":152,"break_even_date":153,"markup_index":2632,"primary_abandoned":80,"verdict_stale":80},1.73,{"id":2634,"name":2635,"domain":2636,"category":231,"price_usd_mo":419,"price_plan":561,"price_unit":233,"price_source":2637,"price_checked":89,"links":2638,"jobs":2640,"verdict":97,"alternatives":2645,"provenance":2647,"verdict_reason":2648,"what_you_lose":2649,"economics":2652,"hardware_tier":109,"verified":2653,"compose":2656,"derived":2659},"trello","Trello","trello.com","https:\u002F\u002Ftrello.com\u002Fpricing",{"caniselfhostit":2639},"https:\u002F\u002Fcaniselfhostit.com\u002Ftrello",[2641,2642,2643,2644],"kanban boards","cards & checklists","labels & due dates","power-ups",[2646],"wekan",{"capability_seed":46,"decision_layer":47},"Wekan does kanban fine (verified boot) and per-seat Trello money is real money for teams. For individuals, Trello's free tier already covers you — don't self-host what's free. Worth it for paying teams comfortable with a plainer board.",[2650,2651],"Trello's power-ups, butler automations and mobile apps","The free tier — seriously, check if you even pay",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":294,"assistant":53,"evidence":2654,"what_broke":2657},[2655,2656],"logs\u002Ftrello.md","compose\u002Ftrello-wekan.yml",[2658],"Boot to healthy measured at 52s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":75,"net_saving_usd_mo":2660,"setup_cost_usd":718,"break_even_months":78,"break_even_date":78,"markup_index":2661,"primary_abandoned":80,"verdict_stale":80},-1.17,0.84,{"id":2663,"name":2664,"domain":2665,"category":85,"price_usd_mo":1456,"price_plan":1658,"price_unit":24,"price_source":2666,"price_checked":89,"links":2667,"jobs":2669,"verdict":134,"alternatives":2674,"provenance":2675,"verdict_reason":2676,"what_you_lose":2677,"economics":2680,"hardware_tier":109,"verified":2681,"compose":1478,"derived":2686},"typeform","Typeform","typeform.com","https:\u002F\u002Fwww.typeform.com\u002Fpricing\u002F",{"caniselfhostit":2668},"https:\u002F\u002Fcaniselfhostit.com\u002Ftypeform",[2670,2671,2672,2673],"forms & surveys","logic jumps","response collection","webhooks & integrations",[1467],{"capability_seed":46,"decision_layer":47},"Formbricks covers forms, surveys, logic jumps and webhooks with a modern editor. Typeform's $39\u002Fmo Basic caps responses; your Postgres doesn't. One app container plus a database and you're collecting.",[2678,2679],"Typeform's distinctive one-question-at-a-time UX polish","Their template gallery and integrations marketplace",{"vps_share_usd_mo":42,"storage_usd_mo":43,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":625,"assistant":53,"evidence":2682,"what_broke":2684},[2683,1478],"logs\u002Ftypeform.md",[2685,2043],"The image runs `pnpm prisma migrate deploy` at first boot and corepack downloads pnpm from npm at runtime — behind a TLS-intercepting proxy this dies with SELF_SIGNED_CERT_IN_CHAIN; on a normal box it just works, but airgapped\u002Fproxied environments should know",{"hourly_rate_usd":5,"self_host_cost_usd_mo":75,"net_saving_usd_mo":1480,"setup_cost_usd":1002,"break_even_months":1481,"break_even_date":968,"markup_index":1482,"primary_abandoned":80,"verdict_stale":80},{"id":2688,"name":2689,"domain":2690,"category":266,"price_usd_mo":5,"price_plan":593,"price_unit":24,"price_source":2691,"price_checked":89,"links":2692,"jobs":2694,"verdict":134,"alternatives":2698,"provenance":2699,"verdict_reason":2700,"what_you_lose":2701,"economics":2704,"hardware_tier":44,"verified":2705,"compose":2708,"derived":2711},"umami-cloud","Umami Cloud","umami.is","https:\u002F\u002Fumami.is\u002Fpricing",{"caniselfhostit":2693},"https:\u002F\u002Fcaniselfhostit.com\u002Fumami-cloud",[2053,2695,2696,2697],"events & goals","multi-site","shareable dashboards",[1018,1017],{"capability_seed":46,"decision_layer":47},"Same software as the $20\u002Fmo cloud, two containers, no event caps. The rare analytics verdict where capability is 100% by construction.",[2702,2703],"Their infrastructure eating your traffic spikes","Managed uptime on the tracker script origin",{"vps_share_usd_mo":2077,"storage_usd_mo":43,"maint_min_mo":217},{"by":49,"at":50,"protocol":51,"setup_min":625,"assistant":53,"evidence":2706,"what_broke":2709},[2707,2708],"logs\u002Fumami-cloud-umami.md","compose\u002Fumami-cloud-umami.yml",[2710],"Image is ghcr.io-hosted — Docker-Hub-only mirrors (ours, during verification) can't pull it; this pair's compose boot is verified by the CI runner",{"hourly_rate_usd":5,"self_host_cost_usd_mo":2712,"net_saving_usd_mo":2713,"setup_cost_usd":1002,"break_even_months":2714,"break_even_date":2715,"markup_index":2716,"primary_abandoned":80,"verdict_stale":80},6.2,13.8,0.97,"2026-09-08",3.23,{"id":2718,"name":2719,"domain":2720,"category":753,"price_usd_mo":507,"price_plan":2721,"price_unit":269,"price_source":2722,"price_checked":200,"links":2723,"jobs":2725,"verdict":134,"alternatives":2728,"provenance":2730,"verdict_reason":2731,"what_you_lose":2732,"economics":2734,"hardware_tier":44,"verified":2735,"compose":2738,"derived":2740},"uptime","Uptime.com","uptime.com","Real User Monitoring · 50,000 data points","https:\u002F\u002Fuptime.com\u002Fpricing",{"caniselfhostit":2724},"https:\u002F\u002Fcaniselfhostit.com\u002Fuptime",[2726,1996,2727],"uptime monitoring","incident notifications",[2729,1999,2000],"kener",{"capability_seed":46,"decision_layer":47},"Same story as Pingdom, smaller bill: Uptime Kuma covers the checks and the status page in one quick setup (Gatus if you want config-as-code — we verified both). At $7\u002Fmo the math is thinner but the effort is so close to zero it still clears the bar.",[2733],"Hosted status page on someone else's infrastructure — host Kuma's status page off-site or it dies with the thing it reports on",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":294,"assistant":53,"evidence":2736,"what_broke":2739},[2737,2738],"logs\u002Fuptime.md","compose\u002Fuptime-gatus.yml",[807],{"hourly_rate_usd":5,"self_host_cost_usd_mo":327,"net_saving_usd_mo":2741,"setup_cost_usd":718,"break_even_months":1839,"break_even_date":1095,"markup_index":2742,"primary_abandoned":80,"verdict_stale":80},3.37,1.93,{"id":2744,"name":2745,"domain":2746,"category":2747,"price_usd_mo":178,"price_plan":2748,"price_unit":24,"price_source":2749,"price_checked":26,"jobs":2750,"verdict":134,"verdict_reason":2754,"what_you_lose":2755,"alternatives":2757,"economics":2758,"hardware_tier":44,"provenance":2759,"verified":2760,"compose":2763,"links":2765,"derived":2767},"uptimerobot","UptimeRobot","uptimerobot.com","status-uptime","Solo","https:\u002F\u002Fuptimerobot.com\u002Fpricing\u002F",[2751,2752,2753,1997],"HTTP\u002Fkeyword\u002Fport\u002Fping monitors","public status pages","alerting: email, webhook, Telegram, Slack","One container, every monitor type UptimeRobot charges for, and it pays for itself before the second invoice.",[2756],"Monitoring from someone else's network — if your VPS is down, so is the thing that tells you your VPS is down. Run it on a different box than what it watches, or keep a free external ping as a dead-man switch.",[2000],{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":178},{"capability_seed":46,"decision_layer":47},{"by":49,"at":50,"protocol":51,"setup_min":144,"assistant":53,"evidence":2761,"what_broke":2764},[2762,2763],"logs\u002Fuptimerobot-uptime-kuma.md","compose\u002Fuptimerobot-uptime-kuma.yml",[],{"caniselfhostit":2766},"https:\u002F\u002Fcaniselfhostit.com\u002Fuptimerobot",{"hourly_rate_usd":5,"self_host_cost_usd_mo":393,"net_saving_usd_mo":2768,"setup_cost_usd":1031,"break_even_months":2769,"break_even_date":2387,"markup_index":2770,"primary_abandoned":80,"verdict_stale":80},5.67,1.47,2.31,{"id":2772,"name":2773,"domain":2774,"category":695,"price_usd_mo":5,"price_plan":593,"price_unit":233,"price_source":2775,"price_checked":89,"links":2776,"jobs":2778,"verdict":97,"alternatives":2783,"provenance":2784,"verdict_reason":2785,"what_you_lose":2786,"economics":2789,"hardware_tier":109,"verified":2790,"derived":2793},"vercel","Vercel","vercel.com","https:\u002F\u002Fvercel.com\u002Fpricing",{"caniselfhostit":2777},"https:\u002F\u002Fcaniselfhostit.com\u002Fvercel",[2779,2780,2781,2782],"git-push deploys","preview environments","serverless\u002Fedge hosting","custom domains",[2115],{"capability_seed":46,"decision_layer":47},"Coolify (or Dokploy) turns any VPS into your own deploy platform: git-push previews, SSL, one dashboard. Vercel's free tier is generous though — this only pays once you're buying seats or bandwidth. Note: it installs via script, not a single compose file, so our weekly CI covers it differently.",[2787,2788],"Vercel's edge network and zero-thought scaling","Preview-deploy speed and DX polish",{"vps_share_usd_mo":189,"storage_usd_mo":43,"maint_min_mo":108},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":2791},[2792],"logs\u002Fvercel.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":86,"net_saving_usd_mo":107,"setup_cost_usd":223,"break_even_months":223,"break_even_date":2794,"markup_index":2795,"primary_abandoned":80,"verdict_stale":80},"2027-01-09",1.05,{"id":2797,"name":2798,"domain":2799,"category":196,"price_usd_mo":5,"price_plan":87,"price_unit":24,"price_source":2800,"price_checked":89,"links":2801,"jobs":2803,"verdict":97,"alternatives":2808,"provenance":2809,"verdict_reason":2810,"what_you_lose":2811,"economics":2814,"hardware_tier":109,"verified":2815,"derived":2818},"vimeo","Vimeo","vimeo.com","https:\u002F\u002Fvimeo.com\u002Fupgrade",{"caniselfhostit":2802},"https:\u002F\u002Fcaniselfhostit.com\u002Fvimeo",[2804,2805,2806,2807],"ad-free video hosting","embeddable player","privacy controls","review workflows",[2617],{"capability_seed":46,"decision_layer":47},"PeerTube is excellent software, but video is the one medium where bandwidth math bites back: transcodes eat CPU, storage grows forever, and egress on a popular video can exceed the subscription. Worth it for a modest catalog behind your own domain; not for scale.",[2812,2813],"Vimeo's player CDN — global delivery you don't think about","Privacy\u002Freview workflows for client video",{"vps_share_usd_mo":189,"storage_usd_mo":928,"maint_min_mo":108},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":2816},[2817],"logs\u002Fvimeo.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":2819,"net_saving_usd_mo":2820,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":1984,"primary_abandoned":80,"verdict_stale":80},21.5,-1.5,{"id":2822,"name":2823,"domain":2824,"category":304,"price_usd_mo":584,"price_plan":593,"price_unit":24,"price_source":2825,"price_checked":200,"links":2826,"jobs":2828,"verdict":33,"alternatives":2833,"provenance":2835,"verdict_reason":2836,"what_you_lose":2837,"economics":2839,"hardware_tier":44,"verified":2840,"derived":2843},"wanderlog-pro","Wanderlog","wanderlog.com","https:\u002F\u002Fapps.apple.com\u002Fus\u002Fapp\u002Fwanderlog\u002Fid1476732439",{"caniselfhostit":2827},"https:\u002F\u002Fcaniselfhostit.com\u002Fwanderlog-pro",[2829,2830,2831,2832],"trip itineraries","collaborative planning","maps & routes","offline access",[2834],"adventurelog",{"capability_seed":46,"decision_layer":47},"$3.33\u002Fmo. AdventureLog is a charming trip journal, but Wanderlog's value is collaborative planning with live maps and imports — and the cheap-subscription pattern applies in full: the setup evening costs more than years of the subscription.",[2838],"Collaborative itineraries with non-self-hosting travel companions",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":2841},[2842],"logs\u002Fwanderlog-pro.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":327,"net_saving_usd_mo":1903,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":2844,"primary_abandoned":80,"verdict_stale":80},0.92,{"id":2846,"name":2847,"domain":2848,"category":1069,"price_usd_mo":178,"price_plan":593,"price_unit":233,"price_source":2849,"price_checked":89,"links":2850,"jobs":2852,"verdict":134,"alternatives":2857,"provenance":2859,"verdict_reason":2860,"what_you_lose":2861,"economics":2864,"hardware_tier":44,"verified":2865,"compose":2868,"derived":2870},"whimsical","Whimsical","whimsical.com","https:\u002F\u002Fwhimsical.com\u002Fpricing",{"caniselfhostit":2851},"https:\u002F\u002Fcaniselfhostit.com\u002Fwhimsical",[2853,2854,2855,2856],"flowcharts & diagrams","whiteboards","wireframes","sharing & embeds",[2858,1081],"drawio",{"capability_seed":46,"decision_layer":47},"Flowcharts go to draw.io (stateless, boots instantly), whiteboards go to Excalidraw (verified earlier on this scoreboard). Two containers replace the $10\u002Fseat and both are genuinely pleasant tools.",[2862,2863],"Whimsical's docs\u002Fboards integration in one canvas","Their AI diagram generation",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":294,"assistant":53,"evidence":2866,"what_broke":2869},[2867,2868],"logs\u002Fwhimsical.md","compose\u002Fwhimsical-drawio.yml",[716],{"hourly_rate_usd":5,"self_host_cost_usd_mo":327,"net_saving_usd_mo":2412,"setup_cost_usd":718,"break_even_months":2438,"break_even_date":2439,"markup_index":2871,"primary_abandoned":80,"verdict_stale":80},2.75,{"id":2873,"name":2874,"domain":2875,"category":2876,"price_usd_mo":2877,"price_plan":2878,"price_unit":24,"price_source":2879,"price_checked":26,"jobs":2880,"verdict":134,"verdict_reason":2884,"what_you_lose":2885,"alternatives":2889,"economics":2890,"hardware_tier":44,"provenance":2892,"verified":2893,"compose":2896,"links":2899,"derived":2901},"ynab","YNAB","ynab.com","money",9.08,"Annual","https:\u002F\u002Fwww.ynab.com\u002Fpricing",[2881,2882,2883,1742],"envelope (zero-based) budgeting","bank sync","multi-device sync","Actual does zero-based budgeting with your data in a SQLite file you can read, and bank sync via SimpleFIN costs less than one month of YNAB per year.",[2886,2887,2888],"YNAB's first-party bank sync — Actual needs SimpleFIN Bridge (~$1.50\u002Fmo) or GoCardless for EU banks, one more account to hold","The YNAB method community, workshops and support humans","Nobody to email when a sync breaks the night before rent is due",[1746,1745],{"vps_share_usd_mo":2891,"storage_usd_mo":43,"maint_min_mo":217},0.6,{"capability_seed":46,"decision_layer":47},{"by":49,"at":50,"protocol":51,"setup_min":625,"assistant":53,"evidence":2894,"what_broke":2897},[2895,2896],"logs\u002Fynab-actual-budget.md","compose\u002Fynab-actual-budget.yml",[2898],"Silent exit where IPv6 is disabled: the server binds '::' by default, logs 'Listening' and then exits cleanly — ACTUAL_HOSTNAME=0.0.0.0 fixes it, and the clean exit code makes it a genuinely nasty diagnosis",{"caniselfhostit":2900},"https:\u002F\u002Fcaniselfhostit.com\u002Fynab",{"hourly_rate_usd":5,"self_host_cost_usd_mo":2902,"net_saving_usd_mo":2903,"setup_cost_usd":1002,"break_even_months":187,"break_even_date":2904,"markup_index":2905,"primary_abandoned":80,"verdict_stale":80},5.6,3.48,"2026-12-05",1.62,{"id":2907,"name":2908,"domain":2909,"category":695,"price_usd_mo":2910,"price_plan":1070,"price_unit":269,"price_source":2911,"price_checked":26,"links":2912,"jobs":2914,"verdict":134,"alternatives":2919,"provenance":2920,"verdict_reason":2921,"what_you_lose":2922,"economics":2925,"hardware_tier":109,"verified":2926,"compose":1622,"derived":2931},"zapier","Zapier","zapier.com",29.99,"https:\u002F\u002Fzapier.com\u002Fpricing",{"caniselfhostit":2913},"https:\u002F\u002Fcaniselfhostit.com\u002Fzapier",[2915,2916,2917,2918],"app-to-app automations","triggers & actions","multi-step workflows","webhooks",[1612],{"capability_seed":46,"decision_layer":47},"Activepieces runs your automations on your box with a visual builder and hundreds of pieces. Zapier's task-based pricing means success gets expensive; self-hosted, a busy month costs the same as a quiet one.",[2923,2924],"Zapier's long tail of 6000+ integrations — check your critical apps against the pieces list first","Their reliability team; failed runs are now your logs to read",{"vps_share_usd_mo":107,"storage_usd_mo":43,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":108,"assistant":53,"evidence":2927,"what_broke":2929},[2928,1622],"logs\u002Fzapier.md",[2930,2043],"First boot syncs its pieces catalog over the network — in a proxied\u002Fairgapped environment that sync fails and the API never comes up; plan for npm egress on first start",{"hourly_rate_usd":5,"self_host_cost_usd_mo":294,"net_saving_usd_mo":2932,"setup_cost_usd":217,"break_even_months":2933,"break_even_date":1450,"markup_index":1034,"primary_abandoned":80,"verdict_stale":80},18.99,0.79,{"id":2935,"name":2936,"domain":2937,"category":125,"price_usd_mo":86,"price_plan":2938,"price_unit":233,"price_source":2939,"price_checked":200,"links":2940,"jobs":2942,"verdict":134,"alternatives":2947,"provenance":2949,"verdict_reason":2950,"what_you_lose":2951,"economics":2954,"hardware_tier":109,"verified":2955,"compose":1446,"derived":2959},"zendesk","Zendesk","zendesk.com","Support Team","https:\u002F\u002Fwww.zendesk.com\u002Fpricing\u002F",{"caniselfhostit":2941},"https:\u002F\u002Fcaniselfhostit.com\u002Fzendesk",[2943,2944,2945,2946],"ticketing & shared inbox","live chat widget","canned responses & macros","help-center basics",[2948,1435],"zammad",{"capability_seed":46,"decision_layer":47},"Chatwoot gives you shared inboxes, live chat widgets, canned responses and automations — the Zendesk core — per agent forever, for the price of a mid VPS. The rails stack is heavier than most on this list; it's still a weekend, not a career.",[2952,2953],"Zendesk's marketplace of a thousand integrations","Their AI answer bot tier and WFM tooling",{"vps_share_usd_mo":351,"storage_usd_mo":43,"maint_min_mo":108},{"by":49,"at":50,"protocol":51,"setup_min":1443,"assistant":53,"evidence":2956,"what_broke":2958},[2957,1446],"logs\u002Fzendesk.md",[461],{"hourly_rate_usd":5,"self_host_cost_usd_mo":1448,"net_saving_usd_mo":351,"setup_cost_usd":1240,"break_even_months":507,"break_even_date":2960,"markup_index":2961,"primary_abandoned":80,"verdict_stale":80},"2027-03-11",1.12,{"id":2963,"name":2964,"domain":2965,"category":159,"price_usd_mo":2966,"price_plan":2967,"price_unit":233,"price_source":2968,"price_checked":200,"links":2969,"jobs":2971,"verdict":33,"alternatives":2975,"provenance":2977,"verdict_reason":2978,"what_you_lose":2979,"economics":2981,"hardware_tier":44,"verified":2982,"derived":2985},"zight","Zight","zight.com",9.95,"Create","https:\u002F\u002Fzight.com\u002Fplans\u002F",{"caniselfhostit":2970},"https:\u002F\u002Fcaniselfhostit.com\u002Fzight",[2972,2973,2974],"screen capture & recording","instant share links","annotations",[2976],"zipline",{"capability_seed":46,"decision_layer":47},"Zight is a capture app with hosting attached. Zipline hosts files fine, but the screenshot-annotate-share flow lives in the client app — which stays subscription-bound. Self-hosting the storage half of a $9.95 tool solves the cheap half.",[2980],"The capture\u002Fannotation apps — the part you actually use all day",{"vps_share_usd_mo":322,"storage_usd_mo":43,"maint_min_mo":178},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":2983},[2984],"logs\u002Fzight.md",{"hourly_rate_usd":5,"self_host_cost_usd_mo":327,"net_saving_usd_mo":2986,"setup_cost_usd":223,"break_even_months":2933,"break_even_date":1450,"markup_index":839,"primary_abandoned":80,"verdict_stale":80},6.32,{"id":2988,"name":2989,"domain":2990,"category":125,"price_usd_mo":2991,"price_plan":593,"price_unit":233,"price_source":2992,"price_checked":89,"links":2993,"jobs":2995,"verdict":33,"alternatives":2999,"provenance":3001,"verdict_reason":3002,"what_you_lose":3003,"economics":3007,"hardware_tier":109,"verified":3008,"compose":3012,"derived":3018},"zoom","Zoom","zoom.com",16.99,"https:\u002F\u002Fzoom.us\u002Fpricing",{"caniselfhostit":2994},"https:\u002F\u002Fcaniselfhostit.com\u002Fzoom",[2996,2997,887,2998],"group video calls that just work for guests","screen share & recording","dial-in",[3000],"jitsi",{"capability_seed":46,"decision_layer":47},"Jitsi self-hosts real video calls — and then the calls are only as good as your server's bandwidth, your TURN config, and the day UDP 10000 got blocked. Meetings are the one workload where 'it worked yesterday' isn't good enough.",[3004,3005,3006],"Zoom's network doing the heavy lifting — a 2GB VPS handles a handful of participants before the bridge sweats","Recording, dial-in and calendar flow all become separate projects","Every meeting is now also a smoke test of your infrastructure",{"vps_share_usd_mo":189,"storage_usd_mo":43,"maint_min_mo":108},{"by":49,"at":50,"protocol":51,"setup_min":3009,"assistant":53,"evidence":3010,"what_broke":3013},120,[3011,3012],"logs\u002Fzoom-jitsi.md","compose\u002Fzoom-jitsi.yml",[3014,3015,3016,3017],"Set ENABLE_IPV6=0 on kernels with ipv6.disable=1 or the templated nginx\u002Fprosody binds crash","Four services must agree on XMPP domains and two shared secrets — one typo and jicofo silently fails to conference; the log line 'Added new videobridge' is the registration proof","jicofo's REST \u002Fabout\u002Fhealth wouldn't answer 2xx in our env even with a bridge registered — the compose gates it on a process check instead","No pgrep\u002Fshell tooling in the images — healthchecks lean on curl (web\u002Fjicofo images) and \u002Fproc greps",{"hourly_rate_usd":5,"self_host_cost_usd_mo":86,"net_saving_usd_mo":3019,"setup_cost_usd":625,"break_even_months":78,"break_even_date":78,"markup_index":3020,"primary_abandoned":80,"verdict_stale":80},-2.01,0.89,{"a":3022,"b":3084},{"id":518,"name":3023,"tagline":3024,"repo":3025,"site":3026,"license":3027,"category":159,"resources":3028,"provenance":3031,"metrics":3032,"replaces":3041},"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","AGPL-3.0",{"ram_min_mb":3029,"disk_gb":178,"arm64":3030,"containers":189,"external_db":3030},2048,true,{"capability_seed":46,"decision_layer":47},{"id":518,"stars":3033,"last_commit":3034,"latest_release":3035,"docker_pulls":78,"open_issues":3039,"fetched_at":3040},36384,"2026-08-11T02:48:29Z",{"tag":3036,"published_at":3037,"url":3038},"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",[3042,3052,3063,3074],{"id":504,"name":505,"domain":506,"category":159,"price_usd_mo":507,"price_plan":508,"price_unit":233,"price_source":509,"price_checked":89,"links":3043,"jobs":3044,"verdict":33,"alternatives":3045,"provenance":3046,"verdict_reason":520,"what_you_lose":3047,"economics":3048,"hardware_tier":109,"verified":3049,"derived":3051},{"caniselfhostit":511},[513,514,515],[517,518],{"capability_seed":46,"decision_layer":47},[522],{"vps_share_usd_mo":107,"storage_usd_mo":351,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":3050},[526],{"hourly_rate_usd":5,"self_host_cost_usd_mo":528,"net_saving_usd_mo":529,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":530,"primary_abandoned":80,"verdict_stale":80},{"id":907,"name":908,"domain":909,"category":159,"price_usd_mo":910,"price_plan":268,"price_unit":24,"price_source":911,"price_checked":26,"links":3053,"jobs":3054,"verdict":97,"alternatives":3055,"provenance":3056,"verdict_reason":922,"what_you_lose":3057,"economics":3058,"hardware_tier":109,"verified":3059,"compose":933,"derived":3062},{"caniselfhostit":913},[915,916,917,918,919],[518],{"capability_seed":46,"decision_layer":47},[924,925,926],{"vps_share_usd_mo":928,"storage_usd_mo":351,"maint_min_mo":108},{"by":49,"at":50,"protocol":51,"setup_min":930,"assistant":53,"evidence":3060,"what_broke":3061},[932,933],[935,936],{"hourly_rate_usd":5,"self_host_cost_usd_mo":938,"net_saving_usd_mo":939,"setup_cost_usd":287,"break_even_months":78,"break_even_date":78,"markup_index":363,"primary_abandoned":80,"verdict_stale":80},{"id":1212,"name":1213,"domain":1214,"category":196,"price_usd_mo":1215,"price_plan":1216,"price_unit":24,"price_source":1217,"price_checked":26,"links":3064,"jobs":3065,"verdict":33,"alternatives":3066,"provenance":3067,"verdict_reason":1227,"what_you_lose":3068,"economics":3069,"hardware_tier":109,"verified":3070,"compose":1235,"derived":3073},{"caniselfhostit":1219},[1221,1222,1223,1224],[210,518],{"capability_seed":46,"decision_layer":47},[1229,1230],{"vps_share_usd_mo":117,"storage_usd_mo":107,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":111,"assistant":53,"evidence":3071,"what_broke":3072},[1234,1235],[1237,1238],{"hourly_rate_usd":5,"self_host_cost_usd_mo":1240,"net_saving_usd_mo":1241,"setup_cost_usd":5,"break_even_months":78,"break_even_date":78,"markup_index":1242,"primary_abandoned":80,"verdict_stale":80},{"id":2442,"name":2443,"domain":2444,"category":159,"price_usd_mo":189,"price_plan":2445,"price_unit":24,"price_source":2446,"price_checked":89,"links":3075,"jobs":3076,"verdict":33,"alternatives":3077,"provenance":3078,"verdict_reason":2455,"what_you_lose":3079,"economics":3080,"hardware_tier":109,"verified":3081,"derived":3083},{"caniselfhostit":2448},[2450,2451,916],[2453,518],{"capability_seed":46,"decision_layer":47},[2457],{"vps_share_usd_mo":107,"storage_usd_mo":189,"maint_min_mo":5},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":3082},[2461],{"hourly_rate_usd":5,"self_host_cost_usd_mo":499,"net_saving_usd_mo":2463,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":2464,"primary_abandoned":80,"verdict_stale":80},{"id":517,"name":3085,"tagline":3086,"repo":3087,"site":3088,"license":3089,"category":159,"resources":3090,"provenance":3091,"metrics":3092,"replaces":3101},"Seafile","File sync and share on a box you own, with versioned libraries and clients that move only the blocks that changed.","haiwen\u002Fseafile","https:\u002F\u002Fwww.seafile.com","AGPL-3.0-only",{"ram_min_mb":3029,"disk_gb":178,"arm64":3030,"containers":117,"external_db":3030},{"capability_seed":46,"decision_layer":47},{"id":517,"stars":3093,"last_commit":3094,"latest_release":3095,"docker_pulls":78,"open_issues":3099,"fetched_at":3100},15094,"2026-08-08T02:47:29Z",{"tag":3096,"published_at":3097,"url":3098},"v9.0.5","2024-02-27T07:51:16Z","https:\u002F\u002Fgithub.com\u002Fhaiwen\u002Fseafile\u002Freleases\u002Ftag\u002Fv9.0.5",89,"2026-08-11T03:55:30.891Z",[3102],{"id":504,"name":505,"domain":506,"category":159,"price_usd_mo":507,"price_plan":508,"price_unit":233,"price_source":509,"price_checked":89,"links":3103,"jobs":3104,"verdict":33,"alternatives":3105,"provenance":3106,"verdict_reason":520,"what_you_lose":3107,"economics":3108,"hardware_tier":109,"verified":3109,"derived":3111},{"caniselfhostit":511},[513,514,515],[517,518],{"capability_seed":46,"decision_layer":47},[522],{"vps_share_usd_mo":107,"storage_usd_mo":351,"maint_min_mo":287},{"by":49,"at":50,"protocol":51,"setup_min":217,"assistant":53,"evidence":3110},[526],{"hourly_rate_usd":5,"self_host_cost_usd_mo":528,"net_saving_usd_mo":529,"setup_cost_usd":223,"break_even_months":78,"break_even_date":78,"markup_index":530,"primary_abandoned":80,"verdict_stale":80},1786465823091]