Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. Discuss
  3. Running Cloudron on eMMC – How to Reduce Writes?

Running Cloudron on eMMC – How to Reduce Writes?

Scheduled Pinned Locked Moved Solved Discuss
15 Posts 4 Posters 533 Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • nebulonN nebulon

    It is a bit to tinker, but you can see all locations Cloudron mostly writes to at https://docs.cloudron.io/storage/#default-data-directory and you could relocate those to the M.2 drive then (see relocate section in the docs page)

    Further for swap you may also just add the swapfile onto the M.2 drive.

    WiseMetalheadW Offline
    WiseMetalheadW Offline
    WiseMetalhead
    translator
    wrote on last edited by
    #3

    @nebulon said in Running Cloudron on eMMC – How to Reduce Writes?:

    see relocate section in the docs page

    Thank you! I managed to move everything except the swap. I'm still not entirely sure about the correct steps for that. As for the Docker images — I haven’t moved them yet, since they don’t take up enough space to be a problem at this point.

    WiseMetalheadW 1 Reply Last reply
    0
    • nebulonN Offline
      nebulonN Offline
      nebulon
      Staff
      wrote on last edited by
      #4

      Great. For swap you can follow the docs at https://docs.cloudron.io/storage/#swap just make sure the swapfile is located within the other disk.

      WiseMetalheadW 1 Reply Last reply
      1
      • nebulonN nebulon

        Great. For swap you can follow the docs at https://docs.cloudron.io/storage/#swap just make sure the swapfile is located within the other disk.

        WiseMetalheadW Offline
        WiseMetalheadW Offline
        WiseMetalhead
        translator
        wrote on last edited by
        #5

        @nebulon said in Running Cloudron on eMMC – How to Reduce Writes?:

        make sure the swapfile is located within the other disk

        Great, everything’s working now. Thanks again!

        1 Reply Last reply
        2
        • WiseMetalheadW WiseMetalhead

          @nebulon said in Running Cloudron on eMMC – How to Reduce Writes?:

          see relocate section in the docs page

          Thank you! I managed to move everything except the swap. I'm still not entirely sure about the correct steps for that. As for the Docker images — I haven’t moved them yet, since they don’t take up enough space to be a problem at this point.

          WiseMetalheadW Offline
          WiseMetalheadW Offline
          WiseMetalhead
          translator
          wrote last edited by james
          #6

          said in Running Cloudron on eMMC – How to Reduce Writes?:

          As for the Docker images — I haven’t moved them yet, since they don’t take up enough space to be a problem at this point.

          So, I finally decided to move Docker images to my main SSD.

          Unfortunately, after completing the steps, Cloudron didn’t fully start up. I could access the dashboard, but only a few services were running — cloudron, docker, unbound, and nginx. The logs were also filled with errors.

          2025-10-14T14:19:49.974Z box:platform onActivated: starting post activation services
          2025-10-14T14:19:49.974Z box:platform startInfra: checking infrastructure
          2025-10-14T14:19:49.975Z box:platform startInfra: updating infrastructure from 49.8.1 to 49.8.0
          2025-10-14T14:19:49.975Z box:platform markApps: reconfiguring apps
          2025-10-14T14:19:49.975Z box:reverseproxy removeAppConfigs: removing app nginx configs
          2025-10-14T14:19:50.030Z box:platform removeAllContainers: removing all containers for infra upgrade
          2025-10-14T14:19:50.030Z box:shell platform: docker ps -qa --filter label=isCloudronManaged
          2025-10-14T14:19:50.046Z box:platform createDockerNetwork: recreating docker network
          2025-10-14T14:19:50.046Z box:shell platform: docker network rm -f cloudron
          2025-10-14T14:19:50.326Z box:shell platform: docker network create --subnet=172.18.0.0/16 --ip-range=172.18.0.0/20 --gateway=172.18.0.1 --ipv6 --subnet=fd00:c107:d509::/64 cloudron
          2025-10-14T14:19:50.514Z box:services startServices: 49.8.1 -> 49.8.0. starting all services
          2025-10-14T14:19:50.514Z box:mailserver startMail: starting
          2025-10-14T14:19:50.518Z box:mailserver restart: restarting mail container with mailFqdn:my.DOMAIN.ru mailDomain:lvcloud.ru
          2025-10-14T14:19:50.522Z box:locks write: current locks: {"mail_restart":null}
          2025-10-14T14:19:50.523Z box:locks acquire: mail_restart
          2025-10-14T14:19:50.530Z box:mailserver configureMail: stopping and deleting previous mail container
          2025-10-14T14:19:50.548Z box:mailserver createMailConfig: generating mail config with my.DOMAIN.ru
          2025-10-14T14:19:50.553Z box:mailserver configureMail: starting mail container
          2025-10-14T14:19:50.553Z box:shell mailserver: /bin/bash -c docker run --restart=always -d --name=mail                 --net cloudron                 --net-alias mail                 --log-driver syslog                 --log-opt syslog-address=unix:///home/yellowtent/platformdata/logs/syslog.sock                 --log-opt syslog-format=rfc5424                 --log-opt tag=mail                 -m 3221225472                 --memory-swap -1                 --dns 172.18.0.1                 --dns-search=.                 --ip 172.18.30.4                 -e CLOUDRON_MAIL_TOKEN=8341aa4f76f95c159da68e7b42a2eebccdf3030911053500489402bae83441cb74cafabe0be38274ea1a9fbfdcce53bb60e7ae94a5ffdd134b1eeaabe832334c397b4c93824a0fe51ef1a22b6ae3877be5c930814128680bac06dc410afbf4301791f07dce29fae3d0323e95d247e3ba74ff1229823f4711c0abdee014d414f1                 -e CLOUDRON_RELAY_TOKEN=f40b99d36cb9ad072aafdecd52fabb44c7fb9464e2dc573e9468105143f3d2f2f6efc191cbe8b93b8fea50cb54318081f316464c6abb2d9d82f53a2e9f82b024b74ca69efbef550f7706368ec8c38cb0f6a5980d7883ca95e30eaab3b4dc6476b3305bd87bc9c55fdca16d4d8169500eb2cf4e5bacd54ca7ace2d646fff8f551                 -e LOGLEVEL=info                 -v /home/yellowtent/boxdata/mail:/app/data                 -v /home/yellowtent/platformdata/addons/mail:/etc/mail:ro                 -p 587:2587 -p 993:9993 -p 4190:4190 -p 25:2587 -p 465:2465 -p 995:9995                 --label isCloudronManaged=true                 --read-only -v /run -v /tmp registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536 
          2025-10-14T14:20:40.637Z box:shell mailserver: /bin/bash -c docker run --restart=always -d --name=mail                 --net cloudron                 --net-alias mail                 --log-driver syslog                 --log-opt syslog-address=unix:///home/yellowtent/platformdata/logs/syslog.sock                 --log-opt syslog-format=rfc5424                 --log-opt tag=mail                 -m 3221225472                 --memory-swap -1                 --dns 172.18.0.1                 --dns-search=.                 --ip 172.18.30.4                 -e CLOUDRON_MAIL_TOKEN=8341aa4f76f95c159da68e7b42a2eebccdf3030911053500489402bae83441cb74cafabe0be38274ea1a9fbfdcce53bb60e7ae94a5ffdd134b1eeaabe832334c397b4c93824a0fe51ef1a22b6ae3877be5c930814128680bac06dc410afbf4301791f07dce29fae3d0323e95d247e3ba74ff1229823f4711c0abdee014d414f1                 -e CLOUDRON_RELAY_TOKEN=f40b99d36cb9ad072aafdecd52fabb44c7fb9464e2dc573e9468105143f3d2f2f6efc191cbe8b93b8fea50cb54318081f316464c6abb2d9d82f53a2e9f82b024b74ca69efbef550f7706368ec8c38cb0f6a5980d7883ca95e30eaab3b4dc6476b3305bd87bc9c55fdca16d4d8169500eb2cf4e5bacd54ca7ace2d646fff8f551                 -e LOGLEVEL=info                 -v /home/yellowtent/boxdata/mail:/app/data                 -v /home/yellowtent/platformdata/addons/mail:/etc/mail:ro                 -p 587:2587 -p 993:9993 -p 4190:4190 -p 25:2587 -p 465:2465 -p 995:9995                 --label isCloudronManaged=true                 --read-only -v /run -v /tmp registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536  errored BoxError: /bin/bash exited with code 125 signal null
              at ChildProcess.<anonymous> (/home/yellowtent/box/src/shell.js:72:23)
              at ChildProcess.emit (node:events:519:28)
              at maybeClose (node:internal/child_process:1105:16)
              at ChildProcess._handle.onexit (node:internal/child_process:305:5) {
            reason: 'Shell Error',
            details: {},
            stdout: '',
            stdoutLineCount: 0,
            stderr: "Unable to find image 'registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536' locally\n" +
              'docker: Error response from daemon: Get "https://registry.docker.com/v2/": dial tcp: lookup registry.docker.com on 127.0.0.53:53: read udp 127.0.0.1:54808->127.0.0.53:53: i/o timeout.\n' +
              "See 'docker run --help'.\n",
            stderrLineCount: 3,
            code: 125,
            signal: null
          }
          2025-10-14T14:20:40.644Z box:locks write: current locks: {}
          2025-10-14T14:20:40.644Z box:locks release: mail_restart
          2025-10-14T14:20:40.644Z box:platform startInfra: Failed to start services. retry=false (attempt 0): /bin/bash exited with code 125 signal null
          2025-10-14T14:20:40.644Z box:platform BoxError: /bin/bash exited with code 125 signal null
              at ChildProcess.<anonymous> (/home/yellowtent/box/src/shell.js:72:23)
              at ChildProcess.emit (node:events:519:28)
              at maybeClose (node:internal/child_process:1105:16)
              at ChildProcess._handle.onexit (node:internal/child_process:305:5)
          2025-10-14T14:21:30.394Z box:shell system: swapon --noheadings --raw --bytes --show=type,size,used,name
          2025-10-14T14:21:30.843Z box:shell services: grep -q avx /proc/cpuinfo
          2025-10-14T14:21:30.883Z box:shell services: systemctl is-active unbound
          2025-10-14T14:21:30.907Z box:shell services: systemctl is-active nginx
          2025-10-14T14:21:36.375Z box:mailserver restart: restarting mail container with mailFqdn:my.DOMAIN.ru mailDomain:lvcloud.ru
          2025-10-14T14:21:36.378Z box:locks write: current locks: {"mail_restart":null}
          2025-10-14T14:21:36.378Z box:locks acquire: mail_restart
          2025-10-14T14:21:36.382Z box:mailserver configureMail: stopping and deleting previous mail container
          2025-10-14T14:21:36.386Z box:mailserver createMailConfig: generating mail config with my.DOMAIN.ru
          2025-10-14T14:21:36.388Z box:mailserver configureMail: starting mail container
          2025-10-14T14:21:36.388Z box:shell mailserver: /bin/bash -c docker run --restart=always -d --name=mail                 --net cloudron                 --net-alias mail                 --log-driver syslog                 --log-opt syslog-address=unix:///home/yellowtent/platformdata/logs/syslog.sock                 --log-opt syslog-format=rfc5424                 --log-opt tag=mail                 -m 3221225472                 --memory-swap -1                 --dns 172.18.0.1                 --dns-search=.                 --ip 172.18.30.4                 -e CLOUDRON_MAIL_TOKEN=2e511179a006de6797e4f4aaeb1b26d5bcd61591fa4719d22117f0f26e5e90869e0d06b6fbac980cf9d6b71454e4e77a8ea1b8027ea5de876d3d79c95e7a06a7a6477f9347995d527f32ef1fdcda8dfbbc95a448f672423c679b3debe7f65b2c9c460d5b996044ca0fdc4449242982b7f52989f622a6b9308f97298c167ad7a0                 -e CLOUDRON_RELAY_TOKEN=2b059b06940699c69a0039ad98bd6f6b1fae80e5a5793c97a73efa92517f38707d8d0f5a6ebfa2da41c7a60b0aeebdca285dbfa9b200af1202bf3a0418076dc7bce27dd343eb0f6c8560595806729a9009e53bf9260d155e912e68f2512368bdbc728d8248d962c68b390a903aec7bfde0484e579cfc0812199e4fa079069167                 -e LOGLEVEL=info                 -v /home/yellowtent/boxdata/mail:/app/data                 -v /home/yellowtent/platformdata/addons/mail:/etc/mail:ro                 -p 587:2587 -p 993:9993 -p 4190:4190 -p 25:2587 -p 465:2465 -p 995:9995                 --label isCloudronManaged=true                 --read-only -v /run -v /tmp registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536 
          2025-10-14T14:22:26.468Z box:shell mailserver: /bin/bash -c docker run --restart=always -d --name=mail                 --net cloudron                 --net-alias mail                 --log-driver syslog                 --log-opt syslog-address=unix:///home/yellowtent/platformdata/logs/syslog.sock                 --log-opt syslog-format=rfc5424                 --log-opt tag=mail                 -m 3221225472                 --memory-swap -1                 --dns 172.18.0.1                 --dns-search=.                 --ip 172.18.30.4                 -e CLOUDRON_MAIL_TOKEN=2e511179a006de6797e4f4aaeb1b26d5bcd61591fa4719d22117f0f26e5e90869e0d06b6fbac980cf9d6b71454e4e77a8ea1b8027ea5de876d3d79c95e7a06a7a6477f9347995d527f32ef1fdcda8dfbbc95a448f672423c679b3debe7f65b2c9c460d5b996044ca0fdc4449242982b7f52989f622a6b9308f97298c167ad7a0                 -e CLOUDRON_RELAY_TOKEN=2b059b06940699c69a0039ad98bd6f6b1fae80e5a5793c97a73efa92517f38707d8d0f5a6ebfa2da41c7a60b0aeebdca285dbfa9b200af1202bf3a0418076dc7bce27dd343eb0f6c8560595806729a9009e53bf9260d155e912e68f2512368bdbc728d8248d962c68b390a903aec7bfde0484e579cfc0812199e4fa079069167                 -e LOGLEVEL=info                 -v /home/yellowtent/boxdata/mail:/app/data                 -v /home/yellowtent/platformdata/addons/mail:/etc/mail:ro                 -p 587:2587 -p 993:9993 -p 4190:4190 -p 25:2587 -p 465:2465 -p 995:9995                 --label isCloudronManaged=true                 --read-only -v /run -v /tmp registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536  errored BoxError: /bin/bash exited with code 125 signal null
              at ChildProcess.<anonymous> (/home/yellowtent/box/src/shell.js:72:23)
              at ChildProcess.emit (node:events:519:28)
              at maybeClose (node:internal/child_process:1105:16)
              at ChildProcess._handle.onexit (node:internal/child_process:305:5) {
            reason: 'Shell Error',
            details: {},
            stdout: '',
            stdoutLineCount: 0,
            stderr: "Unable to find image 'registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536' locally\n" +
              'docker: Error response from daemon: Get "https://registry.docker.com/v2/": dial tcp: lookup registry.docker.com on 127.0.0.53:53: read udp 127.0.0.1:51654->127.0.0.53:53: i/o timeout.\n' +
              "See 'docker run --help'.\n",
            stderrLineCount: 3,
            code: 125,
            signal: null
          }
          2025-10-14T14:22:26.474Z box:locks write: current locks: {}
          2025-10-14T14:22:26.474Z box:locks release: mail_restart
          HttpError: /bin/bash exited with code 125 signal null
              at BoxError.toHttpError (/home/yellowtent/box/src/boxerror.js:109:16)
              at restart (/home/yellowtent/box/src/routes/services.js:125:37)
              at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
            status: 500,
            internalError: BoxError: /bin/bash exited with code 125 signal null
                at ChildProcess.<anonymous> (/home/yellowtent/box/src/shell.js:72:23)
                at ChildProcess.emit (node:events:519:28)
                at maybeClose (node:internal/child_process:1105:16)
                at ChildProcess._handle.onexit (node:internal/child_process:305:5) {
              reason: 'Shell Error',
              details: {},
              stdout: '',
              stdoutLineCount: 0,
              stderr: "Unable to find image 'registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536' locally\n" +
                'docker: Error response from daemon: Get "https://registry.docker.com/v2/": dial tcp: lookup registry.docker.com on 127.0.0.53:53: read udp 127.0.0.1:51654->127.0.0.53:53: i/o timeout.\n' +
                "See 'docker run --help'.\n",
              stderrLineCount: 3,
              code: 125,
              signal: null
            },
            details: {}
          }
          

          I reverted everything back for now, and Cloudron is working again. Just wondering — is this section of the documentation still valid for the current Cloudron versions, or could this issue be something specific to my setup?

          J 1 Reply Last reply
          1
          • WiseMetalheadW WiseMetalhead

            said in Running Cloudron on eMMC – How to Reduce Writes?:

            As for the Docker images — I haven’t moved them yet, since they don’t take up enough space to be a problem at this point.

            So, I finally decided to move Docker images to my main SSD.

            Unfortunately, after completing the steps, Cloudron didn’t fully start up. I could access the dashboard, but only a few services were running — cloudron, docker, unbound, and nginx. The logs were also filled with errors.

            2025-10-14T14:19:49.974Z box:platform onActivated: starting post activation services
            2025-10-14T14:19:49.974Z box:platform startInfra: checking infrastructure
            2025-10-14T14:19:49.975Z box:platform startInfra: updating infrastructure from 49.8.1 to 49.8.0
            2025-10-14T14:19:49.975Z box:platform markApps: reconfiguring apps
            2025-10-14T14:19:49.975Z box:reverseproxy removeAppConfigs: removing app nginx configs
            2025-10-14T14:19:50.030Z box:platform removeAllContainers: removing all containers for infra upgrade
            2025-10-14T14:19:50.030Z box:shell platform: docker ps -qa --filter label=isCloudronManaged
            2025-10-14T14:19:50.046Z box:platform createDockerNetwork: recreating docker network
            2025-10-14T14:19:50.046Z box:shell platform: docker network rm -f cloudron
            2025-10-14T14:19:50.326Z box:shell platform: docker network create --subnet=172.18.0.0/16 --ip-range=172.18.0.0/20 --gateway=172.18.0.1 --ipv6 --subnet=fd00:c107:d509::/64 cloudron
            2025-10-14T14:19:50.514Z box:services startServices: 49.8.1 -> 49.8.0. starting all services
            2025-10-14T14:19:50.514Z box:mailserver startMail: starting
            2025-10-14T14:19:50.518Z box:mailserver restart: restarting mail container with mailFqdn:my.DOMAIN.ru mailDomain:lvcloud.ru
            2025-10-14T14:19:50.522Z box:locks write: current locks: {"mail_restart":null}
            2025-10-14T14:19:50.523Z box:locks acquire: mail_restart
            2025-10-14T14:19:50.530Z box:mailserver configureMail: stopping and deleting previous mail container
            2025-10-14T14:19:50.548Z box:mailserver createMailConfig: generating mail config with my.DOMAIN.ru
            2025-10-14T14:19:50.553Z box:mailserver configureMail: starting mail container
            2025-10-14T14:19:50.553Z box:shell mailserver: /bin/bash -c docker run --restart=always -d --name=mail                 --net cloudron                 --net-alias mail                 --log-driver syslog                 --log-opt syslog-address=unix:///home/yellowtent/platformdata/logs/syslog.sock                 --log-opt syslog-format=rfc5424                 --log-opt tag=mail                 -m 3221225472                 --memory-swap -1                 --dns 172.18.0.1                 --dns-search=.                 --ip 172.18.30.4                 -e CLOUDRON_MAIL_TOKEN=8341aa4f76f95c159da68e7b42a2eebccdf3030911053500489402bae83441cb74cafabe0be38274ea1a9fbfdcce53bb60e7ae94a5ffdd134b1eeaabe832334c397b4c93824a0fe51ef1a22b6ae3877be5c930814128680bac06dc410afbf4301791f07dce29fae3d0323e95d247e3ba74ff1229823f4711c0abdee014d414f1                 -e CLOUDRON_RELAY_TOKEN=f40b99d36cb9ad072aafdecd52fabb44c7fb9464e2dc573e9468105143f3d2f2f6efc191cbe8b93b8fea50cb54318081f316464c6abb2d9d82f53a2e9f82b024b74ca69efbef550f7706368ec8c38cb0f6a5980d7883ca95e30eaab3b4dc6476b3305bd87bc9c55fdca16d4d8169500eb2cf4e5bacd54ca7ace2d646fff8f551                 -e LOGLEVEL=info                 -v /home/yellowtent/boxdata/mail:/app/data                 -v /home/yellowtent/platformdata/addons/mail:/etc/mail:ro                 -p 587:2587 -p 993:9993 -p 4190:4190 -p 25:2587 -p 465:2465 -p 995:9995                 --label isCloudronManaged=true                 --read-only -v /run -v /tmp registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536 
            2025-10-14T14:20:40.637Z box:shell mailserver: /bin/bash -c docker run --restart=always -d --name=mail                 --net cloudron                 --net-alias mail                 --log-driver syslog                 --log-opt syslog-address=unix:///home/yellowtent/platformdata/logs/syslog.sock                 --log-opt syslog-format=rfc5424                 --log-opt tag=mail                 -m 3221225472                 --memory-swap -1                 --dns 172.18.0.1                 --dns-search=.                 --ip 172.18.30.4                 -e CLOUDRON_MAIL_TOKEN=8341aa4f76f95c159da68e7b42a2eebccdf3030911053500489402bae83441cb74cafabe0be38274ea1a9fbfdcce53bb60e7ae94a5ffdd134b1eeaabe832334c397b4c93824a0fe51ef1a22b6ae3877be5c930814128680bac06dc410afbf4301791f07dce29fae3d0323e95d247e3ba74ff1229823f4711c0abdee014d414f1                 -e CLOUDRON_RELAY_TOKEN=f40b99d36cb9ad072aafdecd52fabb44c7fb9464e2dc573e9468105143f3d2f2f6efc191cbe8b93b8fea50cb54318081f316464c6abb2d9d82f53a2e9f82b024b74ca69efbef550f7706368ec8c38cb0f6a5980d7883ca95e30eaab3b4dc6476b3305bd87bc9c55fdca16d4d8169500eb2cf4e5bacd54ca7ace2d646fff8f551                 -e LOGLEVEL=info                 -v /home/yellowtent/boxdata/mail:/app/data                 -v /home/yellowtent/platformdata/addons/mail:/etc/mail:ro                 -p 587:2587 -p 993:9993 -p 4190:4190 -p 25:2587 -p 465:2465 -p 995:9995                 --label isCloudronManaged=true                 --read-only -v /run -v /tmp registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536  errored BoxError: /bin/bash exited with code 125 signal null
                at ChildProcess.<anonymous> (/home/yellowtent/box/src/shell.js:72:23)
                at ChildProcess.emit (node:events:519:28)
                at maybeClose (node:internal/child_process:1105:16)
                at ChildProcess._handle.onexit (node:internal/child_process:305:5) {
              reason: 'Shell Error',
              details: {},
              stdout: '',
              stdoutLineCount: 0,
              stderr: "Unable to find image 'registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536' locally\n" +
                'docker: Error response from daemon: Get "https://registry.docker.com/v2/": dial tcp: lookup registry.docker.com on 127.0.0.53:53: read udp 127.0.0.1:54808->127.0.0.53:53: i/o timeout.\n' +
                "See 'docker run --help'.\n",
              stderrLineCount: 3,
              code: 125,
              signal: null
            }
            2025-10-14T14:20:40.644Z box:locks write: current locks: {}
            2025-10-14T14:20:40.644Z box:locks release: mail_restart
            2025-10-14T14:20:40.644Z box:platform startInfra: Failed to start services. retry=false (attempt 0): /bin/bash exited with code 125 signal null
            2025-10-14T14:20:40.644Z box:platform BoxError: /bin/bash exited with code 125 signal null
                at ChildProcess.<anonymous> (/home/yellowtent/box/src/shell.js:72:23)
                at ChildProcess.emit (node:events:519:28)
                at maybeClose (node:internal/child_process:1105:16)
                at ChildProcess._handle.onexit (node:internal/child_process:305:5)
            2025-10-14T14:21:30.394Z box:shell system: swapon --noheadings --raw --bytes --show=type,size,used,name
            2025-10-14T14:21:30.843Z box:shell services: grep -q avx /proc/cpuinfo
            2025-10-14T14:21:30.883Z box:shell services: systemctl is-active unbound
            2025-10-14T14:21:30.907Z box:shell services: systemctl is-active nginx
            2025-10-14T14:21:36.375Z box:mailserver restart: restarting mail container with mailFqdn:my.DOMAIN.ru mailDomain:lvcloud.ru
            2025-10-14T14:21:36.378Z box:locks write: current locks: {"mail_restart":null}
            2025-10-14T14:21:36.378Z box:locks acquire: mail_restart
            2025-10-14T14:21:36.382Z box:mailserver configureMail: stopping and deleting previous mail container
            2025-10-14T14:21:36.386Z box:mailserver createMailConfig: generating mail config with my.DOMAIN.ru
            2025-10-14T14:21:36.388Z box:mailserver configureMail: starting mail container
            2025-10-14T14:21:36.388Z box:shell mailserver: /bin/bash -c docker run --restart=always -d --name=mail                 --net cloudron                 --net-alias mail                 --log-driver syslog                 --log-opt syslog-address=unix:///home/yellowtent/platformdata/logs/syslog.sock                 --log-opt syslog-format=rfc5424                 --log-opt tag=mail                 -m 3221225472                 --memory-swap -1                 --dns 172.18.0.1                 --dns-search=.                 --ip 172.18.30.4                 -e CLOUDRON_MAIL_TOKEN=2e511179a006de6797e4f4aaeb1b26d5bcd61591fa4719d22117f0f26e5e90869e0d06b6fbac980cf9d6b71454e4e77a8ea1b8027ea5de876d3d79c95e7a06a7a6477f9347995d527f32ef1fdcda8dfbbc95a448f672423c679b3debe7f65b2c9c460d5b996044ca0fdc4449242982b7f52989f622a6b9308f97298c167ad7a0                 -e CLOUDRON_RELAY_TOKEN=2b059b06940699c69a0039ad98bd6f6b1fae80e5a5793c97a73efa92517f38707d8d0f5a6ebfa2da41c7a60b0aeebdca285dbfa9b200af1202bf3a0418076dc7bce27dd343eb0f6c8560595806729a9009e53bf9260d155e912e68f2512368bdbc728d8248d962c68b390a903aec7bfde0484e579cfc0812199e4fa079069167                 -e LOGLEVEL=info                 -v /home/yellowtent/boxdata/mail:/app/data                 -v /home/yellowtent/platformdata/addons/mail:/etc/mail:ro                 -p 587:2587 -p 993:9993 -p 4190:4190 -p 25:2587 -p 465:2465 -p 995:9995                 --label isCloudronManaged=true                 --read-only -v /run -v /tmp registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536 
            2025-10-14T14:22:26.468Z box:shell mailserver: /bin/bash -c docker run --restart=always -d --name=mail                 --net cloudron                 --net-alias mail                 --log-driver syslog                 --log-opt syslog-address=unix:///home/yellowtent/platformdata/logs/syslog.sock                 --log-opt syslog-format=rfc5424                 --log-opt tag=mail                 -m 3221225472                 --memory-swap -1                 --dns 172.18.0.1                 --dns-search=.                 --ip 172.18.30.4                 -e CLOUDRON_MAIL_TOKEN=2e511179a006de6797e4f4aaeb1b26d5bcd61591fa4719d22117f0f26e5e90869e0d06b6fbac980cf9d6b71454e4e77a8ea1b8027ea5de876d3d79c95e7a06a7a6477f9347995d527f32ef1fdcda8dfbbc95a448f672423c679b3debe7f65b2c9c460d5b996044ca0fdc4449242982b7f52989f622a6b9308f97298c167ad7a0                 -e CLOUDRON_RELAY_TOKEN=2b059b06940699c69a0039ad98bd6f6b1fae80e5a5793c97a73efa92517f38707d8d0f5a6ebfa2da41c7a60b0aeebdca285dbfa9b200af1202bf3a0418076dc7bce27dd343eb0f6c8560595806729a9009e53bf9260d155e912e68f2512368bdbc728d8248d962c68b390a903aec7bfde0484e579cfc0812199e4fa079069167                 -e LOGLEVEL=info                 -v /home/yellowtent/boxdata/mail:/app/data                 -v /home/yellowtent/platformdata/addons/mail:/etc/mail:ro                 -p 587:2587 -p 993:9993 -p 4190:4190 -p 25:2587 -p 465:2465 -p 995:9995                 --label isCloudronManaged=true                 --read-only -v /run -v /tmp registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536  errored BoxError: /bin/bash exited with code 125 signal null
                at ChildProcess.<anonymous> (/home/yellowtent/box/src/shell.js:72:23)
                at ChildProcess.emit (node:events:519:28)
                at maybeClose (node:internal/child_process:1105:16)
                at ChildProcess._handle.onexit (node:internal/child_process:305:5) {
              reason: 'Shell Error',
              details: {},
              stdout: '',
              stdoutLineCount: 0,
              stderr: "Unable to find image 'registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536' locally\n" +
                'docker: Error response from daemon: Get "https://registry.docker.com/v2/": dial tcp: lookup registry.docker.com on 127.0.0.53:53: read udp 127.0.0.1:51654->127.0.0.53:53: i/o timeout.\n' +
                "See 'docker run --help'.\n",
              stderrLineCount: 3,
              code: 125,
              signal: null
            }
            2025-10-14T14:22:26.474Z box:locks write: current locks: {}
            2025-10-14T14:22:26.474Z box:locks release: mail_restart
            HttpError: /bin/bash exited with code 125 signal null
                at BoxError.toHttpError (/home/yellowtent/box/src/boxerror.js:109:16)
                at restart (/home/yellowtent/box/src/routes/services.js:125:37)
                at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
              status: 500,
              internalError: BoxError: /bin/bash exited with code 125 signal null
                  at ChildProcess.<anonymous> (/home/yellowtent/box/src/shell.js:72:23)
                  at ChildProcess.emit (node:events:519:28)
                  at maybeClose (node:internal/child_process:1105:16)
                  at ChildProcess._handle.onexit (node:internal/child_process:305:5) {
                reason: 'Shell Error',
                details: {},
                stdout: '',
                stdoutLineCount: 0,
                stderr: "Unable to find image 'registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536' locally\n" +
                  'docker: Error response from daemon: Get "https://registry.docker.com/v2/": dial tcp: lookup registry.docker.com on 127.0.0.53:53: read udp 127.0.0.1:51654->127.0.0.53:53: i/o timeout.\n' +
                  "See 'docker run --help'.\n",
                stderrLineCount: 3,
                code: 125,
                signal: null
              },
              details: {}
            }
            

            I reverted everything back for now, and Cloudron is working again. Just wondering — is this section of the documentation still valid for the current Cloudron versions, or could this issue be something specific to my setup?

            J Online
            J Online
            joseph
            Staff
            wrote last edited by
            #7

            @WiseMetalhead said in Running Cloudron on eMMC – How to Reduce Writes?:

            stderr: "Unable to find image 'registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536' locally\n" +
              'docker: Error response from daemon: Get "https://registry.docker.com/v2/": dial tcp: lookup registry.docker.com on 127.0.0.53:53: read udp 127.0.0.1:51654->127.0.0.53:53: i/o timeout.\n' +
            

            The error seems to indicate that it cannot pull down the docker images. Does cloudron-support --troubleshoot work (this verifies the DNS etc) ?

            WiseMetalheadW 1 Reply Last reply
            1
            • J joseph

              @WiseMetalhead said in Running Cloudron on eMMC – How to Reduce Writes?:

              stderr: "Unable to find image 'registry.docker.com/cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536' locally\n" +
                'docker: Error response from daemon: Get "https://registry.docker.com/v2/": dial tcp: lookup registry.docker.com on 127.0.0.53:53: read udp 127.0.0.1:51654->127.0.0.53:53: i/o timeout.\n' +
              

              The error seems to indicate that it cannot pull down the docker images. Does cloudron-support --troubleshoot work (this verifies the DNS etc) ?

              WiseMetalheadW Offline
              WiseMetalheadW Offline
              WiseMetalhead
              translator
              wrote last edited by
              #8

              @joseph

              Right now cloudron-support --troubleshoot works and shows the following:

              Vendor: AZW Product: ME mini
              Linux: 6.14.0-33-generic
              Ubuntu: noble 24.04
              Processor: Intel(R) N150
              BIOS Intel(R) N150 To Be Filled By O.E.M. CPU @ 2.8GHz x 4
              RAM: 12001804KB
              Disk: /dev/mmcblk0p2   24G
              [OK]	node version is correct
              [OK]	IPv6 is enabled in kernel. No public IPv6 address
              [OK]	docker is running
              [OK]	docker version is correct
              [OK]	MySQL is running
              [OK]	nginx is running
              [OK]	dashboard cert is valid
              [OK]	dashboard is reachable via loopback
              [OK]	box v8.3.2 is running
              [OK]	netplan is good
              [OK]	DNS is resolving via systemd-resolved
              [OK]	Dashboard is reachable via domain name
              [WARN]	Domain ***.ru expiry check skipped because whois does not have this information
              [OK]	unbound is running
              
              

              It’s strange that the Docker images couldn’t be pulled, because updates and new app installations work for me without any issues.

              1 Reply Last reply
              0
              • jamesJ Offline
                jamesJ Offline
                james
                Staff
                wrote last edited by
                #9

                Hello @WiseMetalhead
                Can you please run the following commands for me and give me the output?

                docker run --rm hello-world
                

                and

                dig A registry.docker.com
                
                WiseMetalheadW 1 Reply Last reply
                0
                • jamesJ james

                  Hello @WiseMetalhead
                  Can you please run the following commands for me and give me the output?

                  docker run --rm hello-world
                  

                  and

                  dig A registry.docker.com
                  
                  WiseMetalheadW Offline
                  WiseMetalheadW Offline
                  WiseMetalhead
                  translator
                  wrote last edited by WiseMetalhead
                  #10

                  @james said in Running Cloudron on eMMC – How to Reduce Writes?:

                  docker run --rm hello-world

                  Unable to find image 'hello-world:latest' locally
                  latest: Pulling from library/hello-world
                  17eec7bbc9d7: Pull complete 
                  Digest: sha256:6dc565aa630927052111f823c303948cf83670a3903ffa3849f1488ab517f891
                  Status: Downloaded newer image for hello-world:latest
                  
                  Hello from Docker!
                  This message shows that your installation appears to be working correctly.
                  
                  To generate this message, Docker took the following steps:
                   1. The Docker client contacted the Docker daemon.
                   2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
                      (amd64)
                   3. The Docker daemon created a new container from that image which runs the
                      executable that produces the output you are currently reading.
                   4. The Docker daemon streamed that output to the Docker client, which sent it
                      to your terminal.
                  
                  To try something more ambitious, you can run an Ubuntu container with:
                   $ docker run -it ubuntu bash
                  
                  Share images, automate workflows, and more with a free Docker ID:
                   https://hub.docker.com/
                  
                  For more examples and ideas, visit:
                   https://docs.docker.com/get-started/
                  
                  

                  @james said in Running Cloudron on eMMC – How to Reduce Writes?:

                  dig A registry.docker.com

                  ; <<>> DiG 9.18.30-0ubuntu0.24.04.2-Ubuntu <<>> A registry.docker.com
                  ;; global options: +cmd
                  ;; Got answer:
                  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4191
                  ;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1
                  
                  ;; OPT PSEUDOSECTION:
                  ; EDNS: version: 0, flags:; udp: 65494
                  ;; QUESTION SECTION:
                  ;registry.docker.com.		IN	A
                  
                  ;; ANSWER SECTION:
                  registry.docker.com.	60	IN	A	34.197.251.18
                  registry.docker.com.	60	IN	A	18.206.23.233
                  registry.docker.com.	60	IN	A	98.86.59.233
                  registry.docker.com.	60	IN	A	52.22.88.186
                  registry.docker.com.	60	IN	A	34.225.208.41
                  registry.docker.com.	60	IN	A	34.237.110.211
                  registry.docker.com.	60	IN	A	54.165.148.211
                  registry.docker.com.	60	IN	A	34.232.216.124
                  
                  ;; Query time: 60 msec
                  ;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
                  ;; WHEN: Wed Oct 15 08:52:27 UTC 2025
                  ;; MSG SIZE  rcvd: 176
                  
                  1 Reply Last reply
                  0
                  • jamesJ Offline
                    jamesJ Offline
                    james
                    Staff
                    wrote last edited by
                    #11

                    Hello @WiseMetalhead

                    So the pull of the hello-world image worked.
                    So maybe now the pull of the cloudron/mail:3.15.0 image works as well?
                    Can you please try to pull the image manually?

                    docker pull cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536
                    

                    If this works manually, there might be an issue in the box startup.


                    @WiseMetalhead Since you censored your domain in the latest post in the output of cloudron-support --troubleshoot I take the liberty to also censor your domain from the box.log you have posted above.

                    WiseMetalheadW 1 Reply Last reply
                    1
                    • jamesJ james

                      Hello @WiseMetalhead

                      So the pull of the hello-world image worked.
                      So maybe now the pull of the cloudron/mail:3.15.0 image works as well?
                      Can you please try to pull the image manually?

                      docker pull cloudron/mail:3.15.0@sha256:c93b5a83fc4e775bda4e05010bd19e5a658936e7a09cf7e51281e3696fde4536
                      

                      If this works manually, there might be an issue in the box startup.


                      @WiseMetalhead Since you censored your domain in the latest post in the output of cloudron-support --troubleshoot I take the liberty to also censor your domain from the box.log you have posted above.

                      WiseMetalheadW Offline
                      WiseMetalheadW Offline
                      WiseMetalhead
                      translator
                      wrote last edited by
                      #12

                      @james said in Running Cloudron on eMMC – How to Reduce Writes?:

                      Can you please try to pull the image manually?

                      Thanks a lot for your help and suggestions. I was able to resolve my issue.

                      My Cloudron had AdGuard Home installed and connected to the router. Even though I set the server’s traffic to go through the provider’s DNS, I probably messed something up in the configuration.

                      Since AdGuard Home wasn’t working, there was no DNS resolution, and therefore no connection 😑

                      After I temporarily changed the DNS on the router, everything started working fine. The Docker images are slowly restoring now.

                      1 Reply Last reply
                      2
                      • jamesJ Offline
                        jamesJ Offline
                        james
                        Staff
                        wrote last edited by
                        #13

                        Hello @WiseMetalhead
                        Good to read!
                        Also, back to main topic of reducing writes to the eMMC.

                        Logs!
                        Since logs get written all the time this might also be good to move somewhere away from the eMMC.
                        If you don't care about logs and have enough memory, you could even create a Ramdisk and have all logs just be in RAM.

                        I have put my download folder into a Ramdisk since I used to never clean up my downloads and now each reboot deletes everything.
                        Also, nice side effect, since I know my downloads folder is not persistent, I have to sort documents into a correct location. Less messy file system.
                        And, since its RAM, the read-write rates super high, also improving the download speed.

                        1 Reply Last reply
                        3
                        • WiseMetalheadW Offline
                          WiseMetalheadW Offline
                          WiseMetalhead
                          translator
                          wrote last edited by
                          #14

                          @james
                          Fortunately, I took care of this issue almost right after installing Ubuntu, but thanks a lot for sharing another interesting approach.

                          1 Reply Last reply
                          0
                          • WiseMetalheadW Offline
                            WiseMetalheadW Offline
                            WiseMetalhead
                            translator
                            wrote last edited by
                            #15
                            This post is deleted!
                            1 Reply Last reply
                            0
                            • WiseMetalheadW WiseMetalhead referenced this topic
                            • nebulonN nebulon marked this topic as a question
                            • nebulonN nebulon has marked this topic as solved
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • Bookmarks
                            • Search