29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
# MergeDrop image build
|
|
|
|
The Dockerfile and full source for the **MergeDrop** image live in a separate Gitea repo:
|
|
|
|
- Source: <https://git.alexzaw.dev/alexz/video-merger>
|
|
- Published image: `git.alexzaw.dev/alexz/mergedrop:<tag>`
|
|
|
|
This folder holds only a thin helper script (`build.sh`) that clones the source
|
|
repo and pushes the resulting image to the in-house Docker registry.
|
|
|
|
## Rebuild
|
|
|
|
```bash
|
|
cd build/
|
|
./build.sh # builds + pushes :latest and the version tag
|
|
IMAGE_TAG=1.0.1 ./build.sh # override the tag
|
|
```
|
|
|
|
Requires `docker login git.alexzaw.dev` to already be done (or `~/.docker/config.json`
|
|
to have the registry credentials, which is the case on this host).
|
|
|
|
## Notes
|
|
|
|
- The image is a two-stage build (Node 20 → Python 3.11-slim) and produces an
|
|
`amd64` image only. Add `--platform linux/arm64` to `build.sh` args to cross-build.
|
|
- The application is a single FastAPI process that serves the static React build
|
|
and a `/api/*` JSON API on the same port (`8000` inside the container).
|
|
- `ffmpeg` is installed in the runtime image; no host-level ffmpeg required.
|