Files
new_vk_parser/MULTI_PROJECT.md
T
2026-08-04 20:02:42 +05:00

69 lines
2.8 KiB
Markdown

# Multi-project setup
Goal: keep one codebase and run separate deployments for each editorial project.
## Target model
- One canonical git repository for application code:
`http://192.168.1.135:3000/exostring/new_vk_parser.git`.
- One canonical local workspace: `D:\DEVELOPMENT\new_vk_parser`.
- One Coolify application per project.
- One Postgres database per project.
- Project differences live in Coolify env variables and database settings, not in code.
- The old RAA local copy `D:\DEVELOPMENT\raa-parser_poster` and old RAA Gitea repo
are not the source of truth.
## Per-project env
- `ADMIN_SITE_TITLE`
- `ADMIN_APP_TITLE`
- `ADMIN_FAVICON_PATH` as an optional fallback only
- `DB_HOST`, `DB_PORT`, `DB_NAME`, `DB_USER`, `DB_PASSWORD`
- `APP_SECRET_KEY`
- `ADMIN_BOOTSTRAP_LOGIN`, `ADMIN_BOOTSTRAP_PASSWORD`
- `VK_ACCESS_TOKEN`
- `VK_GROUP_ACCESS_TOKEN`
- `VK_STORAGE_GROUP_ID`
- `VK_OAUTH_CLIENT_ID`
- `VK_OAUTH_REDIRECT_URI`
- `VK_OAUTH_ORIGIN`
- `TG_BOT_TOKEN`
- `TG_MEDIA_CHANNEL_ID`
- `LOCAL_BOT_API_URL`
## Per-project database settings
Sources, target groups/channels, poster tokens, schedules, prompts, categories, and enabled workers should stay in `app_settings`, `sources`, `content_categories`, and `worker_controls`.
Project favicon is uploaded from the admin UI and stored per deployment at
`uploads/branding/favicon.png`. If it is absent, the app falls back to
`ADMIN_FAVICON_PATH`, then to the repository `favi.png`.
Common publication hashtags are also per-project database settings:
- key: `publication_common_tags`
- FN-8: `#новости_снаряжения`
- RAA: `#raa_news #страйкбол`
- The app posts these tags before category/source tags in TG/VK/MAX social posters.
RAA current social targets:
- raw media Telegram channel: `tg_media_channel_id=-1004312015562`
- final Telegram publication channel: `tg_poster_chat_id=-1001303630155`
- VK owner: `vk_poster_owner_id=-36860851`, `vk_poster_from_group=true`
- More RAA-specific runtime notes are in `RAA.md`.
## Poster modules
The site poster is selected by `site_poster_provider`. A project can disable the worker or leave the provider empty when there is no website poster yet. New website integrations should be added as provider modules behind the same interface instead of branching the worker by project name.
## Current Status
- FN-8 Coolify app `n6cnr60anmruiwkiey0pukye` points to `new_vk_parser.git`, branch `main`.
- RAA Coolify app `korokrhpoyqxf0nw2y8vk7lp` points to `new_vk_parser.git`, branch `main`.
- Both projects should deploy from the same commit SHA.
- Both current Coolify apps run on Docker destination CTID `105`, hostname `raa-fn8`.
- Old CT `107` was removed on 2026-08-04; CT `104` is a separate legacy VK reposting app.
- Keep only env and database settings different between projects.
- Do not add project-specific defaults to migrations or `.env.example`.