RADIUSdesk

logo

RADIUSdesk Docker Image

Introduction

  • You need to know the basics of Docker in order to complete these instructions.
  • The Docker image will produce a split image (two containers)
    • One container will be the database using MariaDB
    • The other container will be the web server with Nginx, PHP and FreeRADIUS.

Install Docker

  • We assume you are a user called system on a standard Ubuntu install.
  • Issue the following commands to install the Docker system on your machine.
USER="system"
 
sudo apt-get update
sudo apt-get install -y \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
 
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
 
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
 
sudo apt-get update
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo apt-get -y install docker-compose
 
# Make docker run as non root
sudo usermod -aG docker $USER
sudo chmod 666 /var/run/docker.sock
 
# customize with your own.
sudo mkdir -p /mnt/data
# make sure all future data in this folder can be created as non root
sudo chown  $USER:$USER /mnt/data

Create the Docker containers

  • We include everything to create the RADIUSdesk docker containers with the RADIUSdesk (rdcore) repository.
  • Check out the rdcore git repository.
cd ~
sudo git clone https://github.com/RADIUSdesk/rdcore.git
  • Mount the rdcore top directory to the rdcore/docker/rdcore directory
cd rdcore/docker
sudo mkdir rdcore
sudo mount --bind ../../rdcore ./rdcore
  • Run the local_build.sh script.
./local_build.sh
  • There will be feedback on the screen as the two docker containers getting built.
  • On my one Ubuntu machine I got an error message about

docker-credential-desktop not installed or not available in PATH

  • The cure was to edit ~/.docker/config.json and replace “credsStore” by “credStore”.
{
        "auths": {},
        "credStore": "desktop",
        "currentContext": "default"
}
  • After it completed you can confirm it is running
docker container ls
CONTAINER ID   IMAGE                  COMMAND                  CREATED             STATUS             PORTS                                                                                                        NAMES
98339a6a1b57   docker_radiusdesk      "/bin/sh -c '/usr/bi…"   About an hour ago   Up About an hour   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:1812-1813->1812-1813/udp, :::1812-1813->1812-1813/udp, 9000/tcp   radiusdesk
db3c6fa81d8b   bitnami/mariadb:10.5   "/opt/bitnami/script…"   2 hours ago         Up 2 hours         3306/t
  • Open a browser and go to the IP Address of the host running the docker containers.