Installation Guide
Complete guide to installing and configuring Auto Commerce on your server.
Overview
Auto Commerce can be installed using Docker (recommended), Kubernetes for production scalability, or manually on a traditional server. All three methods end with a guided Installation Wizard that helps you:
- Verify system requirements (PHP, extensions, database, Redis, permissions)
- Run database migrations and generate OAuth encryption keys
- Seed initial data (roles, permissions, modules, system settings)
- Create your first organization and admin account
Once the wizard completes, it writes a storage/.installed marker file. Subsequent visits skip the wizard and redirect to the login page.
Choosing an Installation Method
Use the comparison table below to pick the method that fits your situation.
| Docker | Manual | Kubernetes | |
|---|---|---|---|
| Best for | Development, demos, small teams | Custom server configs, shared hosting | Production at scale, high availability |
| Complexity | Low | Medium | High |
| Prerequisites | Docker Engine + Compose | PHP, Composer, Node, Nginx/Apache, PostgreSQL, Redis (all installed manually) | kubectl, container registry, a running cluster (k3s, EKS, GKE, etc.) |
| Time to first login | ~5 minutes | ~30 minutes | ~45 minutes (cluster already running) |
| Auto-scaling | No | No | Yes |
| Rolling deployments | Manual rebuild | Manual deploy | Built-in via Kubernetes |
| SSL/TLS | Bring your own (reverse proxy) | Certbot / manual | Cert-manager or cloud load balancer |
| Recommended OS | Any OS that runs Docker | Ubuntu 22.04+, Debian 12+ | Linux nodes (amd64 or arm64) |
Rule of thumb: Start with Docker. Move to Kubernetes when you need horizontal scaling or zero-downtime deployments. Use Manual only when Docker is unavailable or your hosting environment requires it.
System Requirements
Auto Commerce runs a Laravel API backend, a Next.js frontend, PostgreSQL, and Redis. The minimum resources below assume a single-server deployment.
Hardware
| Resource | Minimum | Recommended (production) |
|---|---|---|
| CPU | 2 cores | 4+ cores |
| RAM | 2 GB | 4 GB+ |
| Disk | 10 GB free | 20 GB+ SSD |
If you use Docker, account for container overhead (roughly 500 MB extra RAM for the Docker daemon and images). Kubernetes clusters need additional resources for the control plane.
Software
| Component | Required Version | Notes |
|---|---|---|
| PHP | 8.2+ | With FPM for production |
| PostgreSQL | 14+ | MySQL 8+ also supported, but PostgreSQL is recommended |
| Redis | 6+ | Used for cache, sessions, queues, and broadcasting |
| Node.js | 18+ | For building the Next.js frontend |
| Composer | 2.x | PHP dependency manager |
| Nginx or Apache | Current stable | Nginx recommended; Apache works with mod_rewrite |
| Git | 2.x | For cloning the repository |
| Docker (if using Docker method) | Engine 20.10+, Compose 2.0+ | Docker Desktop or Docker CE |
Required PHP Extensions
The following extensions must be enabled in your php.ini. Most are included by default in standard PHP packages; the ones you are most likely to need to install separately are pdo_pgsql, redis, and gd.
pdo,pdo_pgsql(orpdo_mysql)mbstring,openssl,tokenizerxml,ctype,json,bcmathredis,gd
You can verify installed extensions with php -m.
Quick Start (Docker)
The fastest way to get started is with Docker:
# Clone the repository
git clone <your-repository-url>
cd autocom
# Copy environment files
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env
# Start all services (app, nginx, PostgreSQL, Redis, Horizon, frontend)
docker compose up -d
# Generate the Laravel application key
docker compose exec app php artisan key:generate
Docker Compose brings up the following services:
| Service | Port | Purpose |
|---|---|---|
nginx |
8000 | Reverse proxy to the Laravel API |
frontend |
3000 | Next.js application |
pgsql |
5432 | PostgreSQL database |
redis |
6379 | Cache, queues, sessions |
horizon |
-- | Background job processing |
reverb |
8080 | WebSocket server for real-time events |
docs |
3001 | Documentation site |
Open your browser to http://localhost:3000 and follow the Installation Wizard to complete setup.
Quick Start (Manual)
If you prefer a traditional server setup without Docker:
git clone <your-repository-url>
cd autocom
# Backend
cd backend
composer install --no-dev --optimize-autoloader
cp .env.example .env
php artisan key:generate
# Edit .env with your database and Redis credentials
# Frontend (uses Bun)
cd ../frontend
bun install --frozen-lockfile
cp .env.example .env.local
# Edit .env.local to set NEXT_PUBLIC_API_URL
bun run build
bun run start
Then open your domain in a browser. You will be redirected to the Installation Wizard.
See the Manual Installation guide for full Nginx configuration, queue worker setup, SSL, and scheduler instructions.
Installation Methods (Detailed Guides)
- Docker Installation -- Recommended for most users
- Manual Installation -- Traditional server setup without Docker
- Kubernetes Overview -- Scalable production and staging
- Raspberry Pi + k3s -- Low-cost self-hosted cluster
- Cloud Kubernetes -- DigitalOcean, AWS EKS, GKE
Next Steps
After installation completes:
- Installation Wizard -- Guided setup process (runs automatically on first visit)
- Troubleshooting -- Common issues and solutions