Sync local state with remote after untracked local evolution
Local site-ai/ had diverged significantly from the last commit pushed to Gitea (new remote-env-setup/remove targets, SITE_CONFIG_DIR/MAIN_REPO split, credential cleanup in server-install.sh, migration docs) without ever being committed. This catches the repo up to what's actually on disk. Also untracks the legacy user/ subtree left over from before content was split into its own standalone repo (natascha-rieter.nl-user) — user/ is gitignored here and stays a separate git repo, unaffected by this commit.
This commit is contained in:
@@ -8,3 +8,30 @@
|
||||
|
||||
- **_resources/**: Contains html, css files and fonts
|
||||
- **./**: Grav CMS for natascha-rieter.nl
|
||||
|
||||
### Environment
|
||||
|
||||
**Never read `.env`** — it contains sensitive credentials. You may pass it to commands (e.g. `docker compose`, `make`) but never read its contents directly. Ask the user if you need environment-specific information.
|
||||
|
||||
### Remote operations
|
||||
|
||||
Always use `make` commands for anything on the production server (`make remote-install-plugins`, `make remote-clean`, etc.) — never SSH directly since credentials live in `.env`. If a remote operation isn't covered by an existing `make` command, either ask the user to run it manually or suggest adding a new `make` command if it seems reusable.
|
||||
|
||||
### Content sync
|
||||
|
||||
- `make content-push` — commit and push `user/` to Gitea (triggers production pull via webhook)
|
||||
- `make content-pull` — pull latest from Gitea to local
|
||||
- `plugins.txt` is manually maintained — installing a plugin via Admin does NOT update it
|
||||
|
||||
### git-sync direction (per environment)
|
||||
|
||||
`sync.direction` in `user/config/plugins/git-sync.yaml` is shared/synced, so setting it there fights between environments (this caused a production outage: `direction: pull` synced everywhere and silently disabled production's pushes for days). The fix is Grav's `user/env/<hostname>/config/...` override path — it's outside git-sync's tracked folders and gitignored (`user/.gitignore` only allow-lists `pages/`, `themes/`, `config/`, `accounts/`), so it never syncs and is safe to pin per machine.
|
||||
|
||||
- `make configure-env-local` — pins this local checkout to `direction: pull` (never pushes)
|
||||
- `make remote-configure-env` — pins production (`REMOTE_ENV_HOST`, default `nieuw.natascha-rieter.nl`) to `direction: both`
|
||||
|
||||
Re-run `configure-env-local` after a fresh clone or a wiped local checkout — the override files are intentionally untracked, so they don't survive a re-clone on their own.
|
||||
|
||||
### User repo gitignore
|
||||
|
||||
Only these folders are tracked in the `user/` Git repo: `pages/`, `config/`, `accounts/`, `themes/`. The `plugins/` and `data/` folders are excluded.
|
||||
|
||||
Reference in New Issue
Block a user