Local development
This page takes you from a fresh clone to a running Gophenberg with demo content and a login.
You need three tools installed: Go (the version pinned in go.mod),
Node 26 with pnpm, and Docker (it runs the PostgreSQL database, and
nothing else).
1. Clone and configure
Section titled “1. Clone and configure”git clone https://github.com/gopherium/gophenbergcd gophenbergcp .env.example .envThe example file points the server at the development database and needs no editing.
2. Seed the database
Section titled “2. Seed the database”make seedThis starts PostgreSQL in Docker, applies the database migrations,
and creates a development login plus demo posts. The login is
admin@example.com with the password password1234.
3. Run the backend and the admin
Section titled “3. Run the backend and the admin”In two terminals:
make devpnpm install && pnpm --filter @gophenberg/frontend devThe first runs the API on localhost:8081. The second runs the
admin on localhost:5174, which forwards
/api calls to the first, so the login cookie works without any
HTTPS setup.
4. Look around
Section titled “4. Look around”- Open localhost:5174 and log in with the seeded account. You land in the admin with demo posts to play with.
- Open localhost:8081 for the public site, served by the built-in renderer.
From here, the posts list shows you around the admin, and how theming works explains the public site.