Skip to main content
1-Click Apps are popular open-source applications pre-packaged for InstaPods. Instead of writing code, you pick an app from the catalog and deploy it - the app is baked into a ready-to-run image, so it boots in seconds with sensible defaults and per-pod credentials already generated.
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

  1. Click Create Pod and choose the 1-Click App tab.
  2. Pick an app (n8n, AutoMem, Vaultwarden, Uptime Kuma, and more).
  3. Choose a plan. Each app has a minimum plan based on the resources it needs - the wizard preselects it for you.
  4. Fill in any optional setup fields the app exposes (for example, an API key), then click Deploy.
When the pod is ready, the dashboard shows a setup card with the app URL and any generated credentials.
Each app declares a minimum plan. If you pick a plan below it, the deploy is rejected - choose at least the app’s minimum (for example, AutoMem requires Grow).

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.
Over the API:
The 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.
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.
You can also stop and start a 1-Click App without stopping the whole pod, with 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.
To switch providers after deploy, run instapods env set my-memory EMBEDDING_PROVIDER=openai OPENAI_API_KEY=sk-your-key. Because the vector dimension changes, also reset the existing vector store so it is recreated at the new size:

Connecting an MCP client

After deploy, AutoMem’s setup card shows an MCP config snippet with your pod URL and API key pre-filled. Add it to your MCP client (for example, Claude Desktop under Settings → Developer → Edit Config):
Use AUTOMEM_API_URL and AUTOMEM_API_KEY exactly. Older variable names (AUTOMEM_URL, AUTOMEM_API_TOKEN) are not read by the bridge and will leave it connecting to nothing.