{"id":18248,"date":"2026-04-12T07:46:40","date_gmt":"2026-04-12T07:46:40","guid":{"rendered":"https:\/\/evoseedbox.com\/wiki\/docker-app-management-seedbox-pt-pt\/"},"modified":"2026-04-12T07:46:40","modified_gmt":"2026-04-12T07:46:40","password":"","slug":"docker-app-management-seedbox-pt-pt","status":"publish","type":"docs","link":"https:\/\/evoseedbox.com\/pt-pt\/wiki\/docker-app-management-seedbox-pt-pt\/","title":{"rendered":"Docker App Management: How Your Seedbox Apps Work"},"content":{"rendered":"\n<p>Most apps on your EvoSeedbox run inside Docker containers \u2014 isolated environments that keep each app&#8217;s files and settings separate. This guide explains how Docker works on your seedbox, how to manage your containers, and how to troubleshoot app issues. You don&#8217;t need to know Docker to use your seedbox, but understanding the basics helps when things go wrong.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How Docker Works on Your Seedbox<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\n  YOUR SEEDBOX ARCHITECTURE\n  \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n  Your Seedbox Server\n  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n  \u2502                                                     \u2502\n  \u2502  rTorrent (native)      ruTorrent (native)          \u2502\n  \u2502  \u2514\u2500\u2500 downloads\/         \u2514\u2500\u2500 web interface           \u2502\n  \u2502                                                     \u2502\n  \u2502  Docker Engine                                      \u2502\n  \u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u2502\n  \u2502  \u2502 Sonarr  \u2502 \u2502 Radarr  \u2502 \u2502  Plex   \u2502 \u2502Jellyfin \u2502  \u2502\n  \u2502  \u2502 :8989   \u2502 \u2502 :7878   \u2502 \u2502 :32400  \u2502 \u2502 :8096   \u2502  \u2502\n  \u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2502\n  \u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u2502\n  \u2502  \u2502Prowlarr \u2502 \u2502 Lidarr  \u2502 \u2502 Bazarr  \u2502 \u2502 Autobrr \u2502  \u2502\n  \u2502  \u2502 :9696   \u2502 \u2502 :8686   \u2502 \u2502 :6767   \u2502 \u2502 :7474   \u2502  \u2502\n  \u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2502\n  \u2502                                                     \u2502\n  \u2502  Each container is isolated with its own:           \u2502\n  \u2502  \u2022 Config files  \u2022 Network port  \u2022 File access      \u2502\n  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">App Lifecycle<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\n  APP INSTALLATION &amp; MANAGEMENT\n  \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n  Client Area: \"Install\"\n       \u2502\n       \u25bc\n  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n  \u2502 Docker pulls image      \u2502     Downloads the app\n  \u2502 Creates container       \u2502     from Docker registry\n  \u2502 Mounts your directories \u2502\n  \u2502 Assigns unique port     \u2502\n  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n            \u2502\n            \u25bc\n  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n  \u2502 SSL proxy configured    \u2502     HTTPS access via\n  \u2502 (Nginx\/Caddy)           \u2502     your-server:PORT\n  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n            \u2502\n            \u25bc\n  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n  \u2502 Health monitoring       \u2502     Auto-restarts\n  \u2502 (every 30 seconds)      \u2502     if app crashes\n  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\n  Container states:\n  \ud83d\udfe2 Running    \u2014 App is working normally\n  \ud83d\udfe1 Restarting \u2014 App crashed, auto-recovering\n  \ud83d\udd34 Exited     \u2014 App stopped, needs attention\n  \u26aa Created    \u2014 Installed but not started\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Where App Data Lives<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\n  APP DATA LOCATIONS\n  \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n  \/home\/your_user\/\n  \u2502\n  \u251c\u2500\u2500 downloads\/              \u25c0\u2500\u2500 Shared across all apps\n  \u2502   \u251c\u2500\u2500 movies\/                 rTorrent, Sonarr, Radarr\n  \u2502   \u251c\u2500\u2500 tv-shows\/               all read\/write here\n  \u2502   \u2514\u2500\u2500 music\/\n  \u2502\n  \u251c\u2500\u2500 .config\/                \u25c0\u2500\u2500 Per-app config\n  \u2502   \u251c\u2500\u2500 sonarr\/                 Database, settings,\n  \u2502   \u2502   \u251c\u2500\u2500 config.xml          API keys stored here\n  \u2502   \u2502   \u2514\u2500\u2500 sonarr.db\n  \u2502   \u251c\u2500\u2500 radarr\/\n  \u2502   \u251c\u2500\u2500 prowlarr\/\n  \u2502   \u251c\u2500\u2500 lidarr\/\n  \u2502   \u2514\u2500\u2500 plex\/\n  \u2502       \u2514\u2500\u2500 Library\/\n  \u2502           \u2514\u2500\u2500 (metadata, thumbnails)\n  \u2502\n  \u2514\u2500\u2500 userdockers\/            \u25c0\u2500\u2500 Some apps use this\n      \u2514\u2500\u2500 app-name\/               for config instead\n          \u2514\u2500\u2500 config\/\n\n  \u26a0\ufe0f Don't delete .config folders!\n  They contain your app databases and settings.\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Managing Apps with Portainer<\/h2>\n\n\n\n<p>If you have <a href=\"\/wiki\/portainer-docker-management\/\">Portainer<\/a> installed, you can manage your containers visually:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>View all containers<\/strong> \u2014 See status, CPU\/memory usage, port mappings<\/li>\n<li><strong>Start\/Stop\/Restart<\/strong> \u2014 Control individual containers<\/li>\n<li><strong>View logs<\/strong> \u2014 See app error messages for troubleshooting<\/li>\n<li><strong>Inspect<\/strong> \u2014 View environment variables, mounts, network settings<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Auto-Healing System<\/h2>\n\n\n\n<p>Your seedbox has an automatic maintenance system that runs continuously:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n  AUTOMATIC MAINTENANCE\n  \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n  Every 30 seconds:\n  \u2514\u2500\u2500 Health check all containers\n      \u251c\u2500\u2500 Healthy \u2713 \u2192 do nothing\n      \u2514\u2500\u2500 Unhealthy \u2192 auto-restart\n\n  Every 5 minutes:\n  \u251c\u2500\u2500 Check for root-owned rTorrent (blocks ports)\n  \u251c\u2500\u2500 Check for stale processes (orphaned htop, etc)\n  \u2514\u2500\u2500 Verify DNS resolution works\n\n  Every hour:\n  \u251c\u2500\u2500 Sync Filegator user list\n  \u251c\u2500\u2500 Sync WireGuard peer configs\n  \u251c\u2500\u2500 Fix Docker healthcheck configs\n  \u251c\u2500\u2500 Fix file permissions\n  \u2514\u2500\u2500 Check\/fix Nginx SSL proxy cache\n\n  Every 24 hours:\n  \u251c\u2500\u2500 Update Apache timeout settings\n  \u2514\u2500\u2500 Verify system packages\n\n  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n  \u2502  Most app issues resolve automatically within    \u2502\n  \u2502  minutes. If something breaks, wait 5 minutes    \u2502\n  \u2502  before contacting support.                      \u2502\n  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">App Shows 502\/503 Error<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\n  502\/503 DIAGNOSTIC\n  \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n  502 Bad Gateway \/ 503 Service Unavailable\n       \u2502\n       \u251c\u2500\u2500 Wait 2-3 minutes\n       \u2502   \u2514\u2500\u2500 Auto-heal may fix it \u2713\n       \u2502\n       \u251c\u2500\u2500 Still broken?\n       \u2502   \u251c\u2500\u2500 Restart from client area dashboard\n       \u2502   \u2514\u2500\u2500 Or restart via Portainer\n       \u2502\n       \u2514\u2500\u2500 Still broken after restart?\n           \u251c\u2500\u2500 Check disk space (full disk = app can't write)\n           \u2514\u2500\u2500 Contact support\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">App Lost Settings After Restart<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Settings are stored in <code>~\/.config\/app-name\/<\/code>. If this folder was deleted, settings are gone<\/li>\n<li>Check if the config database file exists (e.g., <code>sonarr.db<\/code>, <code>radarr.db<\/code>)<\/li>\n<li>Some apps need to be reconfigured after a corrupted database. Contact support for recovery<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Can&#8217;t Install New Apps<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Check your <a href=\"\/wiki\/disk-usage-quotas-seedbox\/\">disk quota<\/a> \u2014 Docker images need space to download<\/li>\n<li>If the Install button doesn&#8217;t change to &#8220;Open&#8221; after 5 minutes, try refreshing the page<\/li>\n<li>Some apps are only available on certain plans. Check the app availability in your plan details<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Tips<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Don&#8217;t modify container configs via SSH<\/strong> unless you know what you&#8217;re doing. Use the app&#8217;s web interface for settings<\/li>\n<li><strong>Back up before major changes<\/strong> \u2014 Your <code>.config<\/code> folder is your app data. Consider <a href=\"\/wiki\/rclone-gdrive-setup\/\">backing it up to Google Drive<\/a><\/li>\n<li><strong>Uninstall unused apps<\/strong> \u2014 Each running container uses memory and CPU. Remove apps you don&#8217;t use<\/li>\n<li><strong>Use Homarr<\/strong> \u2014 <a href=\"\/wiki\/homarr-dashboard-seedbox\/\">Set up Homarr<\/a> as a dashboard to see all your apps and their status in one place<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Related Guides<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/wiki\/docker-beginners-seedbox-guide\/\">Docker for Beginners<\/a><\/li>\n<li><a href=\"\/wiki\/portainer-docker-management\/\">Portainer: Docker Management<\/a><\/li>\n<li><a href=\"\/wiki\/homarr-dashboard-seedbox\/\">Homarr Dashboard<\/a><\/li>\n<li><a href=\"\/wiki\/getting-started-with-one-click-installs\/\">One-Click Installs<\/a><\/li>\n<li><a href=\"\/wiki\/disk-usage-quotas-seedbox\/\">Disk Usage &amp; Quotas<\/a><\/li>\n<\/ul>\n\n","protected":false},"excerpt":{"rendered":"<p>Most apps on your EvoSeedbox run inside Docker containers \u2014 isolated environments that keep each app&#8217;s files and settings separate. This guide [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"doc_category":[],"doc_tag":[],"class_list":["post-18248","docs","type-docs","status-publish","hentry"],"year_month":"2026-04","word_count":589,"total_views":"3","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"Tim Michels","author_nicename":"admin","author_url":"https:\/\/evoseedbox.com\/pt-pt\/author\/admin\/"},"doc_category_info":[],"doc_tag_info":[],"knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/evoseedbox.com\/pt-pt\/wp-json\/wp\/v2\/docs\/18248","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/evoseedbox.com\/pt-pt\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/evoseedbox.com\/pt-pt\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/evoseedbox.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/evoseedbox.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=18248"}],"version-history":[{"count":0,"href":"https:\/\/evoseedbox.com\/pt-pt\/wp-json\/wp\/v2\/docs\/18248\/revisions"}],"wp:attachment":[{"href":"https:\/\/evoseedbox.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=18248"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/evoseedbox.com\/pt-pt\/wp-json\/wp\/v2\/doc_category?post=18248"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/evoseedbox.com\/pt-pt\/wp-json\/wp\/v2\/doc_tag?post=18248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}