Sign inSign up

jfxs/devcontainer-uv-npm

By jfxs

•Updated 2 months ago

A devcontainer image with uv and npm for Python frontend developpement

Image
0

10K+

jfxs/devcontainer-uv-npm repository overview

⁠devcontainer uv npm

Software License Pipeline Status

A devcontainer⁠ Debian image⁠ with uv⁠ and npm⁠ to develop frontend in Python inside a container:

  • multiarch with support of amd64 and arm64,
  • automatically updated by comparing software bill of materials (SBOM) changes,
  • image signed with Cosign⁠,
  • a software bill of materials (SBOM) attestation added using Syft⁠,
  • available on Docker Hub and Quay.io.

GitLab The main repository.

Docker Hub The Docker Hub registry.

Quay.io The Quay.io registry.

This image offers an optimal experience for zsh shell users. The image also includes bash shell.

⁠Running with VScode

.devcontainer/devcontainer.json configuration to develop inside a container⁠:

{
  "image": "jfxs/devcontainer-uv-npm",
...
}

⁠Running locally

docker run -it --rm -v $(pwd):/workdir --user vscode:vscode jfxs/devcontainer-uv-npm /bin/zsh

⁠Task

This image includes task⁠ to run commands:

Example:

After installing Ruff dev dependency and adding those lines in your Taskfile.yml:

  lint:
    desc: "Python lint with Ruff."
    cmds:
      - uv run ruff check
    silent: true

  format:
    desc: "Python format with Ruff."
    cmds:
      - uv run ruff check --fix
      - uv run ruff format
    silent: true

You can run:

$ task lint
All checks passed!
$ task format
All checks passed!
1 file reformatted

⁠Built with

Docker latest tag is 0.11.32-001, 0.11, 0⁠ and has:

NameVersionType
git1:2.47.3-0+deb13u1deb
github.com/go-task/task/v3v3.52.0go-module
uv0.11.32rust-crate
wget1.25.0-2deb
zsh5.9-8+b23deb

Dockerhub Overview page⁠ has the details of the last published image.

⁠Versioning

Docker tag definition:

  • the uv version used,
  • a dash
  • an increment to differentiate build with the same version starting at 001
<uv_version>-<increment>

Example: 0.5.2-001

⁠Signature and attestation

Cosign⁠ public key:

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEa3yV6+yd/l4zh/tfT6Tx+zn0dhy3
BhFqSad1norLeKSCN2MILv4fZ9GA6ODOlJOw+7vzUvzZVr9IXnxEdjoWJw==
-----END PUBLIC KEY-----

The public key is also available online: https://gitlab.com/op_so/docker/cosign-public-key/-/raw/main/cosign.pub⁠.

To verify an image:

cosign verify --key cosign.pub $IMAGE_URI

To verify and get the software bill of materials (SBOM) attestation:

cosign verify-attestation --key cosign.pub --type spdxjson $IMAGE_URI | jq '.payload | @base64d | fromjson | .predicate'

⁠Authors

⁠License

This program is free software: you can redistribute it and/or modify it under the terms of the MIT License (MIT). See the LICENSE⁠ for details.

Tag summary

Content type

Image

Digest

sha256:3b7be5566…

Size

489.7 MB

Last updated

2 months ago

docker pull jfxs/devcontainer-uv-npm