This repository contains a setup for running the LCA Collaboration Server 2.3 in a Docker container.
To run this setup, you need Docker and Docker Compose:
The setup will use environment variables. These can be set in an .env
file. The environement variables will be automatically loaded by the Docker Compose setup.
# Please fill in the following environment variables in this file
MYSQL_URL=collaboration-server-db
MYSQL_PORT=3306
MYSQL_DATABASE=<please_fill_in>
MYSQL_USER=<please_fill_in>
MYSQL_PASSWORD=<please_fill_in>
MYSQL_ROOT_PASSWORD=<please_fill_in>
OPENSEARCH_INITIAL_ADMIN_PASSWORD=<please_fill_in>
You can start the collaboration server by executing the following command:
cd lca-collaboration-server-docker
docker compose up
If not done yet, this will build the image for the collaboration server and also fetch images for MySQL and OpenSearch. Then it starts containers for these images in interactive mode.
The setup will use two volumes (db-data
and server-data
) for storing data. These volumes are created if they do not exist yet:
$ docker volume ls
DRIVER VOLUME NAME
local collaboration-server-docker_db-data
local collaboration-server-docker_server-data
The collaboration server will run on port 8080
, thus http://localhost:8080 will bring you to the login page of the collaboration server. The initial admin crendentials should be changed, see also the configuration guide.
Username | Password |
---|---|
administrator |
Plea5eCh@ngeMe |
For using the search, you first need to enable it in the administration settings under Enabled features: Search
. For the URL of the OpenSearch service, you need to set it to http://search:9200
:
Schema | Url | Port |
---|---|---|
http |
search # not localhost! |
9200 |
To run the collaboration server in read-only mode, build the collaboration-server
image with the following command first:
docker build -t collaboration-server .
The MySQL Server parameters can be adapted in the .env
file:
The container can be run with the following command (the MySQL server must be up and running) then:
docker compose -f compose.read-only.yaml up
If you want to run the containers in background instead, just add the -d
flag to the command.
The setup will use a single volume (server-data
) for storing data. This volume is created if it does not exist yet:
$ docker volume ls
DRIVER VOLUME NAME
local lca-collaboration-server-docker_server-data
For testing purposes, a MySQL container with different host name and port can be run with the following command:
docker compose -f compose.mysql.yaml up
The database schema is initialized at start.