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                                       IMAGE ID
# qt-test-server-apache2  e2a70c8b169c204e762b375885bd3a26cc40ba48  2ad5c8720317

services:
    apache2:
        image: qt-test-server-apache2:cc9ea678b92bdda33acb9fa0159bb4ad0f3cd947
        container_name: qt-test-server-apache2
        domainname: test-net.qt.local
        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:577d99307eea9a8cccfec944d25be2bce2fe99cc
        container_name: qt-test-server-squid
        domainname: test-net.qt.local
        hostname: squid
        depends_on:
            - apache2
        external_links:
            - apache2:apache2.test-net.qt.local
        volumes:
            - ./common:/common:ro
            - ./squid:/service:ro
        entrypoint: common/startup.sh
        command: service/squid.sh

    vsftpd:
        image: qt-test-server-vsftpd:18896604c7e90b543e56d80c8a8aabdb65a590d0
        container_name: qt-test-server-vsftpd
        domainname: test-net.qt.local
        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:2c6c8f1ab6a364b540c43d705fb6f15a585cb2af
        container_name: qt-test-server-ftp-proxy
        domainname: test-net.qt.local
        hostname: ftp-proxy
        depends_on:
            - vsftpd
        external_links:
            - vsftpd:vsftpd.test-net.qt.local
        volumes:
            - ./common:/common:ro
            - ./ftp-proxy:/service:ro
        entrypoint: common/startup.sh
        command: service/ftp-proxy.sh

    danted:
        image: qt-test-server-danted:327dd56c3c35db85b26fac93213a5a1918475bc7
        container_name: qt-test-server-danted
        domainname: test-net.qt.local
        hostname: danted
        depends_on:
            - apache2
            - vsftpd
            - ftp-proxy
        external_links:
            - apache2:apache2.test-net.qt.local
            - vsftpd:vsftpd.test-net.qt.local
            - ftp-proxy:ftp-proxy.test-net.qt.local
        volumes:
            - ./common:/common:ro
            - ./danted:/service:ro
        entrypoint: common/startup.sh
        command: service/danted.sh
