this post was submitted on 25 Jun 2023
17 points (87.0% liked)

Selfhosted

40201 readers
508 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Hello all !

Following that post, I'm offering to noobs like me the opportunity to learn how to install docker to a Debian system. Being a beginner myself, I don't pretend to know the perfect or more appropriate way to achieve this, and I hope that more experienced people will join the conversation to correct and complete the informations I'm about to give.

The first way I know of is the way I first installed docker and portainer on my machine. I used OpenMediaVault and omv-extras, which was quite straight formard. But depending on the version you are using, you might not find omv-extras anymore in OMV, and the new way of getting docker through it is in my opinion quite painfull.

So let's go with the simple way:

Pre-requisite : having Debian installed on your machine and SSH into it.

Set up the repository:

  1. Update the apt package index and install packages to allow apt to use a repository over HTTPS:
sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
  1. Add Docker’s official GPG key:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  1. Use the following command to set up the repository:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Install Docker Engine

  1. Update the apt package index:
sudo apt-get update
  1. Install Docker Engine, containerd, and Docker Compose:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  1. You can verify that Docker Engine is installed correctly by running the hello-world image.
sudo docker run hello-world

Install Portainer

  1. Create Docker Volume to store the data:
docker volume create portainer_data
  1. Install Portainer Server:
docker run -d -p 8000:8000 -p 9000:9000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest

Access Portainer Dashboard

  1. In a browser, visit the following address:
http://<yourmachineipadress>:9000
  1. The first time you access Portainer, the system asks to create a password for the admin user. Type the password twice and select the Create user button.

  2. Select the Get Started button to go to the dashboard and start using Portainer in the local environment only.

You're set up ! Now, you can use simple docker-composes in Portainer **stacks ** tab to deploy new apps and services.

top 6 comments
sorted by: hot top controversial new old
[–] TheHolm@aussie.zone 1 points 1 year ago

Shameless plug, bit more advance setup with better underlaying file system. Deploying generic docker hosting on Debian Bullseye with ZFS backend After it you can continue with "Install Portainer" step in guide above.

[–] slashzero@hakbox.social 1 points 1 year ago

Great write up!

[–] Ferawyn@lemmy.world 1 points 1 year ago

I would suggest having a look at podman. It's a drop-in replacement for docker, except it doesn't require a constantly running daemon, it comes in the main package repositories, so you don't have to do the key and repository stuff, and cockpit has a plugin to help manage podman containers.

[–] snekerpimp@lemmy.world 1 points 1 year ago (1 children)

Docker has an install script on their https://github.com/docker/docker-install page that takes a lot of the headache out. Also ‘sudo usermod -aG docker $USER’ will allow you to run docker without sudo.

[–] Tiritibambix@lemmy.ml 1 points 1 year ago

Great tips. Thank you.

[–] iuseit@iusearchlinux.fyi 1 points 1 year ago

Nice my server at home runs debian with a couple containers