boydster

joined 1 year ago
[–] boydster@sh.itjust.works 4 points 2 months ago

Wouldn't ya know it, he had a bad time

[–] boydster@sh.itjust.works 3 points 4 months ago

Excuse me, old woman!

[–] boydster@sh.itjust.works 31 points 4 months ago (1 children)

Fred Durst made this meme

[–] boydster@sh.itjust.works 41 points 4 months ago (1 children)

A møøse ønce bit my sister

[–] boydster@sh.itjust.works 12 points 4 months ago (1 children)

He's not our president anymore! Yet!

[–] boydster@sh.itjust.works 3 points 5 months ago

It's a described feature of a paid service though, so it goes a bit beyond just being nice. More importantly for me, the app also leaks memory insanely, at least in the latest Debian build. I spun up a Windows vm with ProtonVPN because the Linux experience (which, again, I pay for) was too frustrating

[–] boydster@sh.itjust.works 1 points 6 months ago* (last edited 6 months ago)

The Venn Diagram of people who drive obnoxious gas-wasting vehicles like that and people who are assholes is a circle

[–] boydster@sh.itjust.works -1 points 6 months ago (2 children)

The driver is a POS and people are allowed to have toys. There is no conflict between those positions.

[–] boydster@sh.itjust.works 1 points 9 months ago (1 children)

I see what you mean, thank you for sharing, I could make this a bash script and that is one of the changes I'd want to make to make it more user friendly for sure. For now it was mostly notes I made and felt like sharing in case it was helpful, but cleaning it up with file edits and even a menu to drop in the compose files and a screen for optional external storage integration would be a good idea

[–] boydster@sh.itjust.works 1 points 9 months ago

Maybe, I'm a bajillion years old and have a knack for choosing poorly, but it's in the documentation still and works really well on Debian boxes for homelab services so I've been having fun with it. It also brought me into the world of Proxmox and LXC containers as the very next step on my learning journey. So, it can't be all bad, right? :)

Regardless, setting up a single Docker node is the same as setting up a cluster in terms if the initial steps, you just leave out the swarmy bits.

27
submitted 9 months ago* (last edited 8 months ago) by boydster@sh.itjust.works to c/linux@lemmy.ml
 

After seeing someone else posting their struggles with getting Docker running on their system, I thought I might share my process for setting up new Docker nodes. I don't make any representations about my way being the right way, or the best way, but this way has been working for me. I have been playing around with a swarm, but if you aren't setting up a swarm you can just omit the swarm commands and some of the firewall allows (keep what you need open, obviously, like 22 for SSH if you're using it). Similarly, if you aren't connecting to a NAS, you can leave out the part about mounting external storage.

# new Docker Swarm node setup from fresh Debian Netinst

# as root, all nodes
apt install sudo
usermod -aG sudo [user]
logout

# as [user], all nodes
sudo apt update
sudo apt upgrade -y
sudo apt install fail2ban rkhunter ufw unattended-upgrades ca-certificates curl -y
sudo ufw allow 22 
sudo ufw allow 2377
sudo ufw allow 7946
sudo ufw allow 4789
sudo ufw enable
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
sudo usermod -aG docker [user]

## Shared Storage Stuff, all nodes ##

nano ~/.smbcredentials
# paste the following:
#   username=[cluserUser]
#   password=[clusterPW]
#
# add mount point for shared storage
sudo nano /etc/fstab
# add the following to the bottom:
# /[NAS.IP.Address]/[ClusterStorageFolder]/ /home/[user]/share cifs credentials=/home/[user]/.smbcredentials 0 0

# on main node only
docker swarm init --advertise-address 
  #  copy the join command, we'll need it next

# on any additional nodes, paste the command copied above
docker swarm join [...all the rest of the command...]

# for each docker container, on any manager node
mkdir ~/share/[serviceName]  
cd ~/share/[serviceName]
  #  copy relevant compose.yml into the folder
  #  if necessary, also create any needed directories
docker compose up -d
docker compose down
docker stack deploy -c compose.yml
view more: next ›