{
"version": "3",
"templates": [
{
"type": 3,
"title": "AsoBeast",
"name": "asobeast",
"description": "App Store Optimization for iOS and Android apps: tracks your App Store and Google Play keyword rankings every day, along with competitors, reviews and a list of fixes ranked by impact. Source: https://github.com/AsoBeast/asobeast",
"categories": ["Analytics", "Monitoring"],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/AsoBeast/asobeast/main/assets/android-chrome-512x512.png",
"restart_policy": "unless-stopped",
"repository": {
"url": "https://github.com/AsoBeast/asobeast",
"stackfile": "docker-compose.portainer.yml"
},
"env": [
{
"name": "POSTGRES_PASSWORD",
"label": "Database password (required, letters and digits only)",
"description": "Generate one with: openssl rand -hex 32. It goes into the database URL unencoded, so characters such as # @ / : % break the connection. Keep it the same on every redeploy, or the API can't reach its database."
},
{
"name": "AUTH_SECRET",
"label": "Session secret (required, 32+ characters)",
"description": "Signs sign-in sessions. Generate one with: openssl rand -hex 32. The API refuses to start when it is shorter than 32 characters."
},
{
"name": "ASOBEAST_PORT",
"label": "Host port for the web UI",
"description": "The port on this machine AsoBeast answers on. Keep 3001 unless another service already uses it. An address you type below must use the same port.",
"default": "3001"
},
{
"name": "WEB_PUBLIC_URL",
"label": "Address you open AsoBeast at",
"description": "Builds the links in alert, confirmation and password reset emails. Leave it empty to use http://localhost on the host port above, or enter your https address when AsoBeast sits behind a reverse proxy."
},
{
"name": "TRUST_PROXY",
"label": "Reverse proxies in front of AsoBeast",
"description": "The number of proxies you control between the internet and AsoBeast, so rate limits see each visitor's own address.",
"select": [
{
"text": "None, AsoBeast's port is reached directly",
"value": "0",
"default": true
},
{
"text": "One reverse proxy",
"value": "1"
},
{
"text": "Two reverse proxies",
"value": "2"
}
]
}
],
"note": "Set a database password and a session secret before you deploy. openssl rand -hex 32 makes both, and the stack won't start without them. AsoBeast listens on the host port you choose, 3001 unless you change it. Its session cookie is always secure, so sign in over https: put a reverse proxy with a certificate in front and set the address and proxy count above. Chrome and Firefox also accept it on http://localhost:3001 (or your port), which works from another machine through ssh -N -L 3001:localhost:3001 you@<your-host>, with the second 3001 replaced by your host port when you changed it. The first account created at /register becomes the owner and registration closes after that, so create it right away. Any other API setting, such as SMTP or OpenAI, goes in as an extra environment variable on the stack. Data lives in the <stack name>_pgdata and <stack name>_redisdata volumes, and the stack needs about 2.5 GB of memory. To update, back up, then pull and redeploy the stack: the compose file on main pins the current release. Docs: docs.asobeast.com/install/published-images"
}
]
}