version: '3.9' services: next: container_name: next build: context: ./next dockerfile: Dockerfile ports: - "3000:3000" volumes: - ./next/.env:/next/.env - ./next/:/next/ - /next/node_modules - /next/.next platform: container_name: platform build: context: ./platform target: prod ports: - "8000:8000" restart: always volumes: - ./platform:/app/src/ env_file: - next/.env environment: REWORKD_PLATFORM_HOST: 0.0.0.0 REWORKD_PLATFORM_DB_HOST: db REWORKD_PLATFORM_DB_PORT: "3307" REWORKD_PLATFORM_DB_USER: "reworkd_platform" REWORKD_PLATFORM_DB_PASS: "reworkd_platform" REWORKD_PLATFORM_DB_BASE: "reworkd_platform" depends_on: - db db: image: mysql:8.0 container_name: db restart: always build: context: ./db ports: - "3307:3307" environment: MYSQL_DATABASE: "reworkd_platform" MYSQL_USER: "reworkd_platform" MYSQL_PASSWORD: "reworkd_platform" MYSQL_ROOT_PASSWORD: "reworkd_platform" MYSQL_TCP_PORT: 3307 volumes: - db_data:/var/lib/mysql command: [ 'mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci' ] weaviate: image: semitechnologies/weaviate:1.19.6 restart: on-failure:0 # this should be 'no' or at least have ':1' ports: - "8080:8080" environment: QUERY_DEFAULTS_LIMIT: 25 AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true' PERSISTENCE_DATA_PATH: '/var/lib/weaviate' DEFAULT_VECTORIZER_MODULE: 'none' CLUSTER_HOSTNAME: 'node1' volumes: - weaviate:/var/lib/weaviate # Central routing / management for selenium selenium-hub: image: selenium/hub:latest container_name: selenium-hub ports: - "4442:4442" - "4443:4443" - "4444:4444" # Running selenium instance. An instance will block per request so we need to scale this out chrome: image: seleniarm/node-chromium # image: selenium/node-chrome:4 # If you're on an non-ARM system shm_size: 2gb depends_on: - selenium-hub environment: - SE_EVENT_BUS_HOST=selenium-hub - SE_EVENT_BUS_PUBLISH_PORT=4442 - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 volumes: weaviate: db_data: