# Deployment Files The hosting deployment is built by `scripts/build-deploy-artifact.sh` into `build/deploy/`. Included: - `app/` - `bootstrap/` - `public/` - `routes/` - `vendor/` - `composer.json` - `composer.lock` - `spark` - `preload.php` - `writable/.htaccess` - `writable/index.html` - `writable/.gitkeep` - `writable/*/.gitkeep` - `writable/tcpdf_fonts/` Excluded: - `.git/` - `.gitea/` - `.env` and local env backups - `tests/` - `Database_Dump/` - `build/` except the generated deploy artifact during CI - documentation/planning files - local scripts that are not needed at runtime - runtime cache, logs, sessions, uploads, and generated reports The server keeps its own `.env` and runtime `writable/` contents. The deploy job syncs from `build/deploy/` and excludes mutable writable subdirectories so production data is not overwritten. ## Gitea Package The deploy workflow also archives `build/deploy/` and publishes it to Gitea Packages as a generic package: - Package name: `alrahma_sunday_school` - Version format: `{branch}-{run_number}-{short_sha}` - File format: `alrahma_sunday_school-{version}.tar.gz` Required repository secrets for package publishing: - `GITEAPACKAGEUSER` - `GITEAPACKAGETOKEN` Optional repository secrets: - `GITEA_BASE_URL` - defaults to `https://192.168.3.80`. - `GITEA_PACKAGE_OWNER` - defaults to `melabidi`. The token must have permission to publish packages for the package owner.