π³ php-nvm is a generic, lightweight Docker image for PHP applications that includes NVM, allowing dynamic management of multiple Node.js versions at runtime.
- β PHP 8.x support (8.0β8.4)
- β Pre-installed NVM for managing multiple Node.js versions
- β Ideal for modern full-stack PHP projects that require Node.js tooling (e.g. Webpack, Vite, etc.)
- β CI-friendly: small, clean, and consistently versioned
- β
Useful system tools:
git
,rsync
,openssh-client
,make
,curl
, etc. - β All images share the same consistent build logic
Tag | PHP Version | Included Tools |
---|---|---|
8.0 | 8.0 | β PHP, Composer, NVM, Node.js via NVM |
8.1 | 8.1 | β PHP, Composer, NVM, Node.js via NVM |
8.2 | 8.2 | β PHP, Composer, NVM, Node.js via NVM |
8.3 | 8.3 | β PHP, Composer, NVM, Node.js via NVM |
8.4 | 8.4 | β PHP, Composer, NVM, Node.js via NVM |
βΉοΈ The exact Node.js version is not preinstalled β use
nvm install
as needed in your Dockerfile or entrypoint script.
FROM ocreaper/php-nvm:8.3
# Install Node.js 18 using NVM
RUN source ~/.nvm/nvm.sh && \
nvm install 18 && \
nvm use 18 && \
node -v && npm -v
# Set up your app
COPY . /app
WORKDIR /app
RUN composer install
docker run -it --rm ocreaper/php-nvm:8.3 bash
Any contributions are welcomed!
Use Conventional Commits with a required scope:
- β feat(8.4): add PHP 8.4 support
- β fix(8.3): correct NVM installation path
GitHub Actions will:
- β Enforce PR title formatting
- β Ensure the Docker image builds successfully
See CONTRIBUTING.md for full contribution guidelines.