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
- 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.
When the pod is ready, the dashboard shows a setup card with the app URL and any generated credentials.Pass app_type (and optional app_config for the app’s setup variables) when creating a pod:curl -X POST https://app.instapods.com/api/pods \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "my-memory",
"plan_slug": "grow",
"app_type": "automem",
"app_config": {
"EMBEDDING_PROVIDER": "openai",
"OPENAI_API_KEY": "sk-your-key"
}
}'
The keys allowed in app_config are the app’s setup variables (see the app’s deploy form for the list).
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).
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.
# Set one or more variables (the app restarts automatically)
instapods env set my-memory EMBEDDING_PROVIDER=openai OPENAI_API_KEY=sk-your-key
# List current variables (values masked by default)
instapods env list my-memory
instapods env list my-memory --show-values
# Remove variables
instapods env unset my-memory OLD_KEY
For custom-code pods (Static, PHP, Node.js, Python), instapods env set writes to your app directory and you restart with instapods pods reload. See Environment Variables for the full custom-code workflow.
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:
| Provider | EMBEDDING_PROVIDER | Key variable | Dimensions |
|---|
| Local (default) | (blank) | none | 384 |
| OpenAI | openai | OPENAI_API_KEY | 1024 |
| Voyage AI | voyage | VOYAGE_API_KEY | 1024 |
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:instapods exec my-memory -- bash -c \
"curl -fsS -X DELETE http://127.0.0.1:6333/collections/memories && systemctl restart automem.target"
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):
{
"mcpServers": {
"automem": {
"command": "npx",
"args": ["-y", "@verygoodplugins/mcp-automem"],
"env": {
"AUTOMEM_API_URL": "https://your-pod.instapods.app",
"AUTOMEM_API_KEY": "your-api-key"
}
}
}
}
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.