1.8 KiB
1.8 KiB
Update Server - Development Workflow
Recommendation
Start development locally on your Mac.
Only move to Proxmox after the first complete flow works:
- admin login;
- create project;
- upload release;
- create API key;
- download release through API.
This is the fastest and least painful path.
Why not start directly on Proxmox
- slower iteration cycle;
- harder debugging;
- extra network and proxy setup too early;
- file upload and local logs are less convenient while the app is changing a lot.
Recommended workflow
Stage 1 - Local development on Mac
- keep the whole project in one directory;
- run Go locally;
- store local dev data in a project folder like
./data-dev; - use SQLite locally;
- build the admin pages and API here first.
Stage 2 - Local container verification
- add
Dockerfile; - add
docker-compose.ymlif needed; - verify the app runs with mounted
/data; - verify uploads and DB survive container restart.
Stage 3 - Deploy to Proxmox
- create VM or LXC;
- run app container;
- mount persistent storage for
/data; - place Caddy or Nginx in front for HTTPS;
- expose only the reverse proxy to the internet;
- optionally protect admin UI by IP allow-list or VPN.
Local development checklist
- install Go
- initialize module
- add SQLite migrations
- create
.envor env loader for dev values - run server locally
- test upload/download with browser and
curl - only then freeze container setup
Deployment checklist
- persistent volume for SQLite and artifacts
- HTTPS configured
- strong
SESSION_SECRET - bootstrap admin credentials
- backup strategy for
/data - logs enabled
- rate limiting enabled
Final recommendation
Develop on Mac first.
Use Proxmox as the deployment target, not as the primary coding environment.