🐳 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.