version: "3" services: web: build: nginx ports: - "${WEB_PORT}:80" links: - app - filestore volumes: - filestore:/filestore-data filestore: build: filestore expose: [80] volumes: - filestore:/filestore-data environment: - "UPLOAD_FOLDER=/filestore-data" - "FILESTORE_PORT=80" app: build: server links: - db - redis volumes: - "./contest.dhall:/app/contest.dhall" - "./deploy.dhall:/app/deploy.dhall" environment: - "FLASK_DEBUG=1" - "SECRET_KEY=${SECRET_KEY}" - "ADMIN_EMAIL=${ADMIN_EMAIL}" - "ENVIRONMENT=${ENVIRONMENT}" - "CACHE_REDIS_HOST=redis" - "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" - "MYSQL_HOST=db" - "MYSQL_DATABASE=easyctf" - "FILESTORE_SAVE_ENDPOINT=http://filestore/save" db: image: mariadb:10 expose: - 3306 environment: - "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" - "MYSQL_DATABASE=easyctf" redis: image: redis:6-alpine volumes: filestore: