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:
- mysql: The current stable official MariaDB Server.
- redis: Latest official Redis Server from Redis Labs with RedisTimeSeries Module.
- grafana: The latest official Grafana Server from Grafana Labs.
- opsi-server: Contains the latest opsiconfd, opsipxeconfd, opsi-tftpd-hpa and opsi-utils from uib GmbH.
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
.
- Adapt the docker-compose.yml to your needs regarding network and volumes.
- Set the variable
OPSI_HOST_ROLE
toconfigserver
. - Set the values for
hostname
anddomainname
to reflect your environment. The resulting FQDN must resolve to the external address of the container. - Start all services with
./opsi-server.sh start
/.\opsi-server.ps1 start
. - You can see the containers status using
./opsi-server.sh status
/.\opsi-server.ps1 status
. - The container logs are available via
./opsi-server.sh logs
/.\opsi-server.ps1 logs
.
- Adapt the docker-compose.yml to your needs regarding network and volumes.
- You won't need the services
mysql
andgrafana
for a depotserver, so you can remove them from the docker-compose.yml. In this case you should also removemysql
from thedepends_on
attribute of theopsiconfd
service. - Set the variable
OPSI_HOST_ROLE
todepotserver
. - The variable
OPSI_SERVICE_ADDRESS
has to contain the address of your opsi configserver. OPSI_HOST_KEY
has to contain the host key of the depot.- Start all services with
./opsi-server.sh start
/.\opsi-server.ps1 start
.
- If TFTP netboot is not needed, you should disable opsipxeconfd and opsi-tftp-hpa
by setting the environment variable
OPSI_TFTPBOOT
to"false"
.
- Open the address
https://<FQDN>:4447
in a browser. - Login as
adminuser
with password<OPSI_ADMIN_PASSWORD>
as set in the docker-compose.yml. - Open the
Licensing
-Tab and upload your opsi license file. - You can use the
Terminal
-Tab to get a terminal on your server. - Continue reading https://docs.opsi.org/opsi-docs-de/stable/first-steps/first-steps.html