What’s Included
| Component | Version | Details |
|---|---|---|
| nginx | Latest (Ubuntu 24.04) | Web server, auto-starts on boot |
| git | Latest | Version control |
| SSH | OpenSSH | Access via dedicated port |
Directory Structure
- App Root:
/home/instapod/app - Public Root:
/home/instapod/app(same — everything is public) - Port: 80 (nginx)
- nginx config:
/etc/nginx/sites-available/default
Deploying Your Site
Upload Files
SCP
Git Clone (via Terminal)
Reloading
After updating files, reload nginx to pick up configuration changes:For static files, nginx serves them directly — no reload is needed for simple HTML/CSS/JS changes. Only reload if you’ve modified the nginx configuration.
Single-Page Applications (SPA)
The default nginx config usestry_files $uri $uri/ =404, which returns 404 for routes that don’t match a file. For SPAs with client-side routing (React Router, Vue Router, etc.), you need to redirect all requests to index.html.
Connect via SSH or the web terminal and update the nginx config:
/about or /dashboard serve your index.html, letting your JavaScript router handle them.
Use Cases
- Static HTML/CSS/JS websites
- Single-page applications (React, Vue, Svelte builds)
- Documentation sites (VitePress, Docusaurus output)
- Landing pages and marketing sites
- File hosting