summaryrefslogtreecommitdiffstats
path: root/docker-compose.yml
diff options
context:
space:
mode:
Diffstat (limited to 'docker-compose.yml')
-rw-r--r--docker-compose.yml97
1 files changed, 97 insertions, 0 deletions
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..add1cff
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,97 @@
+version: "3"
+services:
+ master-server:
+ container_name: master-server
+ image: master-server:latest
+ hostname: server.master
+ build:
+ context: .
+ dockerfile: pkg/docker/master-server_dockerfile
+ args:
+ MASTER_SERVER_FILE: target/image-master-1.0-SNAPSHOT-jar-with-dependencies.jar
+ MASTER_CONFIG_FILE_GLOBAL: config/global.properties.tmpl
+ MASTER_CONFIG_FILE_DATABASE: config/mysql.properties.tmpl
+ MASTER_VSTORE_PATH: ${MASTER_SERVER_STORAGE}
+ MASTER_KEYSTORE_FILE: ${MASTER_KEYSTORE_FILE}
+ MASTER_KEYSTORE_ALIAS: ${MASTER_KEYSTORE_ALIAS}
+ MASTER_KEYSTORE_KEY_SIZE: ${MASTER_KEYSTORE_KEY_SIZE}
+ MASTER_KEYSTORE_PASSWORD: ${MASTER_KEYSTORE_PASSWORD}
+ MASTER_FILE_TRANSFER_PORT_PLAIN: ${MASTER_FILE_TRANSFER_PORT_PLAIN}
+ MASTER_FILE_TRANSFER_PORT_SSL: ${MASTER_FILE_TRANSFER_PORT_SSL}
+ MASTER_THRIFT_PORT_PLAIN: ${MASTER_THRIFT_PORT_PLAIN}
+ MASTER_THRIFT_PORT_SSL: ${MASTER_THRIFT_PORT_SSL}
+ environment:
+ MASTER_DATABASE_NAME: ${MASTER_DATABASE_NAME}
+ MASTER_DATABASE_HOST: ${MASTER_DATABASE_IPV4}
+ MASTER_DATABASE_USER: ${MASTER_DATABASE_USER}
+ MASTER_DATABASE_PASSWORD: ${MASTER_DATABASE_PASSWORD}
+ MASTER_VSTORE_PATH: ${MASTER_SERVER_STORAGE}
+ MASTER_SESSION_TIMEOUT_USER: 7200
+ MASTER_SESSION_TIMEOUT_SERVER: 86400
+ MASTER_KEYSTORE_FILE: ${MASTER_KEYSTORE_FILE}
+ MASTER_KEYSTORE_ALIAS: ${MASTER_KEYSTORE_ALIAS}
+ MASTER_KEYSTORE_PASSWORD: ${MASTER_KEYSTORE_PASSWORD}
+ MASTER_FILE_TRANSFER_PORT_PLAIN: ${MASTER_FILE_TRANSFER_PORT_PLAIN}
+ MASTER_FILE_TRANSFER_PORT_SSL: ${MASTER_FILE_TRANSFER_PORT_SSL}
+ MASTER_FILE_TRANSFER_TIMEOUT: 60
+ MASTER_FILE_TRANSFER_RETRIES: 4
+ MASTER_THRIFT_PORT_PLAIN: ${MASTER_THRIFT_PORT_PLAIN}
+ MASTER_THRIFT_PORT_SSL: ${MASTER_THRIFT_PORT_SSL}
+ volumes:
+ - master-server:${MASTER_SERVER_STORAGE}
+ depends_on:
+ - master-database
+ networks:
+ master:
+ ipv4_address: ${MASTER_SERVER_IPV4}
+ ipv6_address: ${MASTER_SERVER_IPV6}
+ master-database:
+ container_name: master-database
+ image: mariadb:latest
+ restart: on-failure
+ hostname: database.master
+ environment:
+ TZ: Europe/Berlin
+ MYSQL_DATABASE: ${MASTER_DATABASE_NAME}
+ MYSQL_ROOT_PASSWORD: ${MASTER_DATABASE_PASSWORD}
+ volumes:
+ - master-database:/var/lib/mysql
+ - ./${MASTER_DATABASE_DATASET_PATH}:/docker-entrypoint-initdb.d
+ networks:
+ master:
+ ipv4_address: ${MASTER_DATABASE_IPV4}
+ ipv6_address: ${MASTER_DATABASE_IPV6}
+ master-phpmyadmin:
+ container_name: master-phpmyadmin
+ image: phpmyadmin:latest
+ hostname: phpmyadmin.master
+ restart: on-failure
+ environment:
+ PMA_HOST: ${MASTER_DATABASE_IPV4}
+ PMA_VERBOSE: database.master
+ MYSQL_ROOT_PASSWORD: ${MASTER_DATABASE_PASSWORD}
+ depends_on:
+ - master-database
+ ports:
+ - 8080:80
+ networks:
+ master:
+ ipv4_address: ${MASTER_PHPMYADMIN_IPV4}
+ ipv6_address: ${MASTER_PHPMYADMIN_IPV6}
+volumes:
+ master-server:
+ name: master-server
+ master-database:
+ name: master-database
+networks:
+ master:
+ name: master
+ driver: bridge
+ enable_ipv6: true
+ ipam:
+ driver: default
+ config:
+ - subnet: ${MASTER_NETWORK_IPV4}
+ gateway: ${MASTER_NETWORK_IPV4_GATEWAY}
+ - subnet: ${MASTER_NETWORK_IPV6}
+ gateway: ${MASTER_NETWORK_IPV6_GATEWAY}