diff --git a/.env b/.env index ce1d1fe..3fe251d 100644 --- a/.env +++ b/.env @@ -1,45 +1,28 @@ ######################################################################## -# CLUSTERCOCKPIT SETTINGS +# CCBACKEND DEVEL DOCKER SETTINGS ######################################################################## -CLUSTERCOCKPIT_BRANCH=main -APP_CLUSTERCOCKPIT_INIT=true -APP_ENVIRONMENT=dev -APP_SECRET=67d829bf61dc5f87a73fd814e2c9f629 -APP_JWT_PRIV_KEY="dtPC/6dWJFKZK7KZ78CvWuynylOmjBFyMsUWArwmodOTN9itjL5POlqdZkcnmpJ0yPm4pRaCrvgFaFAbpyik/Q==" -APP_JWT_PUB_KEY="kzfYrYy+TzpanWZHJ5qSdMj5uKUWgq74BWhQG6copP0=" - -######################################################################## -# PHP -######################################################################## -PHP_XDEBUG_INIT=false -PHP_XDEBUG_MODE=debug,develop -PHP_XDEBUG_CLIENT_PORT=9003 -#> LINUX: 'docker0' interface IP of host -# PHP_XDEBUG_CLIENT_HOST=1.2.3.4 -#> MAC/WIN: Docker Wildcard for host IP -PHP_XDEBUG_CLIENT_HOST=host.docker.internal - -######################################################################## -# MySQL -# The SQL port is not exposed outside the container -######################################################################## -MYSQL_ROOT_PASSWORD=root -MYSQL_DATABASE=ClusterCockpit -MYSQL_USER=symfony -MYSQL_PASSWORD=symfony ######################################################################## # INFLUXDB ######################################################################## INFLUXDB_PORT=8086 -INFLUXDB_PASSWORD=2RPJpkrduLgkpfQCpcBe1jYv -INFLUXDB_ADMIN_TOKEN=egLfcf7fx0FESqFYU3RpAAbj +INFLUXDB_PASSWORD=1bc8777daad29d2f05eb77b7571fd8a1 +INFLUXDB_ADMIN_TOKEN=74008ea2a8dad5e6f856838a90c6392e INFLUXDB_ORG=ClusterCockpit -INFLUXDB_BUCKET=ClusterCockpit/data +INFLUXDB_BUCKET=ClusterCockpit # Whether or not to check SSL Cert in Symfony Client, Default: false INFLUXDB_SSL=false ######################################################################## +# MARIADB +######################################################################## +MARIADB_ROOT_PASSWORD=root +MARIADB_DATABASE=ClusterCockpit +MARIADB_USER=clustercockpit +MARIADB_PASSWORD=clustercockpit +MARIADB_PORT=3306 + +######################################### # LDAP ######################################################################## LDAP_ADMIN_PASSWORD=mashup @@ -49,13 +32,7 @@ LDAP_DOMAIN=rrze.uni-erlangen.de ######################################################################## # PHPMyAdmin ######################################################################## -PHPMYADMIN_PORT=8080 - -######################################################################## -# NGINX -######################################################################## -NGINX_PORT=80 -NGINX_SYMFONY_SERVER_NAME=localhost +PHPMYADMIN_PORT=8081 ######################################################################## # INTERNAL SETTINGS diff --git a/.gitignore b/.gitignore index c15cb21..23c5b49 100644 --- a/.gitignore +++ b/.gitignore @@ -6,5 +6,3 @@ data/cc-metric-store cc-backend cc-backend/** .vscode -docker-compose.yml -.env diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..63c7109 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,92 @@ +services: + nats: + container_name: cc-nats + image: nats:alpine + ports: + - "4222:4222" + - "8222:8222" + + cc-metric-store: + container_name: cc-metric-store + build: + context: ./cc-metric-store + ports: + - "8084:8084" + volumes: + - ${DATADIR}/cc-metric-store:/data + depends_on: + - nats + + influxdb: + container_name: cc-influxdb + image: influxdb + command: ["--reporting-disabled"] + environment: + DOCKER_INFLUXDB_INIT_MODE: setup + DOCKER_INFLUXDB_INIT_USERNAME: devel + DOCKER_INFLUXDB_INIT_PASSWORD: ${INFLUXDB_PASSWORD} + DOCKER_INFLUXDB_INIT_ORG: ${INFLUXDB_ORG} + DOCKER_INFLUXDB_INIT_BUCKET: ${INFLUXDB_BUCKET} + DOCKER_INFLUXDB_INIT_RETENTION: 100w + DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: ${INFLUXDB_ADMIN_TOKEN} + ports: + - "127.0.0.1:${INFLUXDB_PORT}:8086" + volumes: + - ${DATADIR}/influxdb/data:/var/lib/influxdb2 + - ${DATADIR}/influxdb/config:/etc/influxdb2 + + openldap: + container_name: cc-ldap + image: osixia/openldap:1.5.0 + command: --copy-service --loglevel debug + environment: + - LDAP_ADMIN_PASSWORD=${LDAP_ADMIN_PASSWORD} + - LDAP_ORGANISATION=${LDAP_ORGANISATION} + - LDAP_DOMAIN=${LDAP_DOMAIN} + volumes: + - ${DATADIR}/ldap:/container/service/slapd/assets/config/bootstrap/ldif/custom + + mariadb: + container_name: cc-db + image: mariadb:latest + command: ["--default-authentication-plugin=mysql_native_password"] + environment: + MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD} + MARIADB_DATABASE: ${MARIADB_DATABASE} + MARIADB_USER: ${MARIADB_USER} + MARIADB_PASSWORD: ${MARIADB_PASSWORD} + ports: + - "127.0.0.1:${MARIADB_PORT}:3306" + # volumes: + # - ${DATADIR}/sql-init:/docker-entrypoint-initdb.d + cap_add: + - SYS_NICE + + mysql: + container_name: cc-mysql + image: mysql:8.0.22 + command: ["--default-authentication-plugin=mysql_native_password"] + environment: + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + MYSQL_DATABASE: ${MYSQL_DATABASE} + MYSQL_USER: ${MYSQL_USER} + MYSQL_PASSWORD: ${MYSQL_PASSWORD} + ports: + - "127.0.0.1:${MYSQL_PORT}:3306" + # volumes: + # - ${DATADIR}/sql-init:/docker-entrypoint-initdb.d + # - ${DATADIR}/sqldata:/var/lib/mysql + cap_add: + - SYS_NICE + + phpmyadmin: + container_name: cc-phpmyadmin + image: phpmyadmin + environment: + - PMA_HOST=cc-db + - PMA_USER=root + - PMA_PASSWORD=${MARIADB_ROOT_PASSWORD} + ports: + - "127.0.0.1:${PHPMYADMIN_PORT}:80" + depends_on: + - db