1-Click Apps run as a managed service inside your pod (their own systemd units), not from
/home/instapod/app. You still get a Web Terminal, SSH, custom domains, and backups like any other pod.Deploying an app
- Dashboard
- API
- Click Create Pod and choose the 1-Click App tab.
- Pick an app (n8n, AutoMem, Vaultwarden, Uptime Kuma, and more).
- Choose a plan. Each app has a minimum plan based on the resources it needs - the wizard preselects it for you.
- Fill in any optional setup fields the app exposes (for example, an API key), then click Deploy.
Finishing setup after deploy
Some apps can’t be fully configured before they exist. An app that talks to a third party usually needs a callback URL - and that URL contains the pod’s own domain, which isn’t known until the pod is created. For those apps, the pod page shows a setup card listing exactly what the app is asking for: each variable’s name, what it’s for, whether it’s required, and whether it already has a value. Where a variable needs your pod’s address, the description spells the URL out in full so you can paste it straight into the other service. Fill the fields in and save. InstaPods writes the values to the app’s own env file and restarts the app. The card keeps prompting until every required variable has a value.“Required” means required before the app is usable - not required to deploy. You can always create the pod first and finish setup afterwards.
GET response includes complete: true once every required variable is set. Only variables the app declares are accepted - this is a guided form, not a general env editor, and for that you want instapods env set. A variable marked secret is never echoed back; the response only tells you whether it has a value.
Leaving a field blank keeps whatever value is already there, so you can update one variable without resupplying the rest.
Updating an app
When a new version of an app is released, the pod shows an Update Available badge. Updating is one click, and it’s guarded. Before touching anything, InstaPods snapshots the pod. If the update fails, or the app doesn’t come back healthy afterwards, the snapshot is rolled back automatically and the pod is marked Update Rolled Back - you’re left on the version that was working, not on a broken half-upgrade.- Dashboard
- API
Open the pod and click Update on the app card. The status moves through Updating to either the new version or Update Rolled Back, which turns the button into Retry Update.
Some apps need more memory to update than to run - a build step during the upgrade can exceed a small plan. If the pod is too small, the update is refused up front, before the running app is stopped, and tells you which plan it needs.
POST /api/pods/{name}/apps/{appType}/stop and .../start.
Configuring an app with environment variables
1-Click Apps read their configuration from their own env file (not the preset’s/home/instapod/app/.env). The CLI handles this for you - instapods env set writes to the right file and restarts the app so the change takes effect immediately. No separate reload is needed.
For custom-code pods (Static, PHP, Node.js, Python, Go),
instapods env set writes to /home/instapod/app/.env and restarts the app service for you. Your app still has to read that file - see Environment Variables for the one line each stack needs.Example: AutoMem embeddings and MCP
AutoMem gives your AI assistant persistent memory over MCP, backed by a knowledge graph and a vector database.Choosing an embedding provider
By default AutoMem uses local embeddings (384-dimensional) - no API key required, fully self-contained. For higher-quality semantic search, point it at a remote provider:
Set these at deploy time (in the app’s setup fields or
app_config) and AutoMem provisions its vector store at the matching dimension automatically.