This repository provides templates for different kinds of deployments of the SKOOP application.
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!
We publish Docker images on Docker Hub:
To deploy the images:
-
Clone this Git repository.
-
Open a terminal in the subdirectory
docker-compose
. -
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 islocalhost
. -
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]
. -
Optionally export the environment variable
LIQUIGRAPH_CHANGELOG
to define the Liquigraph changelog to initialize the database. Default is/db/liquigraph/changelog.xml
. -
Optionally export the environment variable
SMTP_SERVER_HOST
to define the SMTP server to send e-mails with. Default islocalhost
. -
Optionally export the environment variable
SMTP_SERVER_PORT
to define the SMTP port of the server to send e-mails with. Default is25
. -
(Conditional) Initialize a Docker swarm if you did not do this before:
docker swarm init
-
Start the deployment:
./deploy.sh
-
Verify the service state:
docker service ls -f name=skoop
-
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.
-
Visit http://skoop.your-domain.com/ to view the SKOOP WebApp.
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.
-
Clone this Git repository.
-
Open a terminal in the subdirectory
docker-compose
. -
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 islocalhost
. -
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]
. -
Optionally export the environment variable
LIQUIGRAPH_CHANGELOG
to define the Liquigraph changelog to initialize the database. Default is/db/liquigraph/changelog.xml
. -
Optionally export the environment variable
SMTP_SERVER_HOST
to define the SMTP server to send e-mails with. Default islocalhost
. -
Optionally export the environment variable
SMTP_SERVER_PORT
to define the SMTP port of the server to send e-mails with. Default is25
. -
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
. -
Optionally export the environment variables
HTTP_PROXY
,HTTPS_PROXY
andNO_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
-
Optionally create a Maven configuration file
settings.xml
inside theBUILD_CONTEXT_DIR/.m2
directory to customize Maven settings. This is important if Maven must use a proxy server to download dependencies. -
(Conditional) Initialize a Docker swarm if you did not do this before:
docker swarm init
-
Start the deployment:
./deploy-from-sources.sh
-
Verify the service state:
docker service ls -f name=skoop
-
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.
-
Visit http://skoop.your-domain.com/ to view the SKOOP WebApp.
-
Install the KeyCloak server.
-
Log in to the KeyCloak administration console.
-
Create a new realm named
SKOOP
. -
Create a new client within the
SKOOP
realm:-
Client ID:
skoop
-
Client Protocol:
openid-connect
-
Root URL: (Base URL where the SKOOP WebApp is hosted), e.g.
http://skoop.your-domain.com
-
-
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
-
-
Configure the mappers of the client scope
profile
:-
For the mapper
username
set the Token Claim Name touser_name
-
-
Configure users and groups as needed.