Directory Layout¶
Understanding where things live on the server helps with debugging and advanced usage.
Your App's Files¶
When you deploy, Plitho creates a directory for your app:
/home/plitho-{app}/
├── app/ # Your git checkout (reset on every deploy)
├── data/ # Persistent storage (survives deploys)
├── env/ # Dependencies (node_modules, virtualenv)
└── logs/ # Process output
├── web.log # Main process logs
└── worker.log # Background process logs
app/¶
Your code lives here. On each deploy, this directory is reset to a fresh checkout of your git repo. Don't store anything here that you need to persist.
data/¶
Persistent storage that survives deploys. Use this for:
- Uploaded files
- SQLite databases
- Any data that shouldn't be lost on deploy
This directory is yours — Plitho never touches it.
env/¶
Dependencies are installed here:
- Node.js:
node_modules/ - Python:
virtualenv/
This directory is recreated on each deploy.
logs/¶
Process output from your app. Accessible via:
- The dashboard (Apps → your app → Logs)
- SSH:
ssh -p 2222 plitho@your-server log myapp
Logs survive redeployments.
Server-Level Paths¶
These are managed by the server administrator:
| Path | Purpose |
|---|---|
~/.plitho/plitho.db |
State database (apps, users, sessions) |
~/.plitho/repos/{app}/ |
Bare git repositories |
~/.plitho/acme/ |
SSL certificates |
~/.plitho/ssh_host_ed25519_key |
SSH host key |
~/.ssh/authorized_keys |
Your authorized deploy keys |
Environment Variables¶
| Variable | Default | Purpose |
|---|---|---|
PLITHO_SSH_ADDR |
0.0.0.0:2222 |
SSH server address |
PLITHO_HTTP_ADDR |
0.0.0.0:8080 |
Dashboard address |