- Add Dockerfile, docker-compose.yml, .dockerignore, .env (port 3842) - Add Caddyfile.snippet for analytics gateway import pattern - Add .gitea/workflows/deploy.yaml for act_runner SSH deploy - Untrack sensitive/data files (SCPA xlsx, owners.rds) - Add renv lockfile and infrastructure files - Reorganize data-raw scripts and add SarasotaCounty boundary data - Move www assets to www/images/, add docs PDFs
1.2 KiB
1.2 KiB
TODO
App
- Display
last_sale_dateattribute fromowners.rdssomewhere in the UI so users know how current the ownership data is
Data
- Verify SCPA Public.xlsx column structure is stable across downloads
- Delete app from shinyapps.io (account: rob-wiederstein, appId: 14173710)
- Add cron job to run
update_owners.Rweekly inside the rstudio container:docker exec rstudio Rscript /home/rstudio/projects/r/stAndrews/data-raw/update_owners.RNote: app must reloadowners.rdsafter refresh — either restart container or make app reactive to file changes
Deployment
Everything must be scripted from within the project folder. No manual steps on the server outside of what the workflow handles.
- Create Dockerfile (follow veniceProp pattern —
rocker/shiny:4.5.2) - Create docker-compose.yml (bind to
127.0.0.1:<port>:3838) - Create
.gitea/workflows/deploy.yamlthat: - Builds the Docker image - Runsdocker compose up -d- SSHes into analytics VM and idempotently adds route to gateway Caddyfile - Restarts the gateway container - Push to Gitea — act_runner handles all future deploys automatically