https://github.com/freva-org/freva-service-config
Configurations for all freva services (apache Solr, MySQL)
https://github.com/freva-org/freva-service-config
atmospheric-science database earth-science solr-server
Last synced: 6 months ago
JSON representation
Configurations for all freva services (apache Solr, MySQL)
- Host: GitHub
- URL: https://github.com/freva-org/freva-service-config
- Owner: freva-org
- Created: 2022-10-08T05:22:28.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-12-20T03:45:12.000Z (7 months ago)
- Last Synced: 2026-01-17T20:35:05.173Z (6 months ago)
- Topics: atmospheric-science, database, earth-science, solr-server
- Language: Shell
- Size: 9.74 MB
- Stars: 0
- Watchers: 1
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Freva services
This repository holds all definitions for Docker images to create services
that are needed to run Freva in production and development mode. Currently
those services are:
- MySQL
- MongoDB
- Apache Solr
- Redis
- Keycloak Open ID Connect service via OpenLDAP federation
### Building the containers images locally
Use `./local-build.sh` to build all service images locally.
Add the --check flag to run built-in healthchecks after the build.
The script supports both Docker and Podman, and will fail immediately
if any build or check fails:
```console
bash local-build.sh --check
```
## Production Usage
> [!CAUTION]
> A manual setup of the service will most likely fail. You should set up this
> service via the [freva-deployment](https://freva-deployment.readthedocs.io/en/latest/)
> routine.
## Development Usage
Development environments should submodule this repository. See the
[freva-nextgen](https://github.com/freva-org/freva-nextgen) as an example.
## Keycloak
For development purpupose [Keycloak](https://www.keycloak.org) is pre configured
as an identity provider.
The keycloak configuration defines a *freva* realm. The realm defines a
``client_id=freva``. This freva realm has also
and openLDAP server configured. The openLDAP server configuration defines a
couple of dummy users:
- uid: johndoe, password: johndoe123, mail: john@example.com
- uid: janedoe, password: janedoe123, mail: jane@example.com
- uid: alicebrown, password: alicebrown123, mail: alice@example.com
- uid: bobsmith, password: bobsmith123, mail: bob@example.com
- uid: lisajones, password: lisajones123, mail: lisa@example.com
- uid: bobsmith, password: bobsmith123, mail: bob@existing.com
### Backup of data
If you need a simple backup functionality, you can add the `daily_backup.sh`
script in the same manner.
Setting up the volumes as outlined above will instruct the containers to
automatically creating new MariaDB tables (if not existing) and Solr cores
(if not existing).
If you added the `daily_backup.sh` files via a volume to the container you can
setup simple crontab to create backups on the *host* machine running
the container. A simple crontab example could like like this.
```
# m h dom mon dow command
0 5 * * * docker exec container-name bash -c /usr/local/bin/daily_backup
```