ivly-api development container image for local use with VS Code or within CI pipelines
1.4K
CI/development image for ivly-api, the Go backend of the ivly invoicing platform.
| Component | Purpose |
|---|---|
| Go 1.26 (Debian Trixie) | Base runtime and compiler |
| golangci-lint | Go linter |
| TeXLive | PDF rendering via pdflatex (koma-script, xcolor, colortbl, pdfx, embedfile, eso-pic, pgf, ...) |
| Java 21 + Saxon-HE 12.8 | Schematron validation of XRechnung/ZUGFeRD XML (tests only) |
| libxml2-utils (xmllint) | XSD validation (tests only) |
| Python 3 + pre-commit | Git hooks framework |
| Trivy | Container security scanning |
| Woodpecker CLI | CI pipeline linting |
| Git LFS | Large file support for PDF golden files |
| oapi-codegen | OpenAPI v3 server stub generation |
| addlicense | License header management (AGPL-3.0) |
| gitleaks | Secret detection |
| air | Live reload for development |
Woodpecker CI:
steps:
- name: test
image: ivly/api-devcontainer:latest
commands:
- make test
Local development: Open the project in VS Code with the Dev Containers extension.
devcontainer build runs through docker buildx. The dedicated multi-arch
builder needs to exist and be active before building. Create it once per
machine:
docker buildx create --name ivly-api-multiarch --driver docker-container --bootstrap --use
Verify with docker buildx ls (the ivly-api-multiarch row should be marked
* for active and running). If the builder already exists, a single
docker buildx use ivly-api-multiarch is enough.
Without this step, make build-ci fails with ERROR: no builder "ivly-api-multiarch" found.
make build-ci DEVCONTAINER_PUSH=true
Content type
Image
Digest
sha256:9eb27514c…
Size
881.5 MB
Last updated
19 days ago
docker pull ivly/api-devcontainer