Install Docker and Docker-compose quickly

Posted on September 14, 2021 at 19:49 by GreenFrog



What is LMDS - Docker Edition?

LMDS is an ultimate bundle of services like sonarr, jackett, radarr, deluge, nzbget, and many others, managed by one easy-to-use deployment script based on docker and docker-compose.

LMDS can run any container you like, it is just a matter of adding that custom container definition into the compose file, which is created after initial deployment. You can also use Portainer to manage containers through its Web UI interface. Portainer can be easily added to the stack by selecting it from the menu.

System is based on standard Raspbian image, that can be downloaded from raspberrypi.org.

LMDS script can also run on Ubuntu Server installed on a regular x86 hardware. In case you do not have a Raspberry Pi or dedicated Linux system just create a VM using Virtual Box or VMware Workstation Player. Use latest Ubuntu Server image, build a Linux VM and test the script on your laptop.

Deploy LMDS

To ensure a smooth experience while using LMDS - it's recomended to set your server IP address to be static. It is not mandatory for testing while trying it out, but it's advisable to have it static IP in production. Statis IP will make things easier in the long run.

install Git:

sudo apt-get install git

Clone LMDS repository:

git clone https://github.com/GreenFrogSB/LMDS.git ~/LMDS

Do not change name of the folder on your local system, it should stay as is for the script to work properly

Enter the directory and run:

cd ~/LMDS
./deploy.sh
  • First Install Docker & Docker-compose
  • Second Build LMDS Stack by selecting containers to deploy.
  • Configure containers you deploy by pointing your browser at the LMDS IP address, followed by the port number of the container.
  • Explore other options in the menu and visit FAQ for more advanced instructions.

LMDS main menu

LMDS containers and their ports:

Numbers after ":" identify a port that particular container will respond on, i.e. Portainer default port is :9000, point your browser at LMDS server IP:PORT in order to see Portainer login page.

https://SERVER-IP:9000

Portainer

Whenever you run the deploy.sh script, the docker-compose.yml file is used to create all the Docker containers. This file is updated every time you make a selection in the menu. After the first successful deployment, you can find this docker-compose file inside the LMDS folder. If you are familiar with manual editing, you can edit it directly. Alternatively, you can keep running the deploy.sh script and selecting/deselecting the containers according to your requirements.

After deployment is completed, all the containers settings are stored in persistent volumes inside ~/LMDS/volumes/ folder, keep this folder safe - all configuration you make for the containers using Web GUI are stored there. If you want to factory reset a container, stop it, delete the container instance, and delete the relevant folder from within ~/LMDS/volumes/, then deploy the container again. This will recreate folder you just deleted but with default container settings as if that container never existed before.

Containers can be modified or deleted by editing the docker-compose file and running docker-compose up -d. Additionally, changes can be made to the containers through the Portainer GUI for convenience.

Get yourself familiar with the docker-compose.yml l file. This file will tell you which folders/volumes are mapped to which container. This knowledge will allow you to better understand where data should be kept and from where containers can read them. Knowing the above you could map your remote storage to a particular folder and then present it to the container rather than storing all media files on an RPi SD card.

For more details, please check FAQ section on this site.

Help me make LMDS better

With your support anything is possible