mirror of
				https://github.com/zoriya/Kyoo.git
				synced 2025-10-31 10:37:13 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			159 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			159 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| version: "3.8"
 | |
| 
 | |
| x-transcoder: &transcoder-base
 | |
|   build:
 | |
|     context: ./transcoder
 | |
|     dockerfile: Dockerfile.dev
 | |
|   networks:
 | |
|     default:
 | |
|       aliases:
 | |
|         - transcoder
 | |
|   ports:
 | |
|     - "7666:7666"
 | |
|   restart: on-failure
 | |
|   cpus: 1
 | |
|   env_file:
 | |
|     - ./.env
 | |
|   volumes:
 | |
|     - ./transcoder:/app
 | |
|     - ${LIBRARY_ROOT}:/video:ro
 | |
|     - ${CACHE_ROOT}:/cache
 | |
|     - metadata:/metadata
 | |
| 
 | |
| services:
 | |
|   back:
 | |
|     build:
 | |
|       context: ./back
 | |
|       dockerfile: Dockerfile.dev
 | |
|     ports:
 | |
|       - "5000:5000"
 | |
|     restart: on-failure
 | |
|     env_file:
 | |
|       - ./.env
 | |
|     depends_on:
 | |
|       postgres:
 | |
|         condition: service_healthy
 | |
|       meilisearch:
 | |
|         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}
 | |
| 
 | |
|   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:ro
 | |
| 
 | |
|   transcoder:
 | |
|     <<: *transcoder-base
 | |
|     profiles: ['']
 | |
| 
 | |
|   transcoder-nvidia:
 | |
|     <<: *transcoder-base
 | |
|     deploy:
 | |
|       resources:
 | |
|         reservations:
 | |
|           devices:
 | |
|             - capabilities: [gpu]
 | |
|     environment:
 | |
|       - GOTRANSCODER_HWACCEL=nvidia
 | |
|     profiles: ['nvidia']
 | |
| 
 | |
|   transcoder-vaapi:
 | |
|     <<: *transcoder-base
 | |
|     devices:
 | |
|       - /dev/dri:/dev/dri
 | |
|     environment:
 | |
|       - GOTRANSCODER_HWACCEL=vaapi
 | |
|       - GOTRANSCODER_VAAPI_RENDERER=${GOTRANSCODER_VAAPI_RENDERER:-/dev/dri/renderD128}
 | |
|     profiles: ['vaapi']
 | |
|   # qsv is the same setup as vaapi but with the hwaccel env var different
 | |
|   transcoder-qsv:
 | |
|     <<: *transcoder-base
 | |
|     devices:
 | |
|       - /dev/dri:/dev/dri
 | |
|     environment:
 | |
|       - GOTRANSCODER_HWACCEL=qsv
 | |
|       - GOTRANSCODER_VAAPI_RENDERER=${GOTRANSCODER_VAAPI_RENDERER:-/dev/dri/renderD128}
 | |
|     profiles: ['qsv']
 | |
| 
 | |
|   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
 | |
|     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
 | |
|     command: ["postgres", "-c", "log_statement=all"]
 | |
|     healthcheck:
 | |
|       test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
 | |
|       interval: 5s
 | |
|       timeout: 5s
 | |
|       retries: 5
 | |
| 
 | |
|   meilisearch:
 | |
|     image: getmeili/meilisearch:v1.4
 | |
|     restart: on-failure
 | |
|     ports:
 | |
|       - "7700:7700"
 | |
|     volumes:
 | |
|       - search:/meili_data
 | |
|     environment:
 | |
|       - MEILI_ENV=development
 | |
|     env_file:
 | |
|       - .env
 | |
|     healthcheck:
 | |
|       test: ["CMD", "wget", "--no-verbose", "--spider", "http://localhost:7700/health"]
 | |
|       interval: 10s
 | |
|       timeout: 5s
 | |
|       retries: 5
 | |
| 
 | |
| volumes:
 | |
|   kyoo:
 | |
|   db:
 | |
|   metadata:
 | |
|   search:
 |