Add default docker compose setup

This commit is contained in:
Jan Eitzinger 2023-06-23 06:32:23 +02:00
parent db0571dab1
commit 567a720be8
3 changed files with 106 additions and 39 deletions

51
.env
View File

@ -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
######################################################################## ########################################################################
INFLUXDB_PORT=8086 INFLUXDB_PORT=8086
INFLUXDB_PASSWORD=2RPJpkrduLgkpfQCpcBe1jYv INFLUXDB_PASSWORD=1bc8777daad29d2f05eb77b7571fd8a1
INFLUXDB_ADMIN_TOKEN=egLfcf7fx0FESqFYU3RpAAbj INFLUXDB_ADMIN_TOKEN=74008ea2a8dad5e6f856838a90c6392e
INFLUXDB_ORG=ClusterCockpit INFLUXDB_ORG=ClusterCockpit
INFLUXDB_BUCKET=ClusterCockpit/data INFLUXDB_BUCKET=ClusterCockpit
# Whether or not to check SSL Cert in Symfony Client, Default: false # Whether or not to check SSL Cert in Symfony Client, Default: false
INFLUXDB_SSL=false INFLUXDB_SSL=false
######################################################################## ########################################################################
# MARIADB
########################################################################
MARIADB_ROOT_PASSWORD=root
MARIADB_DATABASE=ClusterCockpit
MARIADB_USER=clustercockpit
MARIADB_PASSWORD=clustercockpit
MARIADB_PORT=3306
#########################################
# LDAP # LDAP
######################################################################## ########################################################################
LDAP_ADMIN_PASSWORD=mashup LDAP_ADMIN_PASSWORD=mashup
@ -49,13 +32,7 @@ LDAP_DOMAIN=rrze.uni-erlangen.de
######################################################################## ########################################################################
# PHPMyAdmin # PHPMyAdmin
######################################################################## ########################################################################
PHPMYADMIN_PORT=8080 PHPMYADMIN_PORT=8081
########################################################################
# NGINX
########################################################################
NGINX_PORT=80
NGINX_SYMFONY_SERVER_NAME=localhost
######################################################################## ########################################################################
# INTERNAL SETTINGS # INTERNAL SETTINGS

2
.gitignore vendored
View File

@ -6,5 +6,3 @@ data/cc-metric-store
cc-backend cc-backend
cc-backend/** cc-backend/**
.vscode .vscode
docker-compose.yml
.env

92
docker-compose.yml Normal file
View File

@ -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