Skip to content

c0mpiler/docker-py-node

Repository files navigation

🐳 Python with Node.js Docker Images

Docker Hub GitHub Container Registry Docker Repository on Quay CI/CD Status MIT License

Production-ready Docker images featuring Python and Node.js in various combinations. Perfect for projects requiring both ecosystems.

Available on Docker Hub, GitHub Container Registry, and Quay.io.

Last updated: 2025-03-11

Features

  • Multiple version combinations: All supported Python and Node.js versions
  • Multiple distributions: Debian Bookworm (default), Bullseye, Slim, and Alpine
  • Multi-registry availability: Available on Docker Hub, GitHub Container Registry, and Quay.io
  • Multi-architecture support: linux/amd64 and linux/arm64 (except Alpine: amd64 only)
  • Thoroughly tested: Each image undergoes comprehensive testing
  • Regularly updated: Automatic updates via GitHub Actions
  • User-friendly: Default non-root user (c0mpiler) preconfigured

Latest Image Details

The latest tag currently includes:

Component Version
Python latest
Node.js 22.x
npm 10.x
yarn stable
pip latest
pipenv latest
poetry latest
uv latest

Available Tags

Select the specific combination of Python and Node.js versions that suits your needs:

Tag Python version Node.js version Distro
python3.13-nodejs24 3.13.7 24.6.0 bookworm
python3.13-nodejs24-slim 3.13.7 24.6.0 slim
python3.13-nodejs24-alpine 3.13.7 24.6.0 alpine
python3.13-nodejs22 3.13.7 22.18.0 bookworm
python3.13-nodejs22-slim 3.13.7 22.18.0 slim
python3.13-nodejs22-alpine 3.13.7 22.18.0 alpine
python3.13-nodejs20 3.13.7 20.19.4 bookworm
python3.13-nodejs20-slim 3.13.7 20.19.4 slim
python3.13-nodejs20-alpine 3.13.7 20.19.4 alpine
python3.13-nodejs24-bullseye 3.13.6 24.6.0 bullseye
python3.13-nodejs22-bullseye 3.13.6 22.18.0 bullseye
python3.13-nodejs20-bullseye 3.13.6 20.19.4 bullseye
python3.12-nodejs24 3.12.11 24.6.0 bookworm
python3.12-nodejs24-bullseye 3.12.11 24.6.0 bullseye
python3.12-nodejs24-slim 3.12.11 24.6.0 slim
python3.12-nodejs24-alpine 3.12.11 24.6.0 alpine
python3.12-nodejs22 3.12.11 22.18.0 bookworm
python3.12-nodejs22-bullseye 3.12.11 22.18.0 bullseye
python3.12-nodejs22-slim 3.12.11 22.18.0 slim
python3.12-nodejs22-alpine 3.12.11 22.18.0 alpine
python3.12-nodejs20 3.12.11 20.19.4 bookworm
python3.12-nodejs20-bullseye 3.12.11 20.19.4 bullseye
python3.12-nodejs20-slim 3.12.11 20.19.4 slim
python3.12-nodejs20-alpine 3.12.11 20.19.4 alpine
python3.11-nodejs24 3.11.13 24.6.0 bookworm
python3.11-nodejs24-bullseye 3.11.13 24.6.0 bullseye
python3.11-nodejs24-slim 3.11.13 24.6.0 slim
python3.11-nodejs24-alpine 3.11.13 24.6.0 alpine
python3.11-nodejs22 3.11.13 22.18.0 bookworm
python3.11-nodejs22-bullseye 3.11.13 22.18.0 bullseye
python3.11-nodejs22-slim 3.11.13 22.18.0 slim
python3.11-nodejs22-alpine 3.11.13 22.18.0 alpine
python3.11-nodejs20 3.11.13 20.19.4 bookworm
python3.11-nodejs20-bullseye 3.11.13 20.19.4 bullseye
python3.11-nodejs20-slim 3.11.13 20.19.4 slim
python3.11-nodejs20-alpine 3.11.13 20.19.4 alpine
python3.10-nodejs24 3.10.18 24.6.0 bookworm
python3.10-nodejs24-bullseye 3.10.18 24.6.0 bullseye
python3.10-nodejs24-slim 3.10.18 24.6.0 slim
python3.10-nodejs24-alpine 3.10.18 24.6.0 alpine
python3.10-nodejs22 3.10.18 22.18.0 bookworm
python3.10-nodejs22-bullseye 3.10.18 22.18.0 bullseye
python3.10-nodejs22-slim 3.10.18 22.18.0 slim
python3.10-nodejs22-alpine 3.10.18 22.18.0 alpine
python3.10-nodejs20 3.10.18 20.19.4 bookworm
python3.10-nodejs20-bullseye 3.10.18 20.19.4 bullseye
python3.10-nodejs20-slim 3.10.18 20.19.4 slim
python3.10-nodejs20-alpine 3.10.18 20.19.4 alpine
python3.9-nodejs24 3.9.23 24.6.0 bookworm
python3.9-nodejs24-bullseye 3.9.23 24.6.0 bullseye
python3.9-nodejs24-slim 3.9.23 24.6.0 slim
python3.9-nodejs24-alpine 3.9.23 24.6.0 alpine
python3.9-nodejs22 3.9.23 22.18.0 bookworm
python3.9-nodejs22-bullseye 3.9.23 22.18.0 bullseye
python3.9-nodejs22-slim 3.9.23 22.18.0 slim
python3.9-nodejs22-alpine 3.9.23 22.18.0 alpine
python3.9-nodejs20 3.9.23 20.19.4 bookworm
python3.9-nodejs20-bullseye 3.9.23 20.19.4 bullseye
python3.9-nodejs20-slim 3.9.23 20.19.4 slim
python3.9-nodejs20-alpine 3.9.23 20.19.4 alpine

These tags are automatically updated when new minor or patch versions are released. The update process runs twice daily via GitHub Actions.

Supported Version Lifecycles

Python version Start End
3.13 2024-10-07 2029-10
3.12 2023-10-02 2028-10
3.11 2022-10-24 2027-10
3.10 2021-10-04 2026-10
3.9 2020-10-05 2025-10
Node.js version Start End
v24 2025-05-06 2028-04-30
v22 2024-04-24 2027-04-30
v20 2023-04-18 2026-04-30

Version information is updated automatically from official sources:

Usage

Basic Usage

# Pull from Docker Hub
docker pull c0mpiler/python-nodejs:python3.9-nodejs22

# Pull from GitHub Container Registry
docker pull ghcr.io/c0mpiler/python-nodejs:python3.9-nodejs22

# Pull from Quay.io
docker pull quay.io/c0mpiler/python-nodejs:python3.9-nodejs22

# Run interactive shell
docker run -it c0mpiler/python-nodejs:python3.9-nodejs22 bash

# Build from GitHub
docker build -t c0mpiler/python-nodejs github.com/c0mpiler/docker-py-node

Using as a Base Image

# Using Docker Hub
FROM c0mpiler/python-nodejs:python3.12-nodejs22

# OR using GitHub Container Registry
# FROM ghcr.io/c0mpiler/python-nodejs:python3.12-nodejs22

# OR using Quay.io
# FROM quay.io/c0mpiler/python-nodejs:python3.12-nodejs22

# Use the pre-configured non-root user
USER c0mpiler
WORKDIR /home/c0mpiler/app

# Add your application code
COPY --chown=c0mpiler:c0mpiler . .

# Install dependencies
RUN pip install -r requirements.txt && \
    npm install

# Run your application
CMD ["python", "app.py"]

All images include a non-root user c0mpiler with uid 1000 and gid 1000, suitable for most development and production environments.

Container Registry Options

These images are available on multiple registries to ensure high availability and flexibility:

Registry URL Pull Command Example
Docker Hub c0mpiler/python-nodejs docker pull c0mpiler/python-nodejs:latest
GitHub Container Registry ghcr.io/c0mpiler/python-nodejs docker pull ghcr.io/c0mpiler/python-nodejs:latest
Quay.io quay.io/c0mpiler/python-nodejs docker pull quay.io/c0mpiler/python-nodejs:latest

All registries are automatically updated with each release. You can use the registry that best fits your infrastructure or requirements.

For Maintainers

This repository contains tools for generating and maintaining the Docker images:

# Install project dependencies
pip install -e .

# View available commands
ninja --help

# Generate a specific Dockerfile
ninja generate-dockerfile --python-version 3.12 --nodejs-version 18 --distro bookworm

# Update version information
ninja update-versions

# Display currently supported versions
ninja show-versions

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Docker image with Python and Node.js

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages