NaesungCMS supports two primary deployment modes: Self-Hosted (Docker) and Cloud (Vercel/AWS).
Best for internal networks, privacy-focused deployments, or avoiding cloud costs.
The project includes an optimized multi-stage Dockerfile that produces a standalone generic Node.js build (under 600MB).
docker build -t naesungcms .
.env)Create a production .env file:
NEXT_PUBLIC_INFRA_PROVIDER="SELF_HOSTED"
STORAGE_TYPE="LOCAL"
EMAIL_PROVIDER="SMTP"
DATABASE_URL="mysql://user:pass@host:3306/db"
AUTH_SECRET="long_random_string"
NEXT_PUBLIC_APP_URL="https://your-domain.com"
We mount a volume for public/uploads so uploaded files persist across restarts.
docker run -d \
--name naesungcms \
-p 3000:3000 \
-v $(pwd)/public/uploads:/app/public/uploads \
--env-file .env \
naesungcms
Best for scalability, zero maintenance, and global performance.
Ensure your code is pushed to a private repository.
Set the following in Vercel Project Settings:
NEXT_PUBLIC_INFRA_PROVIDER: AWSSTORAGE_TYPE: S3EMAIL_PROVIDER: RESENDAWS_ACCESS_KEY_ID: ...AWS_SECRET_ACCESS_KEY: ...AWS_BUCKET_NAME: ...AWS_REGION: ...RESEND_API_KEY: ...DATABASE_URL: ... (PlanetScale or RDS)Click Deploy. Vercel will build and serve your site globally.