1
0
mirror of git://f0xx.org/ac/ac-docs synced 2026-07-29 04:39:12 +03:00
Files
ac-docs/DEVELOPER_SETUP.md
Anton Afanasyeu 4164a2216e docs: developer onboarding, fresh clone guide, secrets recovery
Add DEVELOPER_SETUP, FRESH_ENV_CLONE, and SECRETS_AND_RECOVERY for the ac/*
workspace; link from README for clean-laptop and lab credential procedures.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-23 17:07:30 +02:00

69 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Developer setup — org `ac`
**Clean machine?** Start with [docs/FRESH_ENV_CLONE.md](docs/FRESH_ENV_CLONE.md) and run `ac-scripts/fresh-clone-dev-env.sh`.
Canonical entry point: **`ac-workspace`** (submodule manifest).
```bash
git clone git://f0xx.org/ac/ac-workspace
cd ac-workspace
git checkout next
git submodule update --init --recursive
```
## Which repo for what
| Area | Repo(s) |
|------|---------|
| Android app | `ac-mobile-android` |
| Issues / crash console PHP | `ac-ms-issues`, `ac-be-issues`, `ac-platform-php`, `ac-platform-web` |
| Auth / 2FA UI | `ac-be-auth`, `ac-ms-identity` |
| Graphs | `ac-ms-graphs`, `ac-be-graphs` |
| Tickets, RBAC, devices, remote access | `ac-ms-tickets`, `ac-ms-rbac`, `ac-ms-devices`, `ac-ms-remote-access`, matching `ac-be-*` |
| URL shortener | `ac-ms-url-shortener` (submodule in workspace) |
| Hub / builder | `ac-be-hub`, `ac-be-builder` |
| Nginx FE/BE snippets | `ac-platform-edge` (`fe/ac-fe.conf` for Gentoo FE) |
| DB schema / migrations | `ac-platform-db` |
| Lab deploy scripts | `ac-deploy` (`sim/cluster0/`) |
| Docs | `ac-docs` |
Legacy monolith `git://f0xx.org/android_cast` is **frozen read-only** — do not commit there.
## Local PHP (optional)
1. Clone workspace as above.
2. Copy `ac-deploy/sim/cluster0/lab-seeds/backend/config/config.example.php``config/config.php` and set SQLite or local MariaDB.
3. Point a local vhost at `public/` with `base_path` `/app/androidcast_project/issues` (see `ac-platform-edge` fragments).
## Lab cluster (cast0103)
Deployed tree on nodes:
| Path | Content |
|------|---------|
| `/var/www/ac/workspace/` | `ac-workspace` + submodules |
| `/var/www/ac/composed/backend/` | overlay from `compose-lab-backend.sh` |
| `/var/www/ac/platform/` | shared session / footer helpers |
| cast01 `:3000` | Gitea browse UI (org **ac**, pull mirrors) |
Scripts: `ac-deploy/sim/cluster0/scripts/` — run on cast01 as `ai` after NFS sync.
**Secrets / recovery:** [docs/SECRETS_AND_RECOVERY.md](docs/SECRETS_AND_RECOVERY.md) — passwords, tokens, WireGuard, RSSH.
Lab shared files: `cluster/credentials.txt`, `cluster/secrets.lab.env` (from `secrets.lab.env.example`).
**Public lab URL (after FE install):** `https://acl0.f0xx.org/app/androidcast_project/issues/`
**Gitea (lab):** `https://acl0.f0xx.org/app/androidcast_project/git/ac/``[gitea_admin]` in `credentials.txt`
FE config: `ac-platform-edge/fe/INSTALL.md``/etc/nginx/ac-fe.conf` on monstro (PO applies).
## Mobile defaults
Production REST base: `https://apps.f0xx.org/app/androidcast_project/issues/`
(`ac-mobile-android``BackendEndpoints.ISSUES_BASE`). For lab QA, override upload URL in app settings or build flavor.
After migration, **minor app/BE version will bump**; unreleased older mobile builds may be rejected by lab/prod — always build from current `next`.
## Tests
- Android unit: `./gradlew :app:testDebugUnitTest` (from `ac-mobile-android` checkout).
- Cluster verify: `ac-deploy/sim/cluster0/scripts/verify_lab_setup.sh --local` / `--cluster`.