A configurable docker compose setup for development and testing of ClusterCockpit
Go to file
2021-06-10 10:08:07 +02:00
data Prepare docker setup to use fixtures 2021-06-09 09:53:35 +02:00
nginx Prepare docker setup to use fixtures 2021-06-09 09:53:35 +02:00
php-fpm Prepare docker setup to use fixtures 2021-06-09 09:53:35 +02:00
.env Prepare docker setup to use fixtures 2021-06-09 09:53:35 +02:00
docker-compose.yml Prepare docker setup to use fixtures 2021-06-09 09:53:35 +02:00
LICENSE Initial commit 2021-05-19 07:49:23 +02:00
README.md Update README.md 2021-06-10 10:08:07 +02:00

cc-docker

WARNING: This does not yet work!

This is a setup for docker compose to deploy a complete ClusterCockpit Application Stack including all external components.

At the end it will create containers for:

  • mysql
  • influxdb
  • php-fpm (including the Symfony application)
  • phpmyadmin
  • nginx

Everything is configured in .env.

There exist multiple persistent (shared) volumes:

  • symfony mapping to /var/www/symfony for the ClusterCockpit source tree
  • sql mapping to /var/lib/mysql
  • influxdb/data mapping to /var/lib/influxdb2
  • influxdb/config mapping to /etc//influxdb2
  • logs/nginx mapping to /var/log/nginx
  • logs/symfony mapping to /var/www/symfony/var/log

The containers are build and started using the command:

docker compose up

Desired modes for the future are:

  • Demo Includes everything to try out ClusterCockpit including initial Database Fixtures. No SSL and no reverse Proxy.
  • Develop Only includes all external components of ClusterCockpit. A functional PHP environment and the ClusterCockpit source must be maintained on host machine.
  • Production Includes everything to run ClusterCockpit in a Production environment including SSL and traefic reverse proxy and container orchestration.

TODOS (There are probably a lot more!):

  • Some of the Volume directories need to be created first.
  • ClusterCockpit is at the moment still using the influxDB V1 API, the InfluxDB container is already V2
  • For a running demo database fixtures for MySQL and InfluxDB are missing

Using for DEMO purpose

Before starting the containers the fixture data needs to be prepared:

  • $ cd data
  • $ ./init.sh

You need to ensure that no other web server is running on port 80. Also existing VPN connections sometimes cause problems with docker. After that from the root of the repository you can start up the containers with:

  • docker-compose up
  • Wait... and wait a little longer

You can access ClusterCockpit in your browser at http://localhost . Credentials for admin user are:

  • User: admin
  • Password: AdminDev

You can shutdown the containers by pressing CTR-C. Nothing is preserved! After shutting down the container everything is initialized from scratch.

To reuse an existing Symfony tree at ./data/symfony you may remove the environment variable DOCKER_CLUSTERCOCKPIT_INIT in docker-composer.yml file.