# Frontend deployment Next.js and Payload run in the same frontend container. The maintained deployment procedure is [docs/DEPLOY.md](../docs/DEPLOY.md), with the production and staging Portainer compose files at the repository root. The frontend Dockerfile builds a standalone Next.js image. Runtime configuration supplies `FASTAPI_URL`, `DATABASE_URL` and `PAYLOAD_SECRET`; uploaded CMS media is persisted in a volume. Promote the built image through the repository's Gitea workflow after human staging approval. Earlier Vercel and standalone deployment recipes have been retired from this file because they do not describe the current CMS, persistence and promotion setup. See [development](../docs/DEVELOPMENT.md) for checks and [publishing](docs/PUBLISHING.md) for CMS operations.