### Deploy Eramba with Docker Compose Source: https://context7.com/eramba/docker/llms.txt Clones the Eramba Docker repository and starts all services for a simple installation. Use 'docker ps' to verify containers are running. ```bash # Clone the repository and navigate to the directory git clone https://github.com/eramba/docker.git cd docker # Start all services (MySQL, Redis, Eramba, Cron) docker compose -f docker-compose.simple-install.yml up -d # Verify containers are running docker ps # Expected output: # CONTAINER ID IMAGE STATUS PORTS # abc123... ghcr.io/eramba/eramba:latest Up 2 minutes 0.0.0.0:8443->443/tcp # def456... mysql:8.4.3-oracle Up 2 minutes 3306/tcp # ghi789... redis:7.4.2-alpine Up 2 minutes 6379/tcp ``` -------------------------------- ### Eramba Health Check Verification Source: https://context7.com/eramba/docker/llms.txt Verify Eramba installation health using HTTP requests and CLI commands. The HTTP health check should return a 204 status code. The CLI checks verify system health and database connectivity from the cron container. ```bash curl -w '%{http_code}\n' -o /dev/null --silent --insecure https://localhost:8443/settings/test-public-address ``` ```bash docker exec -w /var/www/eramba/app/upgrade -u www-data eramba bin/cake system_health check ``` ```bash docker exec -w /var/www/eramba/app/upgrade -u www-data cron bin/cake migrations status ``` -------------------------------- ### Configure Eramba Environment Variables Source: https://context7.com/eramba/docker/llms.txt Sets up database credentials, Redis cache, proxy settings, and public URL for Eramba deployment via the .env file. Ensure sensitive information like DB_PASSWORD is kept secure. ```bash # Database Configuration DB_HOST=mysql DB_DATABASE=docker DB_USERNAME=docker DB_PASSWORD=Your_DB_user_P@ssw0rd MYSQ_ROOT_PASSWORD=Your_MysQl_ROOt_P@ssw0rd # Redis Cache Configuration CACHE_URL=Redis://?server=redis&port=6379&password=&timeout=3 # Proxy Settings (optional) USE_PROXY=0 PROXY_HOST= PROXY_PORT= USE_PROXY_AUTH=0 PROXY_AUTH_USER= PROXY_AUTH_PASS= # Application Settings PUBLIC_ADDRESS=https://localhost:8443 DOCKER_DEPLOYMENT=1 LDAPTLS_REQCERT=never ``` -------------------------------- ### Manual Database Initialization and Management Source: https://context7.com/eramba/docker/llms.txt Commands to manually initialize the database, check migration status, validate configuration, run health checks, and stop queue workers within the Eramba container. These commands are executed using `docker exec`. ```bash docker exec -u www-data eramba php app/upgrade/bin/cake.php database initialize ``` ```bash docker exec -u www-data eramba php app/upgrade/bin/cake.php migrations status ``` ```bash docker exec -u www-data eramba php app/upgrade/bin/cake.php current_config validate ``` ```bash docker exec -u www-data eramba php app/upgrade/bin/cake.php system_health check ``` ```bash docker exec -u www-data eramba php app/upgrade/bin/cake.php queue worker end all -q ``` -------------------------------- ### Configure SSL Certificates for Eramba Source: https://context7.com/eramba/docker/llms.txt Replaces default development SSL certificates with your own CA-issued certificates for production. Ensure correct file permissions are set and restart the Eramba container for changes to take effect. ```bash # Replace development certificates with production certificates cp /path/to/your/certificate.crt apache/ssl/mycert.crt cp /path/to/your/private.key apache/ssl/mycert.key # Set proper permissions chmod 644 apache/ssl/mycert.crt chmod 600 apache/ssl/mycert.key # Restart the eramba container to apply new certificates docker restart eramba ``` -------------------------------- ### PHP Configuration for Eramba Source: https://context7.com/eramba/docker/llms.txt Key PHP settings optimized for Eramba, including extended memory limits and file upload sizes to support data import/export functionality. These settings are typically found in `php.ini`. ```ini ; Key PHP settings for Eramba max_execution_time = 200 max_input_time = 60 max_input_vars = 3000 memory_limit = 4096M post_max_size = 50M upload_max_filesize = 50M max_file_uploads = 20 ``` -------------------------------- ### Deploy Eramba Enterprise Edition Source: https://context7.com/eramba/docker/llms.txt Deploys the Eramba Enterprise edition by layering the enterprise configuration onto the base Docker Compose file. This changes the application image to 'ghcr.io/eramba/eramba-enterprise:latest'. ```bash # Deploy Eramba Enterprise with extended docker-compose docker compose -f docker-compose.simple-install.yml -f docker-compose.simple-install.enterprise.yml up -d # The enterprise overlay changes the image to: # ghcr.io/eramba/eramba-enterprise:latest ``` -------------------------------- ### Eramba Docker Volume Configuration Source: https://context7.com/eramba/docker/llms.txt Defines Docker volumes for persistent storage of Eramba application data, logs, and database files. Includes commands for backing up application and database volumes. ```yaml volumes: app: # Application files (/var/www/eramba) data: # Upgrade data (/var/www/eramba/app/upgrade/data) logs: # Application logs (/var/www/eramba/app/upgrade/logs) db-data: # MySQL database files (/var/lib/mysql) ``` ```bash docker run --rm -v docker_data:/data -v $(pwd):/backup alpine tar czf /backup/eramba-data-backup.tar.gz /data ``` ```bash docker run --rm -v docker_db-data:/data -v $(pwd):/backup alpine tar czf /backup/eramba-db-backup.tar.gz /data ``` -------------------------------- ### MySQL Database Configuration for Eramba Source: https://context7.com/eramba/docker/llms.txt Optimizes MySQL settings for Eramba, including increasing max packet size and disabling binary logging for performance. Slow query logging is enabled for monitoring. ```ini [mysqld] disable-log-bin max_allowed_packet=128M sql_mode=NO_ENGINE_SUBSTITUTION innodb_strict_mode=0 innodb_lock_wait_timeout=200 innodb_stats_on_metadata=OFF binlog_row_image=MINIMAL sync_binlog=1 local_infile=OFF skip-name-resolve slow_query_log=1 slow_query_log_file=/tmp/mysql-slow.log log_bin=OFF bind-address=0.0.0.0 [mysqldump] quick quote-names max_allowed_packet=128M ``` -------------------------------- ### Apache Virtual Host SSL Configuration Source: https://context7.com/eramba/docker/llms.txt Configures Apache to enable SSL on ports 443 and 8443 with security hardening. This includes disabling legacy protocols and enforcing a strong cipher order for secure connections. ```apache DocumentRoot "/var/www/eramba" AllowOverride all Require all granted ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/mycert.crt SSLCertificateKeyFile /etc/ssl/private/mycert.key # SSL Security Hardening SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite HIGH:!aNULL:!MD5:!3DES:!RSA:!AES128-SHA:!AES256-SHA:!AES256-CCM:!AES256-CCM8 SSLHonorCipherOrder on SSLCompression off # For large requests (Eramba imports/exports) LimitRequestLine 20000 ``` -------------------------------- ### Eramba Crontab Configuration Source: https://context7.com/eramba/docker/llms.txt Crontab entries for scheduling hourly, daily, and yearly Eramba cron jobs, as well as a catch-all for queue workers. Ensure the environment variables are exported before executing commands. ```bash @hourly export $(cat /var/www/docker.env) && /bin/sh /var/www/eramba/app/upgrade/bin/cake cron job hourly >> /var/log/cron.log 2>&1 @daily export $(cat /var/www/docker.env) && /bin/sh /var/www/eramba/app/upgrade/bin/cake cron job daily >> /var/log/cron.log 2>&1 @yearly export $(cat /var/www/docker.env) && /bin/sh /var/www/eramba/app/upgrade/bin/cake cron job yearly >> /var/log/cron.log 2>&1 * * * * * export $(cat /var/www/docker.env) && /bin/sh /var/www/eramba/app/upgrade/bin/cake queue run -v >> /var/log/cron.log 2>&1 ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.