Server Setup
After initializing your Ubuntu 24.04 server, you need to prepare it for Octeth installation. This involves updating system packages and installing required dependencies.
Connect to Your Server
SSH login to the server using your server's IP address:
ssh-keygen -R '[203.0.113.10]:22'
ssh-keyscan -H -p 22 203.0.113.10 >> ~/.ssh/known_hosts
ssh root@203.0.113.10 -p 22TIP
Replace 203.0.113.10 with your actual server IP address throughout this guide.
Update System Packages
Update the package manager cache and upgrade all installed packages to their latest versions:
apt update
apt upgrade
# Reboot the server if needed
shutdown -r nowThe system update ensures you have the latest security patches and package versions before installing Octeth.
Install Required Packages
Install all necessary system packages that Octeth depends on:
apt install -y software-properties-common sharutils apt-utils iputils-ping telnet git unzip zip openssl vim wget debconf-utils mysql-client ufw npm nodejs htop iotop netdata jqDo not install the docker.io package
Ubuntu's own docker.io package must not be installed here. The next section installs Docker from Docker's official repository, and docker-ce replacing docker.io leaves the docker.socket unit in a failed state. Because the Docker service is socket-activated, it can then never start, and install:start refuses to run with ✗ Docker daemon is not running.
If you have already run an older version of this guide that included docker.io, see Docker installed but the daemon will not start below.
Key packages explained:
- git: Version control for addon installations
- mysql-client: MySQL database client tools
- unzip/zip: Archive utilities for Octeth package
- vim/wget: Text editor and download utility
- htop/iotop: System monitoring tools
- netdata: Real-time performance monitoring
- jq: JSON processing tool for CLI operations
Install Docker and Docker Compose
Octeth runs entirely in Docker containers. Install the official Docker packages:
# Install prerequisites
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
# Add Docker repository to Apt sources
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
# Install Docker packages
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Start Docker service
systemctl start docker
# Verify the daemon is actually running
systemctl is-active docker
docker info --format 'ServerVersion={{.ServerVersion}}'Both commands must succeed. systemctl is-active docker prints active, and docker info prints a server version such as ServerVersion=29.8.0.
Check the daemon, not just the client
Do not verify with docker --version alone. That command, and docker compose version, only report the client and answer perfectly happily while the daemon is dead. docker info is the check that proves the daemon is reachable, because it has to talk to it.
Docker installed but the daemon will not start
If systemctl is-active docker prints failed, check the logs:
journalctl -u docker --no-pager -n 20A message like this means the socket unit is not running:
dockerd: failed to load listeners: no sockets found via socket activation:
make sure the service was started by systemdThis is what happens when docker.io was installed before docker-ce, as older versions of this guide instructed. The replacement completes, but leaves docker.socket failed, and the socket-activated service can never start. Start the socket first, then the service:
systemctl start docker.socket
systemctl start docker
docker info --format 'ServerVersion={{.ServerVersion}}'The fix persists; there is no need to reinstall anything.
Next Steps
Your server is now prepared for Octeth installation. Continue to the Upload Octeth to Server guide.

