Systemet til håndtering af Fælles Vinindkøb
Tilføjer trin 1 (opret containeren: unprivileged LXC, Debian 12, statisk IP) og retter netværks-antagelsen: da reverse proxy'en (CloudPanel) kører i en anden container/VM på samme Proxmox-host end appen, skal backend'en bindes til 0.0.0.0 i stedet for 127.0.0.1 og være tilgængelig over det interne Proxmox-netværk — låst ned med Proxmox' egen container-firewall (kun CloudPanel-containerens IP får adgang) i stedet for 127.0.0.1-only. Reverse proxy-trinnet peger nu på containerens IP, og PostgreSQL installeres nativt i samme container som appen (bekræftet valg). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| admin-ui | ||
| app | ||
| migrations | ||
| scripts | ||
| .env.example | ||
| .gitignore | ||
| .python-version | ||
| alembic.ini | ||
| CLAUDE.md | ||
| INSTALL.md | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
Vinindkøb v2
Admin-backend til fælles vinindkøb (FastAPI + SQLModel + PostgreSQL + Alembic). Se CLAUDE.md for projektplan og datamodel, og INSTALL.md for produktionsopsætning på en server.
Kom i gang
uv sync
cp .env.example .env # udfyld DATABASE_URL med din egen Postgres-instans
uv run alembic upgrade head
uv run fastapi dev app/main.py
GET /health bekræfter at appen kan nå databasen.
Admin-UI (React)
Serveres af samme app på et dedikeret domæne (ADMIN_DOMAIN, default
admin.localhost) — se CLAUDE.md's "Admin-UI-arkitektur". Skal bygges
før admin-domænet virker (API'et og den offentlige side kører fint
uden):
cd admin-ui
npm install
npm run build # skriver til ../app/admin_dist
Til udvikling af selve admin-UI'et: npm run dev i admin-ui/
(Vites egen dev-server, proxier API-kald til 127.0.0.1:8001).