# 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