version: '3' services: webserver: container_name: okuna-api build: dockerfile: Dockerfile context: ./.docker/api privileged: true extra_hosts: - db.okuna:172.16.16.4 - redis.okuna:172.16.16.5 volumes: - ./:/opt/okuna-api - ./.docker-cache/pip:/root/.cache/pip ports: - 80:80 working_dir: /opt/okuna-api networks: okuna: ipv4_address: 172.16.16.1 depends_on: - db - redis env_file: - .docker-compose.env worker: container_name: okuna-worker build: dockerfile: Dockerfile context: ./.docker/worker privileged: true extra_hosts: - db.okuna:172.16.16.4 - redis.okuna:172.16.16.5 volumes: - ./:/opt/okuna-api - ./.docker-cache/pip:/root/.cache/pip working_dir: /opt/okuna-api networks: okuna: ipv4_address: 172.16.16.2 depends_on: - webserver env_file: - .docker-compose.env scheduler: container_name: okuna-scheduler build: dockerfile: Dockerfile context: ./.docker/scheduler privileged: true extra_hosts: - db.okuna:172.16.16.4 - redis.okuna:172.16.16.5 volumes: - ./:/opt/okuna-api - ./.docker-cache/pip:/root/.cache/pip working_dir: /opt/okuna-api networks: okuna: ipv4_address: 172.16.16.3 depends_on: - webserver env_file: - .docker-compose.env db: image: mariadb:10.4.5 hostname: db.okuna volumes: - mariadb:/var/lib/mysql ports: - 3306 privileged: false networks: okuna: ipv4_address: 172.16.16.4 command: --character-set-server=utf8 --collation-server=utf8_unicode_ci env_file: - .docker-compose.env redis: image: bitnami/redis:latest privileged: false ports: - 6379 networks: okuna: ipv4_address: 172.16.16.5 env_file: - .docker-compose.env volumes: - redisdb:/bitnami/redis/data volumes: mariadb: redisdb: networks: okuna: ipam: driver: default config: - subnet: "172.16.16.0/16"