version: "3.8" services: back: build: context: ./back dockerfile: Dockerfile.dev ports: - "5000:5000" restart: on-failure env_file: - ./.env depends_on: postgres: condition: service_healthy volumes: - ./back:/app - /app/out/ - kyoo:/kyoo front: build: context: ./front dockerfile: Dockerfile.dev volumes: - ./front:/app - /app/.yarn - /app/node_modules - /app/apps/mobile/node_modules - /app/apps/web/.next/ - /app/apps/mobile/.expo/ ports: - "3000:3000" - "8081:8081" restart: on-failure environment: - KYOO_URL=${KYOO_URL:-http://back:5000} - PUBLIC_BACK_URL=${PUBLIC_BACK_URL} scanner: build: ./scanner restart: on-failure depends_on: back: condition: service_healthy env_file: - ./.env environment: - KYOO_URL=${KYOO_URL:-http://back:5000} volumes: - ${LIBRARY_ROOT}:/video transcoder: build: context: ./transcoder dockerfile: Dockerfile.dev ports: - "7666:7666" restart: on-failure env_file: - ./.env volumes: - ./transcoder:/app - ${LIBRARY_ROOT}:/video - ${CACHE_ROOT}:/cache - metadata:/metadata ingress: image: nginx restart: on-failure environment: - PORT=8901 - FRONT_URL=http://front:3000 - BACK_URL=${KYOO_URL:-http://back:5000} volumes: - ./nginx.conf.template:/etc/nginx/templates/kyoo.conf.template:ro depends_on: - back - front ports: - "8901:8901" postgres: image: postgres:15 restart: on-failure env_file: - ./.env volumes: - db:/var/lib/postgresql/data ports: - "5432:5432" environment: - POSTGRES_HOST_AUTH_METHOD=trust healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] interval: 5s timeout: 5s retries: 5 volumes: kyoo: db: metadata: