Advertencia
En fuerte desarrollo. ¡Se necesita ayuda!
Entornos Docker listos para usar para un desarrollo rápido en canalizaciones text2img, img2img, text2video img2video usando Ollama + ComfyUI + ffmpeg Docker images
./config/ollama/entrypoint.sh
para descargar modelos y servir a través de API./config/ollama/modelfiles
para definir modelos personalizados./config/comfyui/provisioning.sh
para aprovisionar cómodoui y su API./config/comfyui/models.csv
se utiliza arriba para descargar/actualizar modelos personalizados. Modelos SDXL y AnimateDiff incluidos; cambie el nombre a models.csv para su uso../config/comfyui/nodes.csv
se utiliza arriba para descargar/actualizar nodos personalizados. Nodos SDXL y AnimateDiff incluidos; cambie el nombre a nodes.csv para su uso. Cambie el nombre de template.env a .env y luego inicie los contenedores uno por uno (recomendado)
docker-compose up ollama-api -d
docker-compose up comfyui-api -d
docker-compose up ffmpeg-api -d
Una vez que estén funcionando, puedes derribarlos a todos.
docker compose down
Y mencionar todo cuando sea necesario
docker compose up -d
Probado en Python 3.10/Pytorch 2.0.1, NVIDIA CUDA (WSL)
TODO Actualización descripción
Consulta todos los modelos disponibles
curl http://localhost:11434/api/tags
Utilice el modelo de generador de indicaciones a mitad del viaje
curl -X POST http://localhost:11434/api/generate -d ' {
"model": "mj:latest",
"prompt": "a sports car in the mountains.",
"stream": false} '
Ver información del modelo
http://localhost:11434/api/show -d ' {
"name": "mj:latest"
} '
Advertencia
Se ejecuta como root.
La GUI es visible en el puerto 8188. Normalmente arrastro y suelto mis flujos de trabajo directamente en el navegador. Si el espacio en el disco es escaso, cambie el punto de montaje del volumen.
Advertencia
Se ejecuta como root.
TODO Actualización descripción
Convertir mp4 a png
docker exec -it ffmpeg-api ffmpeg -y -hwaccel cuvid -c:v h264_cuvid -resize 576x1024 -i /output/Dancing.mp4 -vf " scale_npp=format=yuv420p,hwdownload,format=yuv420p " -pix_fmt yuvj420p -color_range 2 /output/frame_%03d.jpg
Convertir png a jpg
docker exec -it ffmpeg-api /bin/bash -c ' for image in /output/*.png; do ffmpeg -i "$image" "${image%.png}.jpg"; rm "$image"; echo "image $image converted to ${image%.png}.jpg "; done '
Convertir imágenes a vídeo mp4
docker exec -it ffmpeg-api ffmpeg -y -loglevel error -i ' /output/frame_%03d.jpg ' -r 30 -c:v hevc_nvenc -pix_fmt yuv420p -preset fast /output/final.mp4
Algunos puertos deben estar expuestos para que se ejecuten los servicios o para que funcionen ciertas características del software proporcionado.
Puertos abiertos | Servicio / Descripción |
---|---|
11434 | servidor web llama |
8188 | Cómoda interfaz UI |