First steps in docker

Hi,
I have Docker, Portainer and watchover running fine on my CoreElec device. And today I tried to install RoonBridge, using this command: docker run --name RoonBridge --net=host -d -v /home/roon:/var/roon dubodubonduponey/roon-bridge:latest

It downloaded, intstalled, but not running. In Portainer it’s marked blue instead of green and says “created”. So it’s there but not running. And there’s following error:

docker: Error response from daemon: error while creating mount source path ‘/home/roon’: mkdir /home: read-only file system.

Can anyone help me fix this please?

Read this topic again from the beginning and you will see that here is recommended to replace the /home directory with /storage/.config/dockers

OK, I’ll try delete the container and set it up again with modified command. Will let you know how it went.

This is the log:

00:00:00.015 Warn: get lock file path: /tmp/.rnbgem0-

00:00:00.367 Trace: [childprocess] using unix child process

Initializing

00:00:00.557 Info: Starting /boot/bin/RoonBridge/Bridge/RoonBridgeHelper

00:00:00.594 Info: ConnectOrStartAndWaitForExit RAATServer, path: /boot/bin/RoonBridge/Bridge/RAATServer

Not Running (.o)

00:00:00.034 Warn: get lock file path: /tmp/.rnbhgem0-

Running

Hello guys! I habe successfully configured docker and portainer on CoreELEC 19.3 . Unfortunately I have to SSH to device after every restart and enter the command systemctl restart service.system.docker to make the containers and portainer run… Can you tell me how to change that so it would run automatically?

systemctl enable service.system.docker ?

1 Like

unfortunately it did not help. After restart i still have to manually start the service…

1 Like

I have changed it using SMB. I have entered the Path: Configfiles\system.d and edited the restart policy of the service service.system.docker.service using Notepad++ from Restart=on-abnormal to Restart=always. Now it is working as it should.

i installed the docker addon.
cant access portainer webif using port 9000…

I think docker doesn’t run. It will be fixed in next nightly build.
There is also workaround: Nextcloud container won't start - #3 by Rexter

ive done it via ssh and installed portainer with these commands:

docker volume create portainer_data
docker run -d --name portainer -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer:latest

docker start portainer

Does docker even run if you already using ssh.

Good afternoon!
How to get access to an external USB disk on VIM 3Pro in CoreeleC 20.0 when installing the Transmission container via the Portainer interface? I’m installing a container via a terminal tab and I’m getting an error. When I enter the code in the stack terminal I get an error: Deployment error -failed to deploy a stack: services.transmission.volumes must be a list. Is there a way to mount a usb disk to a container?
I enter the following docker-compose

---
version: "2.1"
services:
  transmission:
    image: lscr.io/linuxserver/transmission:latest
    container_name: transmission
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - TRANSMISSION_WEB_HOME=/combustion-release/ #optional
      - USER=username #optional
      - PASS=password #optional
      - WHITELIST=iplist #optional
      - PEERPORT=peerport #optional
      - HOST_WHITELIST=dnsname list #optional
    volumes:
      -v /path/to/data:/config
      -v /path/to/downloads:/downloads
      -v /path/to/watch/folder:/watch
	  -v /storage:/storage \
      -v /media:/media \
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    restart: unless-stopped

I would advise you to read carefully about docker and adapt the file to your situation. The mounted device will appear in /var/media/yourdrive

You have errors in the docker-compose syntax: remove the backslash (\)

Thanks for your help, everything worked out. I can now place download files on a USB drive

version: "2.1"
services:
  transmission:
    image: lscr.io/linuxserver/transmission:latest
    container_name: transmission
    environment:
      - PUID=0
      - PGID=0
      - TZ=Europe/London
      - USER=root
      - PASS=root
    volumes:
      - /var/lib/transmission/config:/config:rw
      - /var/media/ADATA HV320/downloads:/downloads:rw
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    restart: unless-stoppedtype or paste code here

Good afternoon friends! After installing several containers in Docker, the size of the /storage/.kodi/userdata/addon_data/service.system.docker/docker/overlay2 folder critically increased and amounted to 8 GB. I looked for ways to move docker to another drive and tried this:

ExecStart=/usr/bin/dockerd -g /new/path/docker -H fd://

My docker.service file after editing looks like this

t[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target

[Service]
Type=idle
Environment=PATH=/bin:/sbin:/usr/bin:/usr/sbin:/storage/.kodi/addons/service.system.docker/bin
ExecStartPre=/storage/.kodi/addons/service.system.docker/bin/docker-config
EnvironmentFile=-/var/media/SD-SAMSUNG/docker/service.system.docker/config/docker.conf
ExecStart=/storage/.kodi/addons/service.system.docker/bin/dockerd -g /var/media/SD-SAMSUNG/docker -H fd://
                                                                  --exec-opt native.cgroupdriver=systemd \
                                                                  --log-driver=journald \
                                                                  --group=root \
                                                                  $DOCKER_DAEMON_OPTS \
                                                                  $DOCKER_STORAGE_OPTS
ExecReload=/bin/kill -s HUP $MAINPID
TasksMax=8192
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=0
Restart=on-abnormal

[Install]
WantedBy=multi-user.target
Alias=docker.serviceype or paste code here

The docker.conf file looks like this

DOCKER_DAEMON_OPTS="--data-root=/var/media/SD-SAMSUNG/service.system.docker/docker"
DOCKER_STORAGE_OPTS="--storage-driver=overlay2 --storage-opt overlay2.override_kernel_check=1"

The disk where I want to move Docker is a Samsung 128 GB SD memory card, I formatted it in ext3.
But I have not been successful in this way.
I understand that Coreelek is a specially compiled system, and I want to ask if it is possible to transfer Docker on this system to another disk? Thank you!

My advice is to not change the location of the docker images and keep the /storage/.kodi/userdata/addon_data/service.system.docker directory. If your storage space is small, (1) prepare a backup of your system on a flash drive, (2) connect a 256GB USB SSD drive, (3) install CoreELEC there, and (4) recover your backup.

After four years using CoreELEC the use of my storage space is:

  • Docker images in /storage/.kodi/userdata/addon_data/service.system.docker: 7.6 GB (256 GB SSD)
  • Space used by docker containers in /storage/.config/dockers: 3.6 GB (SSD 256 GB)
  • CoreELEC storage pool: 256 GB SSD with 33% usage
  • Storage pools for backups, multimedia, personal storage clouds, and duplicates: two 5TB 2.5" hard drives with automatic shutdown
1 Like

Your advice is very helpful! But I have a question for you, how did you manage to connect the SSD drive to Coreelek and on what machine is the system installed? I am using Khadas VIM 3 PRO with 32GB EMMC storage size. I use external USB drives to store my media library, only for audio files, movies and TV shows are not stored on this device.
I do not intend to install Docker and Coreelek on a separate memory card yet, my task is to move the Docker array to the memory card.
Thanks for your reply, stay healthy!

You are right, my system is different from yours, I started with an old device with S912 processor which is no longer supported by CoreELEC, which is why now I am using it as a remote device and installed LibreELEC which is supporting it, later I used another one S905X3 device with a 100GB external USB SSD and CoreELEC installed on it, which was very easy, I just installed a CoreELEC image with balenaEtcher. Finally I switched to LibreELEC with an x86_64 processor on a cheap mini PC acting as a server, with a 256GB SSD to which I first added a 5TB disk and later a second 5TB disk.

To connect so many devices (hard drives and TV tuners) I have been using a seven-port self-powered USB 3.0 hub for years.

I don’t know your device but you should be able to prepare a bootable CoreELEC USB drive. I don’t imagine this to be impossible but if this were the case I remember that CoreELEC was able to use any connected partition named STORAGE as internal system ‘storage’ partition. Obviously there should only be a single partition named STORAGE.

Good luck!

1 Like