Remove project OAuth hardcodes

This commit is contained in:
Your Name
2026-08-03 17:23:35 +05:00
parent 65c15e59d1
commit 6b873b3aee
6 changed files with 117 additions and 15 deletions
+43
View File
@@ -0,0 +1,43 @@
# Multi-project setup
Goal: keep one codebase and run separate deployments for each editorial project.
## Target model
- One canonical git repository for application code.
- One Coolify application per project.
- One Postgres database per project.
- Project differences live in Coolify env variables and database settings, not in code.
## Per-project env
- `ADMIN_SITE_TITLE`
- `ADMIN_APP_TITLE`
- `ADMIN_FAVICON_PATH`
- `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`.
## 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.
## Migration path
1. Finish removing project-specific constants from code.
2. Choose one canonical repo for both deployments.
3. Point both Coolify applications to that repo and branch.
4. Keep only env and database settings different between projects.