diyaa.de/README.md
2026-03-13 03:45:13 +01:00

54 lines
1.4 KiB
Markdown

# Diyaa Website
A bilingual Next.js website prepared for deployment on a private Linux VPS with Docker.
## Stack
- Next.js 14
- React 18
- TypeScript
- Docker / Docker Compose
## Local setup
1. Copy `.env.example` to `.env`
2. Fill in `NEXT_PUBLIC_SITE_URL` and your real contact links
3. Choose `NEXT_PUBLIC_SITE_MODE=coming-soon` or `NEXT_PUBLIC_SITE_MODE=full`
4. Install dependencies with `npm install`
5. Run `npm run dev`
## Quality checks
- `npm run lint`
- `npm run typecheck`
- `npm run build`
- `npm run check`
## Docker workflow
- `make build`
- `make start`
- `make ps`
- `make logs`
- `make stop`
The container healthcheck uses `/api/health`.
## STRATO VPS deployment notes
1. Install Docker Engine and Docker Compose plugin on the VPS.
2. Clone the repository on the server.
3. Create `.env` from `.env.example` and set a real domain in `NEXT_PUBLIC_SITE_URL`.
4. Run `make build` once, then `make start`.
5. Place Nginx or Caddy in front of the container for HTTPS and domain routing.
6. Point your domain to the VPS public IP and enable SSL at the reverse-proxy layer.
## Environment variables
- `APP_PORT`: external port exposed by Docker Compose
- `NEXT_PUBLIC_SITE_URL`: canonical site URL used by metadata and sitemap
- `NEXT_PUBLIC_SITE_MODE`: `coming-soon` or `full`
- `NEXT_PUBLIC_CONTACT_EMAIL`: public email shown on the contact page
- `NEXT_PUBLIC_LINKEDIN_URL`: LinkedIn profile URL
- `NEXT_PUBLIC_GITHUB_URL`: GitHub profile URL