40 lines
1.5 KiB
Markdown
40 lines
1.5 KiB
Markdown
# Dyolink
|
|
|
|
Monorepo: **NestJS** backend (`backend/`), **Next.js** frontend (`frontend/`), **Docker** stack under `infrastructure/`..
|
|
|
|
Local development: see **`backend/README.md`** and **`frontend/README.md`**.
|
|
|
|
**Cursor AI:** project conventions for agents are in [`AGENTS.md`](AGENTS.md), [`.cursor/rules/`](.cursor/rules/), and [`.cursor/skills/`](.cursor/skills/).
|
|
|
|
---
|
|
|
|
## Production deploy (`https://nudentic.ir`)
|
|
|
|
**Full guide:** [`infrastructure/DEPLOY.md`](infrastructure/DEPLOY.md)
|
|
|
|
Git tag **`v1.0.1`** → Gitea workflow [`.gitea/workflows/prod-tag-deploy.yml`](.gitea/workflows/prod-tag-deploy.yml) builds images (URLs baked for nudentic.ir), pushes to Gitea registry, SSH-deploys the Linux stack.
|
|
|
|
First-time SSL / Hub fallback: same `DEPLOY.md`.
|
|
|
|
---
|
|
|
|
## Staging deploy (`https://wixur.ir`)
|
|
|
|
**Full guide:** [`infrastructure/STAGING-DEPLOY.md`](infrastructure/STAGING-DEPLOY.md)
|
|
|
|
Merge or push to **`master`** → Gitea Actions builds images → deploys to `https://wixur.ir` (Gitea: `http://wixur.ir:3000`).
|
|
|
|
Workflow: [`.gitea/workflows/registry-build-deploy.yml`](.gitea/workflows/registry-build-deploy.yml)
|
|
|
|
---
|
|
|
|
## Related paths
|
|
|
|
| Path | Role |
|
|
|------|------|
|
|
| `backend/Dockerfile` | API image |
|
|
| `frontend/Dockerfile` | Web image |
|
|
| `infrastructure/STAGING-DEPLOY.md` | Staging setup, CI variables, testing |
|
|
| `infrastructure/docker-compose.registry.yml` | Pull-only staging stack (registry images + nginx + postgres) |
|
|
| `infrastructure/deploy.registry.env.example` | Template for `deploy.registry.env` |
|