Skip to main content

Install ITTools

ITTools is a set of tools that can help you quickly and easily get things done when working on your homelab, in a professional IT environment, for an MSP, or even on your friends' and families' networks. Generate tokens, hashes, IP Address ranges, Strong passwords, Decrypt and Encrypt information, and so much more. This is one of those tools that you'll wonder how you got by without for so long.

Setup a Server

In most self hosted applications these days, you'll need a machine to act as a server. This can be a machine in your home / business (such as an old laptop or desktop, a Raspberry PI or Single Board Computer (SBC), or even the computer you're reading this article from), a VM / Container hosted on one of your machines, or a VPS (Virtual Private Server) hosted by companies like RackNerd, Digital Ocean, Linode, Vultr, and so many more. Regardless of which option you choose, you'll want to do a few things to get the server setup properly.

Install updates to our Server

Ubuntu / Debian

sudo apt update && sudo apt upgrade -y

RedHat / CentOS / Fedora / Alma / Rocky

sudo dnf update -y

Add a non-root / sudo user on the server

Generally, when you setup a new server, the VPS (Virtual Private Server) service sets up a default "root" user for you. It's considered unsafe to do everything as "root", so let's setup a non-root user who has super user (sudo) privileges.

adduser <username> You'll be prompted to enter and confirm a password for this user. You'll also be asked for some user information like Name, etc, but this is not required information. At the end, confirm the entries, and you'll have your new user.

Next, we need to add the user to the super user group.

Ubuntu / Debian

usermod -aG sudo <username>

RedHat / CentOS / Fedora / Alma / Rocky

usermod -aG wheel <username>

Now, you can log out of the system, and log back in as your new non-root super user.

Install Docker and Docker Compose

Fortunately, there is a single line command that will install both Docker and Docker Compose for us on most Linux based distributions.

We need the 'curl' utility to get this to work, so if you don't have it, you'll want to install it first with

Ubuntu / Debian

sudo apt install curl -y

RedHat / CentOS / Fedora / Alma / Rocky

sudo dnf install curl -y

Next, we'll run the command to install Docker and Docker Compose:

curl https://get.docker.com | sh

You may be prompted to enter your super user password, so be ready for it. Once you do, the install should proceed.

Once complete. we want to add our user to the 'docker' group so we can do docker and docker compose commands without having to type in sudo each time.

sudo usermod -aG docker <username>

Now we'll logout / exit the session, and log right back in so the updated group will take effect.

Install ITTools in Docker Compose

Let's make a folder for our installation data.

mkdir -p docker/ittools

Now we'll move into that folder

cd docker/ittools

And we'll create a new file called 'compose.yaml'.

nano compose.yaml

We'll copy and paste the following code block into that folder

---
services:
  it-tools:
    image: 'corentinth/it-tools:latest'
    ports:
      - '8080:80'
    restart: unless-stopped
    container_name: it-tools

If your host machine is already using port 8080 for a different service, then you can change the left side of the port mapping to a port number not in use. In the video, I used port 8038.

Use CTRL + O to save your changes, press Enter to confirm, and exit the nano editor with CTRL + X.

We'll pull our ITTools container image with

docker compose pull

and once pulled down, we can start the container (virtual server) with

docker compose up -d

Give it a few seconds to get started, then you can open your favorite web browser, and visit your host machine's IP address at the port you entered on the left side of the port mapping.

For example:

http://192.168.0.131:8080

You should be presented with your ITTools web user interface. Congratulations, you now have a multitude of tools you can use for all of your IT and server running needs.