--- version: "3.8" services: db: build: context: . dockerfile: mariadb.Dockerfile env_file: - ./.env volumes: - db:/var/lib/mysql ports: - "13306:3306" healthcheck: test: out=$$(mysqladmin ping -h localhost -P 3306 -u root -p$$MYSQL_ROOT_PASSWORD 2>&1); echo $$out | grep 'mysqld is alive' || { echo $$out ; exit 1 ; } smtp: build: context: . dockerfile: smtp.Dockerfile volumes: - maildir:/home/catchall/Maildir application: build: context: . dockerfile: application.Dockerfile environment: DEPLOYMENT_NAME: "CAcert.org Website (local development)" MYSQL_APP_HOSTNAME: db MYSQL_APP_DATABASE: cacert CSR_DIRECTORY: /csr CRT_DIRECTORY: /crt DEFAULT_HOSTNAME: test.cacert.localhost SECURE_HOSTNAME: secure.test.cacert.localhost TVERIFY_HOSTNAME: tverify.test.cacert.localhost INSECURE_PORT: 8080 SECURE_PORT: 8443 RETURN_ADDRESS: "returns@cacert.localhost" SMTP_HOST: smtp env_file: - ./.env ports: - "8080:80" - "8443:443" depends_on: - db - smtp volumes: - ./cacert-software:/www volumes: db: { } maildir: { }