https://github.com/greendelta/lca-collaboration-server-docker
Docker file for building an image for the LCA Collaboration Server
https://github.com/greendelta/lca-collaboration-server-docker
Last synced: 11 months ago
JSON representation
Docker file for building an image for the LCA Collaboration Server
- Host: GitHub
- URL: https://github.com/greendelta/lca-collaboration-server-docker
- Owner: GreenDelta
- Created: 2023-08-18T12:23:08.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-11T17:04:13.000Z (over 1 year ago)
- Last Synced: 2025-02-10T03:46:17.968Z (over 1 year ago)
- Language: HCL
- Size: 69.3 KB
- Stars: 2
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Example Docker setup for the LCA Collaboration Server
This repository contains a setup for running the [LCA Collaboration Server](https://www.openlca.org/collaboration-server/) in a Docker container.
## Requirements
To run this setup, you need Docker and Docker Compose:
- [Docker](https://docs.docker.com/get-docker/)
- [Docker Compose](https://docs.docker.com/compose/)
## Environment variables
The setup will use environment variables. These can be set in a file named `.env`. The environment variables will be automatically loaded by the Docker Compose setup.
```bash
# Please fill in the following environment variables in this file
MYSQL_DATABASE=
MYSQL_USER=
MYSQL_PASSWORD=
MYSQL_ROOT_PASSWORD=
OPENSEARCH_INITIAL_ADMIN_PASSWORD=
SERVER_URL= # optional
```
## Running the LCA Collaboration Server with Docker compose
You can start the collaboration server by executing the following command:
```bash
cd lca-collaboration-server-docker
docker compose up
```
> **_NOTE:_** When modifying the `.env` file, you need to re-run the Docker
Compose command with the `--force-recreate` flag:
```bash
docker compose up --force-recreate
```
It will fetch images for the LCA Collaboration Server (from registry.greendelta.com), MySQL and OpenSearch. Then it starts containers for these images in interactive mode.
The setup will use two volumes (`db` and `server`) for storing data. These volumes are created if they do not exist yet:
```bash
$ docker volume ls
DRIVER VOLUME NAME
local lcacollab-db
local lcacollab-server
```
### Setting up the server
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 credentials should be changed, see also the [configuration guide](https://www.openlca.org/lca-collaboration-server-2-configuration-guide/).
| Username | Password |
| --------------- | ------------------- |
| `administrator` | `Plea5eCh@ngeMe` |
For using OpenSearch, you will need to stop and restart the containers (without
the `--force-recreate` flag!).
Then, re-index the repositories in `/administration/overview`. You can click on
`Run test search` in `/administration/settings` to verify that OpenSearch is
working.
## Running in read-only mode with external MySQL Server
The container can be run with the following command (the MySQL server must be up and running):
```bash
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`) for storing data. This volume is created if it does not exist yet:
```bash
$ docker volume ls
DRIVER VOLUME NAME
local lcacollab-server
```
## Run a stand alone MySQL container
For testing purposes, a MySQL container with different host name and port can be run with the following command:
```bash
docker compose -f compose.mysql.yaml up
```
The database schema is initialized at start.