Skip to main content

Almalinux LXC setup

Here is a simple review of what should be done in a newly created LXC using the image from Proxmox VE.

Step by step procedure

  1. Install important packages

    • update and upgrade

      dnf update -y && dnf upgrade -y
      
    • install basic packages

      dnf install -y vim git tar wget bind-utils net-tools openssh-server
      
    • Optional: Docker installation

      • Add Docker repository
        dnf install -y dnf-plugins-core
        dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
        
      • Install Docker
        dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
        
      • Enable Docker
        systemctl enable --now docker
        
      • Test Docker installation
        docker run hello-world
        
  2. Create a user with sudo privileges (replace thorgan by the username of your choice)

    adduser thorgan
    usermod -aG wheel thorgan
    passwd thorgan
    

    If you installed Docker in step 1, you can give permission to your newly created user to use it:

    usermod -aG docker thorgan
    

    Replace thorgan by the username you created before.

  3. Start and enable sshd to accept SSH connections

    service sshd start && systemctl enable sshd
    

Script procedure

#!/bin/bash

dnf update -y && dnf upgrade -y
dnf install -y vim git tar wget bind-utils net-tools openssh-server

read -p "Enter username: " user
adduser "$user"
usermod -aG wheel "$user"
passwd "$user"

service sshd start && systemctl enable sshd

Script with docker installation

#!/bin/bash

# Update & Upgrade
dnf update -y && dnf upgrade -y
# Install necessary packages
dnf install -y dnf-plugins-core vim git tar wget bind-utils net-tools openssh-server

# Adding docker repository
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
# Install docker
dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Enable docker
systemctl enable --now docker
# Test docker installation
docker run hello-world

# Create sudoer user
read -p "Enter username: " user
adduser "$user"
usermod -aG wheel "$user"
usermod -aG docker "$user"
passwd "$user"

# Enable & Start SSH
service sshd start && systemctl enable sshd