version: '2.1'

# For details about the "latest" tag used in the images here, see comments in
# docker-compose-bridge-network.yml

services:
    apache2:
        extends:
            file: ${SHARED_DATA}/docker-compose-common.yml
            service: ${SHARED_SERVICE}
        container_name: qt-test-server-apache2
        hostname: ${HOST_NAME:-apache2}
        build:
            context: .
            args:
                provisioningImage: qt-test-server-apache2:latest
                shareDir: ./common
                serviceDir: ./apache2
        entrypoint: service/startup.sh
        command: [service/ssl.sh, service/apache2.sh]
        environment:
            - test_cert="qt-test-server-host-network-cacert.pem"

    squid:
        extends:
            file: ${SHARED_DATA}/docker-compose-common.yml
            service: ${SHARED_SERVICE}
        container_name: qt-test-server-squid
        hostname: ${HOST_NAME:-squid}
        depends_on:
            - apache2
        build:
            context: .
            args:
                provisioningImage: qt-test-server-squid:latest
                shareDir: ./common
                serviceDir: ./squid
        entrypoint: service/startup.sh
        command: service/squid.sh

    vsftpd:
        extends:
            file: ${SHARED_DATA}/docker-compose-common.yml
            service: ${SHARED_SERVICE}
        container_name: qt-test-server-vsftpd
        hostname: ${HOST_NAME:-vsftpd}
        build:
            context: .
            args:
                provisioningImage: qt-test-server-vsftpd:latest
                shareDir: ./common
                serviceDir: ./vsftpd
        entrypoint: service/startup.sh
        command: service/vsftpd.sh

    ftp-proxy:
        extends:
            file: ${SHARED_DATA}/docker-compose-common.yml
            service: ${SHARED_SERVICE}
        container_name: qt-test-server-ftp-proxy
        hostname: ${HOST_NAME:-ftp-proxy}
        depends_on:
            - vsftpd
        build:
            context: .
            args:
                provisioningImage: qt-test-server-ftp-proxy:latest
                shareDir: ./common
                serviceDir: ./ftp-proxy
        entrypoint: service/startup.sh
        command: service/ftp-proxy.sh

    danted:
        extends:
            file: ${SHARED_DATA}/docker-compose-common.yml
            service: ${SHARED_SERVICE}
        container_name: qt-test-server-danted
        hostname: ${HOST_NAME:-danted}
        depends_on:
            - apache2
            - vsftpd
            - ftp-proxy
        build:
            context: .
            args:
                provisioningImage: qt-test-server-danted:latest
                shareDir: ./common
                serviceDir: ./danted
        entrypoint: service/startup.sh
        command: service/danted.sh
        environment:
            - danted_internal=${MACHINE_IP}
            - danted_external=${MACHINE_IP}
            - danted_auth_internal=${MACHINE_IP}
            - danted_auth_external=${MACHINE_IP}
