2084acb078
- Rewrite index.html with modern layout: sticky nav, hero, about, projects, timeline, skills badges, contact - Consolidate 12 fragmented CSS files into one cohesive style.css with CSS custom properties and dark mode - Consolidate JS into scripts.js (dark toggle + scroll animations), remove exposed telegram bot token - Update blog.html to match new design - Add AGENTS.md
3.6 KiB
3.6 KiB
AGENTS.md
Repo overview
Docker Compose hosting for 4 websites (yalarba.ru, begushiybashkir.ru, easysite102.ru, valitovgaziz.ru).
All infrastructure lives under main_dc/. Root package.json is vestigial — do not use it.
Directory structure
main_dc/
docker-compose.yml -- single compose file orchestrating everything
Makefile -- the primary dev/ops interface; use `make` not raw docker
.env -- shared env: domains, email, api_es port
BB/api_bb/ -- Go REST API (GORM+Chi), port 7777, DB: db_bb (5433)
BB/bbvue/ -- Vue 3 + Vite frontend for begushiybashkir.ru
yalarba/api_tp/ -- Go REST API (GORM+Chi), port 8888, DB: db (5432)
yalarba/api_es/ -- Go REST API (GORM+Chi), port 8088, DB: db (5432)
yalarba/api_yal/ -- Go REST API (GORM+Chi), port 8787, DB: db (5432)
yalarba/easySite/easySite/ -- Nuxt 4 SPA for easysite102.ru
yalarba/serv_spa/spa/vue/ -- Vue 3 + Vite SPA for yalarba.ru
valitovgaziz/analytics/ -- Node.js (Express) analytics server, port 9999
valitovgaziz/html/ -- static HTML for valitovgaziz.ru
nginx/ -- nginx with automatic HTTP↔HTTPS switching
certbot/ -- Let's Encrypt cert management
stubSite/ -- placeholder site while building
Developer commands (always run from main_dc/)
| Command | What it does |
|---|---|
make all |
Full cycle: down → git pull → build --no-cache → up -d → watch |
make <svc> |
Full cycle for one service, e.g. make api_bb, make nginx, make es, make analytics |
make bbvue |
Rebuild Vue frontend (calls npm run build in BB/bbvue/) |
make vue_bb |
git pull + npm cache clean + bbvue build + watch |
make wn |
watch -n2 docker ps — monitor containers |
make bb_db |
psql -U postgres -d bb_db inside db_bb container |
All build_* targets use --no-cache.
All full-cycle targets follow: stop_<svc> → git → build_<svc> → start_<svc> → wn.
Frontend dev (outside compose)
cd main_dc/BB/bbvue && npm run dev # Vite dev server
cd main_dc/BB/bbvue && npm run lint # ESLint --fix
cd main_dc/BB/bbvue && npm run format # Prettier --write src/
cd main_dc/yalarba/serv_spa/spa/vue && npm run dev # Vite dev (yalarba SPA)
cd main_dc/yalarba/easySite/easySite && npm run dev # Nuxt dev
cd main_dc/yalarba/easySite/easySite && npm run build # Nuxt build
Service quirks
- Nginx SSL:
switch-config.shis all-or-nothing — HTTPS only activates when every domain has a cert. Until then, SSL port redirects back to HTTP. yalarba/serv_spa/spa/: Dockerfile is incomplete (build stage only, no runtime). Thespa/vue/package.json includes express/pg deps despite being a Vite SPA — likely unused or legacy. The nginx compose mountsyalarba/serv_spa/spa/vue/dist.api_yalis the only container that runs as non-root. Runs on port 8787.api_esport is configurable viaAPI_ES_APP_PORTin.env(default 8088). All other API ports are hardcoded.- Databases:
db(port 5432) is shared between api_tp, api_es, api_yal.db_bb(port 5433) is dedicated to api_bb. - GORM auto-migration: All Go APIs use GORM auto-migrate at startup — no manual migration tooling.
- Keycloak referenced in Makefile targets but absent from docker-compose.yml — likely not deployed.
api_yal/testrunner: standalone Go test runner binary (not containerized), for running integration test suites.
Docs convention
READMEs and documentation are primarily in Russian. See documentation/ for Makefile, Docker, restart, and LLM info docs.