init
This commit is contained in:
commit
b15b95781c
108 changed files with 14802 additions and 0 deletions
74
DEVELOPMENT_WORKFLOW.md
Normal file
74
DEVELOPMENT_WORKFLOW.md
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# 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.yml` if 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 `.env` or 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue