feat(media): compose profile and CI job for the media sidecar
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0138YqDj3ttfayRwuMKKrqVj
This commit is contained in:
parent
bd5f637501
commit
b4222ac5ec
@ -239,7 +239,9 @@ EVOO_COCKPIT_CORS_ORIGIN=
|
||||
|
||||
# Optional Media Studio worker (local ffmpeg + ML sidecar, compose profile "media").
|
||||
# Without it, Media Studio stays hidden and media jobs are skipped.
|
||||
# MEDIA_WORKER_URL=http://127.0.0.1:8790
|
||||
# Compose: http://media-worker:8790. Bare-metal dev: http://127.0.0.1:8790.
|
||||
# MEDIA_WORKER_URL=http://media-worker:8790
|
||||
# At least 32 random characters.
|
||||
# MEDIA_WORKER_TOKEN=REPLACE_WITH_RANDOM_TOKEN
|
||||
# Private platform profiles that override the shipped ones. Keep outside the repo.
|
||||
# MEDIA_PROFILES_DIR=~/.evoo/media-profiles
|
||||
|
||||
32
.github/workflows/media-worker.yml
vendored
Normal file
32
.github/workflows/media-worker.yml
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
name: media-worker
|
||||
on:
|
||||
pull_request:
|
||||
paths: &media-worker-paths
|
||||
- ".github/workflows/media-worker.yml"
|
||||
- "infra/media-worker/**"
|
||||
push:
|
||||
branches: [main]
|
||||
paths: *media-worker-paths
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: media-worker-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
jobs:
|
||||
sidecar:
|
||||
name: Media sidecar
|
||||
runs-on: [self-hosted, evoo-ci, Linux]
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Build test image (CPU)
|
||||
run: docker build --build-arg ACCELERATOR=cpu --target test -t rakazo/media-worker:ci-test infra/media-worker
|
||||
- name: Pytest (offline, fake model backends)
|
||||
run: docker run --rm --network none rakazo/media-worker:ci-test
|
||||
- name: Build runtime image (CPU)
|
||||
run: docker build --build-arg ACCELERATOR=cpu -t rakazo/media-worker:ci infra/media-worker
|
||||
@ -129,6 +129,28 @@ services:
|
||||
data-init:
|
||||
condition: service_completed_successfully
|
||||
|
||||
media-worker:
|
||||
# Optional Media Studio sidecar: `docker compose --profile media up`.
|
||||
# No published port; the API and worker reach it as http://media-worker:8790.
|
||||
profiles: ["media"]
|
||||
build:
|
||||
context: ../media-worker
|
||||
args:
|
||||
ACCELERATOR: ${MEDIA_ACCELERATOR:-cpu}
|
||||
image: rakazo/media-worker:local
|
||||
environment:
|
||||
MEDIA_WORKER_HOST: "0.0.0.0"
|
||||
MEDIA_WORKER_PORT: "8790"
|
||||
MEDIA_WORKER_TOKEN: ${MEDIA_WORKER_TOKEN:?Set MEDIA_WORKER_TOKEN in .env}
|
||||
MEDIA_ROOT: /data/media
|
||||
MEDIA_MODELS_DIR: /models
|
||||
HTTP_PROXY: ${HTTP_PROXY:-${http_proxy:-}}
|
||||
HTTPS_PROXY: ${HTTPS_PROXY:-${https_proxy:-}}
|
||||
NO_PROXY: ${NO_PROXY:-${no_proxy:-}}
|
||||
volumes:
|
||||
- ../../data/media:/data/media
|
||||
- media-models:/models
|
||||
|
||||
web:
|
||||
build:
|
||||
context: ../..
|
||||
@ -144,4 +166,5 @@ services:
|
||||
- api
|
||||
|
||||
volumes:
|
||||
media-models:
|
||||
pgdata:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user