TrueCommand Version DocumentationThis content follows TrueCommand 3.0 releases. Use the Product and Version selectors above to view content specific to TrueNAS software or major versions.
Installing the TrueCommand Container using Docker on Linux.
3 minute read.
Last Modified 2024-03-19 09:20 EDTIf you have not installed Docker on your machine, install the Docker Engine and Docker Desktop, or use Podman.
To run TrueCommand in Docker on Linux, you must have:
- A 64-bit Linux distro (we recommend Debian)
- Linux kernel support: 4.x+
- 1 CPU with 2 GiB RAM
- 1 Hard disk with 10 - 50 GiB storage space
- Customer networking settings and internet access
Before fetching the TrueCommand docker image, create a local directory.
Enter mkdir directory
, where directory is the new name.
After creating the new directory, fetch and run the TrueCommand Docker image.
Open a terminal and enter docker run --detach -v “/hostdir:/data” -p port:80 -p ssl:443 ghcr.io/ixsystems/truecommand:v3.0.0
.
Where hostdir is a directory on the host machine for Docker container data, 80 is the TrueCommand web interface port number, and 443 is the port number for secure web interface access.
SSL provides extra security in network communications.
To install the container with an earlier TrueCommand release, replace v3.0.0 with the desired TrueCommand version tag.
For example:docker run \--detach -v "/DockerDir:/data" -p 9004:80 -p 9005:443 ghcr.io/ixsystems/truecommand:release-v2.3.3
To install the container with the nightly TrueCommand release, replace v3.0.0 with latest:
docker run \--detach -v "/DockerDir:/data" -p 9004:80 -p 9005:443 ghcr.io/ixsystems/truecommand:latest
Only use the nightly version on test systems.
Although Docker containers have several run methods, TrueCommand requires a bind mount or docker volume manage to keep the database consistent between runs. Recreating the database will create a new system ID and invalidate a previously created license.
Do not try to use the same host directory for two different containers! Doing so results in file conflicts and database corruption.
After fetching the TrueCommand Docker container, enter docker ps
to see details about running containers.
Use the port assigned to the container to access the web interface.
The list from docker ps
contains a PORTS column.
Find the port associated with the ghcr.io/ixsystems/truecommand
image.
The PORTS entry is listed as 0.0.0.0:port->80/tcp
, 0.0.0.0:sslport->443/tcp
where port and sslport are the ports specified earlier.
To access the web interface with no encryption, enter hostsystemIPaddress:port
in a browser address bar, where hostsystemIPaddress is the IP address of the host system that is running the TrueCommand Docker container.
To access the web interface with standard SSL encryption, enter https://hostsystemIPaddress:sslport
in a browser address bar.
Access the container directly via shell with docker exec -it CONTAINER_ID /bin/bash
to make advanced configuration changes.
TrueCommand uses a self signed certificate for a secure connection. Because of this, many Internet browsers consider the IP address or DNS host name untrustworthy. In these cases, you must add the IP address or DNS host name as an exception to the browser to access the web interface. Adding an exception is shown here for two different browsers, but the procedure is similar for most browsers.
After the initial login, prevent this in future logins by adding your own certificate keypair and / or certificate authority (CA).