version: "2.1" services: oddb: build: . ports: - 5020:80 environment: - "CAPTCHA_LOGIN=True" - "CAPTCHA_SUBMIT=True" - "CAPTCHA_SEARCH=True" - "CAPTCHA_EVERY=10" - "FLASK_SECRET=changeme" - "SUBMIT_FTP=False" - "SUBMIT_HTTP=True" - "TT_API=http://tt:3010" - "TT_CRAWL_PROJECT=1" - "TT_INDEX_PROJECT=2" - "WSB_API=http://wsb:3020" - "WSB_SECRET=changeme" - "REDIS_HOST=oddb_redis" - "ES_URL=es:9200" - "DB_CONN_STR=postgres://od_database:changeme@oddb_db/od_database?sslmode=disable" - "RECRAWL_POOL_SIZE=10000" - "INDEXER_THREADS=2" - "ODDB_USER=admin" - "ODDB_PASSWORD=changeme" depends_on: wsb: condition: service_started tt: condition: service_started oddb_db: condition: service_healthy es: condition: service_healthy restart: always oddb_db: image: postgres volumes: - ./oddb_pg_data:/var/lib/postgresql/data environment: - "POSTGRES_USER=od_database" - "POSTGRES_PASSWORD=changeme" healthcheck: test: ["CMD-SHELL", "pg_isready -U od_database"] interval: 5s timeout: 5s retries: 5 oddb_redis: image: redis wsb: image: simon987/wsb_bucket volumes: - ./wsb_data:/data environment: - "WS_BUCKET_SECRET=changeme" ports: - 3020:3020 tt: image: simon987/task_tracker volumes: - ./tt_config.yml:/root/config.yml ports: - 3010:80 depends_on: tt_db: condition: service_healthy tt_web: image: simon987/task_tracker_web ports: - 3011:80 depends_on: tt: condition: service_started tt_db: image: postgres volumes: - ./tt_pg_data:/var/lib/postgresql/data environment: - "POSTGRES_USER=task_tracker" - "POSTGRES_PASSWORD=changeme" healthcheck: test: ["CMD-SHELL", "pg_isready -U task_tracker"] interval: 3s timeout: 2s retries: 10 es: image: docker.elastic.co/elasticsearch/elasticsearch:7.5.2 environment: - discovery.type=single-node - "ES_JAVA_OPTS=-Xms1G -Xmx4G" volumes: - ./es_data:/usr/share/elasticsearch/data healthcheck: test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"] interval: 5s timeout: 5s retries: 5 # (Optional) kibana: image: docker.elastic.co/kibana/kibana:7.5.2 environment: - ELASTICSEARCH_HOSTS=http://es:9200 ports: - 5021:5601 depends_on: es: condition: service_healthy