Portainer

This will provide the docker with a GUI, which will help us to manage it better

Create a Volume for Portainer: First, we tell Docker to create a persistent storage volume named portainer_data

docker volume create portainer_data
docker 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:latest

What this command does:

  • docker run -d: Runs the container in “detached” mode (in the background).

  • -p 8000:8000 -p 9443:9443: Maps ports on your server to the container. 9443 is for the secure web UI.

  • --name portainer: Names the container “portainer” so it’s easy to find.

  • --restart=always: Tells Docker to automatically start Portainer if you reboot the server.

  • -v /var/run/docker.sock...: This is important. It gives Portainer permission to manage Docker itself.

  • -v portainer_data:/data: Connects the volume we created to the container’s data folder.

  • portainer/portainer-ce:latest: The software image to download and run.

One thing to note is that portainer runs at 8443 port with https and not with http

Further setup:

sudo mkdir -p /srv/docker-data/jellyfin

this leads to Jellyfin setup

Next installation will be Immich Next installation is Syncthing