Publish schlug bei jedem Versuch mit "spawn git ENOENT" fehl, obwohl git im Container installiert ist. Node meldet ENOENT auch dann, wenn das cwd des Kindprozesses nicht existiert: initialize() setzte simple-git auf den Workspace, loeschte diesen per rm -rf und startete den Clone anschliessend aus dem geloeschten Verzeichnis heraus. Nebeneffekt davon: da Uploads unter GIT_WORKSPACE_DIR/public/images liegen, hat jeder fehlgeschlagene Publish die hochgeladenen Bilder mitgeloescht. git.service.ts: - Clone laeuft aus dem Elternverzeichnis statt aus dem geloeschten Ziel - Re-Clone nur noch wenn kein brauchbares Repo vorhanden ist - Uploads werden ueber den Re-Clone hinweg gesichert (Repo-Stand gewinnt) - commitAndPush scheitert nicht mehr, wenn es nichts zu committen gibt - reset() nur bei echtem Repo, mit Ausnahme fuer public/images - Token wird in Fehlermeldungen maskiert Dockerfile: - COPY von src/db/migrations entfernt. Das Verzeichnis war nie im Git und liess den Image-Build scheitern. Zur Laufzeit wird es nicht gebraucht, das Schema legt initDatabase() selbst an. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Gallus Pub CMS Backend
Headless CMS backend for managing Gallus Pub website content with Gitea OAuth authentication.
Setup
- Install dependencies:
npm install
- Create
.envfile from.env.example:
cp .env.example .env
-
Update environment variables in
.env:- Set Gitea OAuth credentials
- Set Git repository URL and token
- JWT secrets are already generated
-
Create data directory and run migrations:
mkdir -p data
- Generate and run migrations:
npm run db:generate
npm run db:migrate
- Start development server:
npm run dev
Server will run at http://localhost:3000
Available Scripts
npm run dev- Start development server with watch modenpm run build- Build for productionnpm run start- Start production servernpm run db:generate- Generate database migrationsnpm run db:migrate- Run database migrationsnpm run db:studio- Open Drizzle Studio
Documentation
See parent directory for complete documentation:
CMS_CONCEPT.md- System architectureCMS_GITEA_AUTH.md- Authentication detailsCMS_IMPLEMENTATION_EXAMPLE.md- Code examplesCMS_SETUP_GUIDE.md- Deployment guide