# Local development setup for QloApps. # Start: docker compose up -d --build # Shop: http://localhost:8080 # Admin: http://localhost:8080/admin-dev (login: ADMIN_EMAIL / ADMIN_PASSWORD from .env) # Values come from .env (copy .env.example to .env). # # Install (once, as www-data so file permissions stay correct; the web installer is blocked): # docker compose exec -u www-data app php install-dev/index_cli.php --language=de --country=de \ # --timezone=Europe/Berlin --domain=localhost:8080 --db_server=db --db_user=qloapps \ # --db_password= --db_name=qloapps --email= --password= \ # --newsletter=0 services: app: build: ./docker ports: - "${APP_PORT:-8080}:80" volumes: - ./:/var/www/html depends_on: db: condition: service_healthy restart: unless-stopped db: image: mariadb:11.4 environment: MARIADB_DATABASE: ${DB_NAME:-qloapps} MARIADB_USER: ${DB_USER:-qloapps} MARIADB_PASSWORD: ${DB_PASSWORD:?set DB_PASSWORD in .env} MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:?set DB_ROOT_PASSWORD in .env} volumes: - db_data:/var/lib/mysql healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 5s timeout: 5s retries: 20 restart: unless-stopped volumes: db_data: