Skip to content

Resources to facilitate deployment of the SKOOP server and web applications

License

Notifications You must be signed in to change notification settings

T-Systems-MMS/skoop-deployment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SKOOP Deployment

This repository provides templates for different kinds of deployments of the SKOOP application.

Using Docker Compose

The subdirectory docker-compose contains a template to deploy SKOOP using Docker Compose. This is an ideal solution for local development and testing environments. It is NOT recommended for production!

Prerequisites

  • Docker 17.06.0 (or higher)

  • Docker Compose 1.17.0 (or higher)

  • Git Client

Deployment with the images from Docker Hub

We publish Docker images on Docker Hub:

To deploy the images:

  1. Clone this Git repository.

  2. Open a terminal in the subdirectory docker-compose.

  3. Export the environment variable SERVER_DOMAIN to define the web domain where the SKOOP WebApp will be hosted. For example: SERVER_DOMAIN=skoop.your-domain.com. Default is localhost.

  4. Export the environment variable SERVER_ADMIN to define the admin’s e-mail address (just for internal configuration). For example: SERVER_ADMIN=[email protected]. Default is [email protected].

  5. Optionally export the environment variable LIQUIGRAPH_CHANGELOG to define the Liquigraph changelog to initialize the database. Default is /db/liquigraph/changelog.xml.

  6. Optionally export the environment variable SMTP_SERVER_HOST to define the SMTP server to send e-mails with. Default is localhost.

  7. Optionally export the environment variable SMTP_SERVER_PORT to define the SMTP port of the server to send e-mails with. Default is 25.

  8. (Conditional) Initialize a Docker swarm if you did not do this before: docker swarm init

  9. Start the deployment: ./deploy.sh

  10. Verify the service state: docker service ls -f name=skoop

  11. Configure the KeyCloak realm after the first deployment. Go to http://skoop.your-domain.com:9000/auth and follow the instructions in the section Configuring authentication using KeyCloak.

  12. Visit http://skoop.your-domain.com/ to view the SKOOP WebApp.

Deployment from sources

The SKOOP Server and WebApp can be deployed directly from sources using the bash script deploy-from-sources.sh. The script fetches the sources from GitHub, compiles the applications and builds their Docker images. Then it starts the Docker Compose deployment as described above.

  1. Clone this Git repository.

  2. Open a terminal in the subdirectory docker-compose.

  3. Export the environment variable SERVER_DOMAIN to define the web domain where the SKOOP WebApp will be hosted. For example: SERVER_DOMAIN=skoop.your-domain.com. Default is localhost.

  4. Export the environment variable SERVER_ADMIN to define the admin’s e-mail address (just for internal configuration). For example: SERVER_ADMIN=[email protected]. Default is [email protected].

  5. Optionally export the environment variable LIQUIGRAPH_CHANGELOG to define the Liquigraph changelog to initialize the database. Default is /db/liquigraph/changelog.xml.

  6. Optionally export the environment variable SMTP_SERVER_HOST to define the SMTP server to send e-mails with. Default is localhost.

  7. Optionally export the environment variable SMTP_SERVER_PORT to define the SMTP port of the server to send e-mails with. Default is 25.

  8. Optionally export the environment variable BUILD_CONTEXT_DIR to define the directory where the sources and build caches should be stored. Default is $HOME/skoop.

  9. Optionally export the environment variables HTTP_PROXY, HTTPS_PROXY and NO_PROXY if HTTP connections to the internet must be established via a proxy server. For example: HTTP_PROXY=http://proxy.company.com:8080 ; NO_PROXY=localhost,127.0.0.1

  10. Optionally create a Maven configuration file settings.xml inside the BUILD_CONTEXT_DIR/.m2 directory to customize Maven settings. This is important if Maven must use a proxy server to download dependencies.

  11. (Conditional) Initialize a Docker swarm if you did not do this before: docker swarm init

  12. Start the deployment: ./deploy-from-sources.sh

  13. Verify the service state: docker service ls -f name=skoop

  14. Configure the KeyCloak realm after the first deployment. Go to http://skoop.your-domain.com:9000/auth and follow the instructions in the section Configuring authentication using KeyCloak.

  15. Visit http://skoop.your-domain.com/ to view the SKOOP WebApp.

Configuring authentication using KeyCloak

  1. Install the KeyCloak server.

  2. Log in to the KeyCloak administration console.

  3. Create a new realm named SKOOP.

  4. Create a new client within the SKOOP realm:

  5. Configure the client settings:

    • Access Type: public

    • Standard Flow Enabled: off

    • Implicit Flow Enabled: on

    • Valid Redirect URI: /*

    • Web Origins: (Base URL where the SKOOP WebApp is hosted), e.g. http://skoop.your-domain.com

  6. Configure the mappers of the client scope profile:

    • For the mapper username set the Token Claim Name to user_name

  7. Configure users and groups as needed.

License

MIT

About

Resources to facilitate deployment of the SKOOP server and web applications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages