summaryrefslogtreecommitdiffstats
path: root/tests/testserver/docker-compose.yml
blob: 4286c88211bff9ebeed2485897a86628f479bff9 (plain)
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
version: '3.4'

# The tag of images is used by docker compose file to launch the corresponding
# docker containers. The value of tag comes from the provisioning script
# (coin/provisioning/.../testserver/docker_testserver.sh). The script gets SHA-1
# of each server context as the tag of docker images. If one of the server
# contexts gets changes, please make sure to update this compose file as well.
# You can run command 'docker images' to list all the tag of test server images.
# For example:
# REPOSITORY              TAG
# qt-test-server-apache2  537fe302f61851d1663f41495230d8e3554a4a13

services:
    apache2:
        image: qt-test-server-apache2:537fe302f61851d1663f41495230d8e3554a4a13
        container_name: qt-test-server-apache2
        domainname: ${TEST_DOMAIN}
        hostname: apache2
        volumes:
            - ./common:/common:ro
            - ./apache2:/service:ro
        entrypoint: common/startup.sh
        command: [common/ssl.sh, service/apache2.sh]

    squid:
        image: qt-test-server-squid:9c32f41b19aca3d778733c4d8fb0ecc5955e893c
        container_name: qt-test-server-squid
        domainname: ${TEST_DOMAIN}
        hostname: squid
        depends_on:
            - apache2
        external_links:
            - apache2:apache2.${TEST_DOMAIN}
            - cyrus:cyrus.${TEST_DOMAIN}
            - iptables:iptables.${TEST_DOMAIN}
            - vsftpd:vsftpd.${TEST_DOMAIN}
        volumes:
            - ./common:/common:ro
            - ./squid:/service:ro
        entrypoint: common/startup.sh
        command: service/squid.sh

    vsftpd:
        image: qt-test-server-vsftpd:f3a9c8d793a77cc007c0e4e481bec01f9e3eeb7e
        container_name: qt-test-server-vsftpd
        domainname: ${TEST_DOMAIN}
        hostname: vsftpd
        volumes:
            - ./common:/common:ro
            - ./vsftpd:/service:ro
        entrypoint: common/startup.sh
        command: service/vsftpd.sh

    ftp-proxy:
        image: qt-test-server-ftp-proxy:d7de8b28392d173db512a558ccc84ead8bece2ae
        container_name: qt-test-server-ftp-proxy
        domainname: ${TEST_DOMAIN}
        hostname: ftp-proxy
        depends_on:
            - vsftpd
        external_links:
            - vsftpd:vsftpd.${TEST_DOMAIN}
        volumes:
            - ./common:/common:ro
            - ./ftp-proxy:/service:ro
        entrypoint: common/startup.sh
        command: service/ftp-proxy.sh

    danted:
        image: qt-test-server-danted:35607f9b790524cf9690c7d12a9a401696b7b6b5
        container_name: qt-test-server-danted
        domainname: ${TEST_DOMAIN}
        hostname: danted
        depends_on:
            - apache2
            - vsftpd
            - ftp-proxy
        external_links:
            - apache2:apache2.${TEST_DOMAIN}
            - vsftpd:vsftpd.${TEST_DOMAIN}
            - ftp-proxy:ftp-proxy.${TEST_DOMAIN}
            - cyrus:cyrus.${TEST_DOMAIN}
        volumes:
            - ./common:/common:ro
            - ./danted:/service:ro
        entrypoint: common/startup.sh
        command: service/danted.sh

    cyrus:
        image: qt-test-server-cyrus:c8d72754abc0e501afd624ce838e4df35505abc9
        container_name: qt-test-server-cyrus
        domainname: ${TEST_DOMAIN}
        hostname: cyrus
        volumes:
            - ./common:/common:ro
            - ./cyrus:/service:ro
        entrypoint: common/startup.sh
        command: service/cyrus.sh

    iptables:
        image: qt-test-server-iptables:cb7a8bd6d28602085a88c8ced7d67e28e75781e2
        container_name: qt-test-server-iptables
        domainname: ${TEST_DOMAIN}
        hostname: iptables
        volumes:
            - ./common:/common:ro
            - ./iptables:/service:ro
        entrypoint: common/startup.sh
        command: service/iptables.sh
        cap_add:
            - NET_ADMIN
            - NET_RAW