This image can be used to set up an opsi config-server or an opsi depot-server. The only supported depot protocol is WebDAV, there is no Samba support included in this image. File backend is not supported, you will need an opsi MySQL module license.
All files mentioned here and the full README are available in the following GitHub repository:
https://github.com/opsi-org/opsi-docker
git clone https://github.com/opsi-org/opsi-docker.git
cd opsi-docker/opsi-server
./opsi-server.sh start
The image is meant to be used with Docker Compose. Minimum required Docker Compose version is 1.17.0 with Docker engine 17.09.0+. There are four services defined in the docker-compose.yml:
Install Docker or Docker Desktop for Linux, macOS or Windows.
Open an terminal and make sure the command docker run --rm hello-world
is working.
Alternatively you can use podman with docker compatibility enabled see here for more info.
The docker-compose.yml is a YAML file defining services, networks and volumes.
At the start of the file there are some X Properties defined (x-restart-policy for example). These YAML anchors are used to share settings between services.
For security reasons you should change all passwords in this file:
MYSQL_ROOT_PASSWORD
, MYSQL_PASSWORD
, REDIS_PASSWORD
, GF_SECURITY_ADMIN_PASSWORD
and OPSI_ADMIN_PASSWORD
.
The root account has no password set. If needed, it is possible to set the root password via OPSI_ROOT_PASSWORD
.
There are helper scripts called opsi-server.sh
and opsi-server.ps1
that can be used to simplify container handling.
In a Linux or macOS environment, open a terminal and make sure that the help script is executable (chmod +x opsi-server.sh
).
Now run ./opsi-server.sh
to display the help text of the script.
In a Windows environment, open a terminal with Powershell and run .\opsi-server.ps1
.
OPSI_HOST_ROLE
to configserver
.hostname
and domainname
to reflect your environment.
The resulting FQDN must resolve to the external address of the container../opsi-server.sh start
/ .\opsi-server.ps1 start
../opsi-server.sh status
/ .\opsi-server.ps1 status
../opsi-server.sh logs
/ .\opsi-server.ps1 logs
.mysql
and grafana
for a depotserver, so you can remove them from the docker-compose.yml.
In this case you should also remove mysql
from the depends_on
attribute of the opsiconfd
service.OPSI_HOST_ROLE
to depotserver
.OPSI_SERVICE_ADDRESS
has to contain the address of your opsi configserver.OPSI_HOST_KEY
has to contain the host key of the depot../opsi-server.sh start
/ .\opsi-server.ps1 start
.OPSI_TFTPBOOT
to "false"
.https://<FQDN>:4447
in a browser.adminuser
with password <OPSI_ADMIN_PASSWORD>
as set in the docker-compose.yml.Licensing
-Tab and upload your opsi license file.Terminal
-Tab to get a terminal on your server.