summaryrefslogtreecommitdiffstats
path: root/docker-compose.yml
blob: add1cffeb28068dc1dd95b9e7384fa1c4c2ff67d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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}