Production-ready, highly optimized Docker images for modern web applications. Built by SIA Valksor with focus on performance, security, and minimal size.
Available images: Base Images, PHP variants, Nginx, PostgreSQL, cURL, Action utilities, and more.
Pull and run any image in seconds:
# PHP-FPM with extensions
docker run -d --name php-fpm ghcr.io/valksor/php/fpm:latest
# Nginx with brotli compression
docker run -d --name nginx -p 80:80 ghcr.io/valksor/nginx:latest
# PostgreSQL 18 with persistent data
docker run -d --name postgres \
-e POSTGRES_PASSWORD=mypassword \
-v postgres_data:/var/lib/postgresql/data \
ghcr.io/valksor/postgres:18
# cURL with HTTP/3 support
docker run --rm ghcr.io/valksor/curl:latest --version| Image | Key Features | Use Case |
|---|---|---|
| Debian | Optimized base, no docs, custom user | Foundation for all images |
| Image | Key Features | Use Case |
|---|---|---|
| php/fpm-base | Core PHP 8.5.0-dev, minimal extensions | Base for PHP variants |
| php/fpm | GD, ImageMagick, Redis, MongoDB, APCu | Production PHP apps |
| php/fpm-testing | PCov, Xdebug, Composer, dev tools | Development & testing |
| php/fpm-socket | Unix socket (9000→/tmp/sockets/php-fpm.sock) | Local container comms |
| php/fpm-testing-socket | Socket + testing tools | Development with sockets |
| Image | Key Features | Use Case |
|---|---|---|
| Nginx | Brotli compression, optimized config | Web server, reverse proxy |
| PostgreSQL | Versions 17 & 18, backup scripts | Production database |
| Image | Key Features | Use Case |
|---|---|---|
| cURL | HTTP/3, QUIC, wolfSSL support | Modern HTTP requests |
| action/split | Git repo splitting, subtree operations | Monorepo management |
Total: 11 optimized images
Use the optimized Debian base as a foundation for custom images:
# Pull base image
docker pull ghcr.io/valksor/debian:latest
# Use in Dockerfile
FROM ghcr.io/valksor/debian:latestChoose the right PHP variant for your needs:
# Production PHP with full extensions
docker run -d \
--name php-app \
-v /path/to/app:/var/www/html \
ghcr.io/valksor/php/fpm:latest
# Development with testing tools
docker run -d \
--name php-dev \
-v /path/to/app:/var/www/html \
ghcr.io/valksor/php/fpm-testing:latest
# PHP with Unix socket (for local container communication)
docker run -d \
--name php-socket \
-v /path/to/app:/var/www/html \
ghcr.io/valksor/php/fpm-socket:latest
# Check PHP version and extensions
docker exec php-app php -v
docker exec php-app php -mDeploy a high-performance web server with brotli compression:
# Run Nginx with custom config
docker run -d \
--name web-server \
-p 80:80 \
-p 443:443 \
-v /path/to/nginx.conf:/etc/nginx/nginx.conf \
-v /path/to/html:/usr/share/nginx/html \
valksor/nginx:latest
# Test brotli compression
curl -H "Accept-Encoding: br" -I http://localhostRun a secure, production-ready PostgreSQL database:
# Run PostgreSQL with persistent data
docker run -d \
--name database \
-e POSTGRES_PASSWORD=secure_password \
-e POSTGRES_DB=myapp \
-v postgres_data:/var/lib/postgresql/data \
-p 5432:5432 \
valksor/postgres:18
# Connect and test
docker exec -it database psql -U postgres -d myappUse modern cURL with HTTP/3 and QUIC protocol support:
# Test HTTP/3 connectivity
docker run --rm ghcr.io/valksor/curl:latest \
--http3 -I https://cloudflare.com
# Test with QUIC
docker run --rm ghcr.io/valksor/curl:latest \
--http3 https://quic.rocks:443
# Check supported protocols
docker run --rm ghcr.io/valksor/curl:latest --versionSplit monorepos into separate repositories using git subtree:
# Run action split utility
docker run --rm \
-v /path/to/repo:/workspace \
-e GITHUB_TOKEN=your_token \
ghcr.io/valksor/action/split:latest
# Use in GitHub Actions
- uses: ghcr.io/valksor/action/split@latest
with:
token: ${{ secrets.GITHUB_TOKEN }}PostgreSQL:
POSTGRES_PASSWORD- Required: database passwordPOSTGRES_USER- Optional: default user (defaults topostgres)POSTGRES_DB- Optional: default database name
Action Split:
GITHUB_TOKEN- Required: GitHub token for repository operationsCOMPONENTS_FILE- Optional: Path to components.json (defaults tocomponents.json)
# PHP application files
-v /host/path:/var/www/html
# Nginx configuration
-v /host/nginx.conf:/etc/nginx/nginx.conf
# PostgreSQL data persistence
-v postgres_data:/var/lib/postgresql/data
# Action Split repository workspace
-v /path/to/repo:/workspace# Nginx web server
-p 80:80 -p 443:443
# PostgreSQL database
-p 5432:5432- Minimal size: All non-essential packages, docs, and locales removed
- Native compilation: Built with
-march=nativefor optimal performance - Multi-arch support: Available for x86_64 and ARM architectures
- Non-root user: Containers run as
valksoruser (UID/GID 1000) - Minimal attack surface: Only necessary binaries and libraries included
- Regular updates: Built from latest security patches
- OPcache enabled for PHP applications
- Brotli compression for Nginx
- Connection pooling and optimized PostgreSQL settings
- Modern protocols (HTTP/3, QUIC) in cURL
- GitHub Container Registry:
ghcr.io/valksor/*
latest- Most recent stable version (used for all images except PostgreSQL)17,18- PostgreSQL major versions (only images with version-specific tags)
# Base Images
docker pull ghcr.io/valksor/debian:latest
# PHP Variants
docker pull ghcr.io/valksor/php/fpm-base:latest
docker pull ghcr.io/valksor/php/fpm:latest
docker pull ghcr.io/valksor/php/fpm-testing:latest
docker pull ghcr.io/valksor/php/fpm-socket:latest
docker pull ghcr.io/valksor/php/fpm-testing-socket:latest
# Web Services
docker pull ghcr.io/valksor/nginx:latest
docker pull ghcr.io/valksor/postgres:17
docker pull ghcr.io/valksor/postgres:18
# Utilities
docker pull ghcr.io/valksor/curl:latest
docker pull ghcr.io/valksor/action/split:latest
BSD 3-Clause License - see LICENSE file for details.