HydroGo Gopher Mascot
HydroGo v1.24
IntroductionWhat is HydroGo

What is HydroGo

A single-binary headless content management system written in Go. This page explains what it does, what it deliberately does not do, and who it is for.

HydroGo manages pages, news, media, members and your own content types, and exposes all of it over a unified REST API. It ships as one self-contained executable that also embeds an admin panel, so a complete content backend is one download, one config file and one data directory.

It is headless: HydroGo does not render your public website. Go serves JSON; you build the frontend with whatever you like (SvelteKit, Next.js, Astro, a mobile app, a static site generator) and read content from the API.

What you get

  • Pages and news. Pages are made of blocks; news has categories, tags, scheduled publishing and revisions.
  • Media library. Uploads are converted to WebP, get focal-point crops and BlurHash placeholders, and can live on disk or S3.
  • Content types. Declare FAQs, team members, events or products in one YAML file and get admin screens and a public API without writing Go or Svelte.
  • Members. Optional sign-up and sign-in for your visitors, with a token API for mobile apps.
  • Admin panel. An embedded Svelte 5 single-page app with roles, revisions, an audit trail, MFA and an English and Turkish interface.
  • Operations. Migrations with rollback snapshots, backups and restore, health and readiness probes, Prometheus metrics, optional Redis and S3.

What it deliberately is not

HydroGo does not…Instead
Render a public websiteBuild a frontend on the API. See and the SvelteKit starter.
Generate HTML on the server (except transactional e-mail)Go serves JSON. Admin markup lives in the embedded Svelte app.
Need a rebuild when content changesPublishing is live on the next API request. See .
Act as a framework or product factoryIt stays a CMS: content, media, members and the API around them.

Is it a fit?

HydroGo suits marketing sites, blogs, documentation sites, news portals and mobile app backends where editors need a friendly admin and developers want a small, predictable API and a simple deployment.

If your need is "a few structured collections plus pages and media", start with a preset and a couple of YAML files. Reach for custom Go modules only when behaviour, not just data, is different.

Where to go next