Demo

Info:

Since SEB Server version 1.3 there are two different demo setups provided within the seb-server-setup repositiory. The Basic Demo is the same demo setup as it exited before version 1.3, a single basic setup all in one for demonstrations. The Kubernetes Kind Example setup is a new demo and example setup for Kubernetes kind that can also act as a starting point or template for a Kubernetes based production ready setup.

Basic Demo

This setup provides a single (all in one), unsecured SEB Server setup for demonstrations and testing. This setup includes a single SEB Server instance and a single MariaDB server instance running both in a docker-container. With the default configuration, the MariaDB server is exposed on port 3306 and the SEB Server on port 8080.

installation strategy sub-directory.........docker/demo/basic
seb-server configuration....................docker/demo/basic/config/spring
single server setup.........................true
secured (TLS)...............................false
integrated mariadb service..................true
initial data setup..........................demo data
data setup on reload........................demo data
integrated reverse proxy....................false
automated backup-restore service............false
exposed database port.......................3306
recommended machine requirements............CPU: x86_64/2 Cores / 2 GHz, Mem 16GB, Disk Space min 100GB

Requirements:

  • Git if not already installed

  • Docker and Docker-Compose if not already installed

Note

The newest versions of Git and Docker are recommended. For installation see:

Setup:

The setup uses the latest stable SEB Server version from Docker-Hub and the installation is very straight forward. You can either copy the two files in /docker/demo directory to a preferred local installation directory or use git to clone the seb-server-setup repository on your local install machine and work on the cloned directory.

  1. Get the two needed files “.env” and “docker-compose.yml” form the docker/demo directory of this seb-server-setup repository

  2. Place this two files into a preferred local install directory.

  3. Open the “.env” file with a text editor and set the two password needed and save the file.

  4. Use “docker-compose pull” to let docker pull all needed images first

  5. Use “docker-compose up -d” to start the docker containers.

  6. Use “docker logs seb-server” to view the logs of SEB Server startup.

  7. Go to http://localhost:8080 and login with user name: “super-admin2 and password “admin”

Note

Since this is a demo installation it may not be necessary but we highly recommend to change the generated password from the initial admin account immediately after first login.

Service Update

Note

The update depends on your setup. Please be aware that if you have adapted a specified setup for your needs you need to also adapt the following update procedure.

To update an already installed and bundled SEB Server service, follow the steps below:

  1. Shout down the SEB Server setup docker services with

$ docker-compose down
  1. Update to the newest or preferred version within the seb-server-setup. Use git tags to show the available tags. If there are already local changed - if the configuration was modified from the original settings, and the local changes shall still be used and remain, git stash can be used to locally store and merge them.

# Get new tags from remote
$ git fetch --tags

# Get latest tag name
$ latestTag=$(git describe --tags `git rev-list --tags --max-count=1`)

# If local changes shall remain
$ git stash

# Checkout latest tag
$ git checkout $latestTag

# If local changes shall remain
$ git stash apply

Note

Usually you want to point to the exact version of the SEB Server setup by using semantic versioning like 1.0.0 or 1.0.1. You are also able to set the latest minor version to always get the latest specific minor version with all patches. If you want the latest minor version use version tags like 1.0-latest or 1.1-latest.

  1. Do some additional configuration if needed.

Note

Since SEB Server version 1.2.x there is a new setup procedure (dockerhub). If you use this setup, you have to provide the passwords that was given on startup again. Do not use another password for the SEBSERVER_PWD and only adapt the DB_SA_PWD if your database has a new password for the user. You can just copy or recreate the .env in the working directory that contains the needed password or you can give them with the docker-compose up command later on.

  1. Rebuild the image with the new SEB Server version

$ docker-compose build --no-cache

Or with a pull if you use a setup with an image from docker-hub:

$ docker-compose pull
  1. Boot the SEB Server setup docker services with

$ docker-compose up -d
  1. Check if the containers are started and running and everything is set in place for the particular setup

$ docker ps --all
$ docker logs ${container name}
  1. Cleanup the docker engine with

$ docker system prune

Service Reset

Note

The reset depends on your setup. Please be aware that if you have adapted a specified setup for your needs you need to also adapt the following reset procedure.

To reset a SEB Server installation either to delete the installation or the be able to install from scratch, you have to shout down the service and prune the docker system entirely. To do so, use the following steps.

Note

If you want to reuse data from backup you have to make sure you use the same initial password on the setup as before. Otherwise the service will not be able to decrypt previously encrypted data from the database.

  1. If the service is still running, go into the service setup directory and shout it down

$ docker-compose down
  1. Prune the related volumes (type yes of docker is asking you to proceed)

$ docker volume prune
  1. Make sure you have no other currently inactive services that you need and then prune the docker system. This will remove all dangling containers and images as well as networks.

$ docker system prune
  1. After this cleanup you are able to start with a new installation from scratch.

Service Backup / Restore

Per default the data of the MariaDB service is stored within a docker named volume (seb-server-mariadb) and can either be directly dumped from there by using a script or it is also possible to map this named volume to the hosts files system on installation process to apply to host file-system backup procedures that may already be in place for your particular IT environment. In this way you can perform a physical backup of the database data.

Another method would be to connect to the MariaDB server from a script on the host within the exposed port and perform a logical backup.

We recommend to contact your system administration to develop and apply a proper backup and restore procedure that fits best with your IT infrastructure. For further information about backup and restore procedures for MariaDB see Backing Up and Restoring Databases

There is also a docker-based backup and restore service provided by loomchild directly read and write to the named volume. This can be used to manually make a backup from the current docker volume or it may also be possible to automate this procedure for automated backups on daily basis.

Note

We highly recommend to stop the service before providing a physical backup like this with docker-compose down. And starting the service again after backup has been done with docker-compose up -d.

# Create a backup
$ docker run --rm -v seb-server-mariadb:/volume -v $PWD:/backup loomchild/volume-backup backup seb-server-backup-[DATE]

# Restore from a previously created backup
$ docker run --rm -v seb-server-mariadb:/volume -v $PWD:/backup loomchild/volume-backup restore seb-server-backup-[DATE]
$ docker restart seb-server-mariadb