GREENENGINE Deployment Guide

This guide explains how to deploy the full GREENENGINE toolbox using Docker Compose. The deployment includes authentication, co-production tools, analytics, gamification services, monitoring, and more. It is designed to be replicable, modular, and production-ready.


๐Ÿ“ฆ Requirements

  • Docker โ‰ฅ 20.10
  • Docker Compose โ‰ฅ 1.29
  • A Linux-based system (Ubuntu 20.04+, Debian, etc.)
  • A valid domain (for HTTPS via Let's Encrypt)
  • Recommended:git, curl, and basic CLI tools
  • At least 8 GB RAM and 4 vCPU (recommended: 16 GB / 8 vCPU for full stack)

โš™๏ธ Quick Setup

1. Download the docker-compose files and environment configuration sample

https://greengage-project.github.io/Documentation/green-engine/docker-compose.yml

https://greengage-project.github.io/Documentation/green-engine/.env.sample

2. Set Up the Environment File

Create a .env file by copying the template:

cp .env.sample .env

Edit the file with your preferred editor and configure:

  • MAIN_DOMAIN=yourdomain.com
  • Other required variables (see comments in .env.sample)

โš ๏ธ Important: This setup is provided as a boilerplate and can be extended or modified depending on pilot-specific needs. New services (e.g., additional data pipelines, frontend modules, edge connectors) can be integrated into the architecture by editing the docker-compose.yml file and updating the .env configuration accordingly. The platform is designed to be modular and scalable.

3. Create Required Docker Networks

Before launching the stack, make sure the required external Docker networks are created. These allow multiple containers to communicate securely across services like the proxy (Traefik) and monitoring tools (Grafana, Prometheus).

Run the following commands:

docker network create traefik-public
docker network create grafana-network

Note: These are external networks, meaning they must exist before running docker-compose up. If you get an error about missing networks, check their existence with docker network ls and recreate them if necessary.

These can be included or ignored depending on the services enabled in your docker-compose.yml.

4. Start the Full Stack

docker-compose up -d

This command will start over 20 services, including:

  • ๐Ÿ” Keycloak (auth)
  • ๐Ÿ“Š Grafana + Prometheus (monitoring)
  • โš™๏ธ Dremio, Matomo, ElasticSearch (analytics)
  • ๐Ÿง  Gamification engine (Python + postgresql)
  • ๐Ÿ’ฌ Loomio, Coproduction backend/frontend
  • ๐Ÿ› ๏ธ Traefik (proxy + TLS)
  • ๐Ÿ—„๏ธ PostgreSQL, Redis, MongoDB
  • ๐Ÿ’ก Crontab backups and static volumes

๐Ÿงช Verify Deployment

  • Keycloak: https://auth1.yourdomain.com
  • Frontend: https://yourdomain.com
  • Monitoring: https://yourdomain.com/monitoring
  • Gamification (optional route): /interlink-gamification

To check logs:

docker-compose logs -f traefik

To see running services:

docker ps

๐Ÿ” HTTPS via Let's Encrypt

Traefik automatically configures HTTPS certificates using the email and domain in .env. Make sure ports 80 and 443 are open and your domain points to your host.


๐Ÿ” Replicating to New Environments

  1. Copy the repo to the new host.
  2. Create a new .env file.
  3. Repeat the steps from Quick Setup.
  4. Optionally, adjust volumes or backup paths for multi-node sync.

๐Ÿงฐ Maintenance

Restart the stack:

docker-compose restart

Stop all services:

docker-compose down

Prune unused resources:

docker system prune -a

๐Ÿ“– Documentation

๐Ÿ“˜ Full documentation and advanced setup options are available at: https://greengage-project.github.io/Documentation


๐Ÿ‘จโ€๐Ÿ”ง Support

For technical issues, please open an issue in the repository or contact:

๐Ÿ“ฉ greengage.admin@deusto.es Maintained by the GREENGAGE