Download the PHP package yejune/bootapp without Composer
On this page you can find all versions of the php package yejune/bootapp. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package bootapp
bootapp
Docker CLI Plugin for multi-project Docker networking made easy.
Automatically manages:
- Unique subnet allocation per project (prevents conflicts)
- /etc/hosts entries for containers with DOMAIN configuration
- SSL certificates for domains in
SSL_DOMAINS(auto-generated, system trusted) - Smart route setup for macOS (checks connectivity before adding routes)
Installation
Method 1: Using Homebrew (macOS)
Homebrew automatically:
- Downloads and builds the latest version
- Installs as Docker CLI plugin (
docker bootapp) - Installs standalone binary (
bootapp) - Checks dependencies
Method 2: Using install script (Linux/macOS)
The install script automatically:
- Checks for Go and Docker
- Builds the binary
- Installs to
~/.docker/cli-plugins/bootapp(Docker plugin) - Installs to
/usr/local/bin/bootapp(standalone binary) - Checks platform-specific dependencies
Method 3: Using go install
Or build locally:
The install command automatically:
- Copies binary to
~/.docker/cli-plugins/bootapp - Installs standalone binary to
/usr/local/bin/bootapp - Sets executable permissions
- Checks platform dependencies
Method 4: Manual installation
Usage
Start containers
If multiple compose files are found, you'll be prompted to select interactively:
Supported file patterns:
docker-compose.yml,docker-compose.yamldocker-compose.*.yml,docker-compose.*.yaml(e.g., docker-compose.local.yml)compose.yml,compose.yaml
Options:
-d, --detach: Run in background (default: true)--no-build: Don't build images--pull: Pull images before starting-F, --force-recreate: Force recreate containers + regenerate SSL certificates
This will:
- Allocate unique subnet for the project (172.18-31.x.x range)
- Parse docker-compose file for DOMAIN/SSL_DOMAINS configuration
- Generate SSL certificates for
SSL_DOMAINS(if not exists) - Install certificates to system trust store (macOS Keychain / Linux ca-certificates)
- Start containers with docker-compose up
- Discover container IPs from default compose network
- Add /etc/hosts entries for containers with domain config
- Setup routing if needed (macOS)
Stop containers
Options:
-v, --volumes: Remove volumes--remove-orphans: Remove orphan containers--keep-hosts: Keep /etc/hosts entries--remove-config: Remove project from global config
List projects
Domain Configuration
Supported Environment Variables
All of these environment variables are used for both:
- Host machine access (/etc/hosts)
- Container-to-container access (Docker network aliases)
Supported variables (duplicates removed, each supports single, comma, space, or newline separated values):
DOMAINDOMAINSSSL_DOMAINSAPP_DOMAINVIRTUAL_HOST(nginx-proxy compatible)
Container-to-Container Communication
Domains set via DOMAIN/DOMAINS are automatically registered as Docker network aliases, allowing containers to reach each other:
This replaces the deprecated external_links and works automatically with Docker's built-in DNS.
Traefik Labels
Traefik router rules are also supported:
Result
Only services with explicit domain configuration get /etc/hosts entries:
Services without DOMAIN config (like redis above) are not added to /etc/hosts.
SSL Certificates
Automatic Generation
bootapp automatically generates self-signed SSL certificates for domains specified in SSL_DOMAINS:
Certificates are:
- Generated in
./var/certs/directory (.crt,.key,.pemfiles) - Automatically trusted in system keychain (macOS) or ca-certificates (Linux)
- Valid for 10 years
- Include proper SAN (Subject Alternative Name) for browser compatibility
Certificate Files
Force Regenerate
To delete and regenerate certificates:
The -F flag will:
- Remove existing certificates from trust store
- Delete local certificate files
- Generate new certificates
- Install to trust store
- Force recreate containers
nginx Configuration Example
macOS Networking
docker-mac-net-connect is required for direct container IP access on macOS.
Docker Desktop runs containers inside a Linux VM, so macOS cannot directly access container IPs without a network tunnel.
Installation
bootapp will check for docker-mac-net-connect and show installation instructions if not found.
Linux
✅ All features work natively on Linux!
Linux support includes:
-
Docker Networking
- Unique subnet per container
- Direct container IP access (no additional tools needed)
-
SSL Certificate Auto-generation & Trust
- Debian/Ubuntu:
update-ca-certificates - RHEL/CentOS:
update-ca-trust - Self-signed certificates automatically trusted system-wide
- Debian/Ubuntu:
-
Automatic /etc/hosts Management
- Domain → Container IP mapping
- Auto register/cleanup per project
- Standalone Binary + Docker Plugin
- Use
bootappordocker bootappcommands
- Use
Installation:
Unlike macOS, Linux doesn't need additional network tools (docker-mac-net-connect) - everything works out of the box!
Domain TLD Recommendations
Recommended TLDs:
.test- RFC 2606 reserved for testing ✅.localhost- Local only ✅.internal- Private networks ✅
Avoid:
.local- Conflicts with macOS mDNS (slow DNS lookups).dev- Google-owned, forces HTTPS.app- Google-owned, forces HTTPS
Configuration
Global configuration is stored in ~/.bootapp/projects.json:
Each project gets a unique subnet (172.18.x.x through 172.31.x.x) to prevent IP conflicts between projects.
License
MIT
All versions of bootapp with dependencies
symfony/process Version 6.*
symfony/finder Version 6.*
symfony/yaml Version 6.*
react/child-process Version ^0.5
mkraemer/react-pcntl Version ^2
herrera-io/phar-update Version ^2.0
peanut/console Version dev-master