# natascha-rieter.nl — Grav CMS ## Local development Requires Docker. To set up from scratch: ``` make setup ``` This starts the container and installs all plugins listed in `plugins.txt` via GPM. Other commands: ``` make start # start the container make stop # stop the container make install-plugins # (re)install plugins from plugins.txt ``` Site runs at http://localhost:8080. ## Repository structure | Path | Description | In git | |------|-------------|--------| | `user/config/` | Site and plugin configuration | yes | | `user/pages/` | Page content | yes (see deployment note) | | `user/themes/natascha/` | Custom theme | yes | | `user/plugins/` | Plugins (see plugins.txt) | no | | `user/accounts/` | Admin credentials | no | | `user/data/` | Runtime data | no | | `user/cache/` | Generated cache | no | ## Deployment Production is shared hosting. Deploy via FTP. ### Initial deploy Upload the full `user/` directory (including locally installed plugins from `user/plugins/`). ### Subsequent deploys **Only upload** `user/themes/` and `user/config/`. Do **not** overwrite `user/pages/` — content is managed online by editors after go-live and a deploy would overwrite their changes. > **Future improvement**: once the site is live and content is stable, move `user/pages/` to `.gitignore` entirely (Option 1). Content backups should be handled separately (e.g. a server-side backup solution), not via git. ## Plugins Plugins are not committed to git. The full list is in `plugins.txt`. To install locally, run `make install-plugins`. On the production server, plugins must be uploaded manually (no CLI access on shared hosting).