- config.json: tipi_version 1->2, version 1.0.0->1.0.1, updated_at bumped; added missing required fields supported_architectures (["amd64"]) and dynamic_config (true) so the app passes schema validation - docker-compose.json: main service image mergedrop:1.0.0 -> mergedrop:1.0.1 - build/build.sh: default IMAGE_TAG 1.0.0 -> 1.0.1; default SOURCE_REPO corrected from stale video-merger.git to vid-merger.git - build/README.md: corrected source repo pointer from video-merger to vid-merger Image git.alexzaw.dev/alexz/mergedrop:1.0.1 is being built from git.alexzaw.dev/alexz/vid-merger @ 9b27376 in a separate process. Deploy chain (appstore update / app update) to be run separately once the image build completes.
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/vid-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.
|