diff options
Diffstat (limited to 'docker-compose.yml')
-rw-r--r-- | docker-compose.yml | 97 |
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} |