RobeeDS Logo

robeeds

Homelabbing

Easier Docker Management with Portainer

Author

robeeds

Date Published

Introduction

Managing Docker containers can get a little hectic, especially if you plan to have a lot of services running. Luckily, we can use Portainer—a service delivery platform that can help simplify container management.

Note: Before we start, I'll be SSHing into the RPi server.

1ssh your_username@IP_ADDR


Installing Portainer

Reference

First, we'll need to create a volume in docker, so that Portainer Server will have space for its database.

1docker volume create portainer_data

Next, we'll download and install the Portainer Server image to be run within a container

1docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:lts

Since I don't have direct access to Portainer (as I am using SSH), I will re-establish my connection and tunnel the port to my local machine.

NOTE: You can also just enter your server's IP address with its port (9443) into your preferred browser. I didn't realize that I had disabled my browser's network access setting.

1### In the current SSH session
2exit
3### Once exited,
4ssh -L 9443:192.168.1.6:9443 your_username@IP_ADDR

In my local browser, visiting https://localhost:9443 brings us to a page where we create our own Portainer account. Once that is complete, we are brought to the dashboard.

We'll press 'Get Started', which will bring us to the home page.

Here, we're practically finished with our Portainer installation. Now, we just have to get familiar with this user interface.


Navigating Portainer's Web UI

On the left hand side, there is a dropdown menu that contains the...

- Dashboard: General information about the currently selected environment

- Templates: Application templates that you can use to deploy containers from. There are many presets, as well as the option to create your own

- Stacks: A place to create and keep track of docker compose files

- Containers: A page to manage containers that are present in the host system

- Images: This is where you'll keep track of installed docker images from Docker Hub

- Networks: A page where you'll manage different network settings for containers

- Volumes: A place to manage volumes for containers

- Events: Just a general event log

- Host: Details regarding the host system


In the future, we'll be going over installing UnboundDNS, Adguard Home, Nginx Proxy Manager, and Homepage to simplify managing our homelab even further.

Homelabbing,  Linux

As part of the homelabbing series, we'll be going over setting up a beginner-friendly homelab by first installing the operating system—that...

Homelabbing

Docker is an essential platform that allows homelabbers to create isolated environments for system tools and services. Today we'll discuss...