docker build -t twake-migration-nextcloud .The Dockerfile uses a multi-stage build: the first stage compiles TypeScript, the second stage copies only the compiled JS and production dependencies. Final image is ~60MB on Alpine.
docker run --env-file .env twake-migration-nextcloudOr pass variables individually:
docker run \
-e RABBITMQ_URL="amqp://user:pass@rabbitmq:5672" \
-e CLOUDERY_URL="https://manager.cozycloud.cc" \
-e CLOUDERY_TOKEN="your-token" \
twake-migration-nextcloudImages are published to the GitHub Container Registry at:
ghcr.io/linagora/twake-migration-nextcloud
| Tag | When | Use case |
|---|---|---|
latest |
Every push to main |
Development, staging |
v1.2.3 |
On semver tag push (v*.*.*) |
Production releases |
docker pull ghcr.io/linagora/twake-migration-nextcloud:latest
docker pull ghcr.io/linagora/twake-migration-nextcloud:v1.0.0The Docker build and publish is handled by GitHub Actions:
- Push to
main— runs tests, then publisheslatest - Semver tag (e.g.
v1.0.0) — runs tests, publishes the versioned tag, creates a GitHub release
See .github/workflows/ for the workflow definitions.