`make backend` embeds public/ via go:embed at compile time, so any frontend asset change requires: ddev build-gitea-frontend # vite into public/assets/ ddev build-gitea # re-embed public/ into the binary ddev restart # pick up new binary
`ddev start` provisions: - web container: Debian + Go 1.26.3 + node 24, builds gitea via `ddev build-gitea` - db: postgres 17 - router: https://gitea.ddev.site → gitea on container port 3000 First-run steps: ddev start ddev build-gitea ddev restart ddev exec './gitea --config .ddev/gitea/app.ini admin user create \ --admin --username ddev --password ddev1234567890 \ --email ddev@example.com --must-change-password=false' .ddev/.gitignore uses a whitelist: only the 6 files we authored are tracked; DDEV's generated content (compose files, provider templates, snapshots, gocache, gitea runtime data) is ignored.