$ services: suitecrm: image: bitnamilegacy/suitecrm:8.8.1-debian-12-r3 container_name: suitecrm -weight: 500;">restart: unless-stopped ports: - "8080:8080" - "8443:8443" environment: # Database SUITECRM_DATABASE_HOST: suitecrm-db SUITECRM_DATABASE_PORT_NUMBER: "3306" SUITECRM_DATABASE_NAME: suitecrm SUITECRM_DATABASE_USER: suitecrm SUITECRM_DATABASE_PASSWORD: change-this-password # CHANGE THIS # Admin account SUITECRM_USERNAME: admin SUITECRM_PASSWORD: change-admin-password # CHANGE THIS SUITECRM_EMAIL: [email protected] # Application SUITECRM_HOST: crm.example.com # CHANGE to your domain ALLOW_EMPTY_PASSWORD: "no" volumes: - suitecrm-data:/bitnami/suitecrm depends_on: - suitecrm-db networks: - suitecrm suitecrm-db: image: mariadb:11.4 container_name: suitecrm-db -weight: 500;">restart: unless-stopped environment: MARIADB_USER: suitecrm MARIADB_DATABASE: suitecrm MARIADB_PASSWORD: change-this-password # Must match above MARIADB_ROOT_PASSWORD: change-root-password # CHANGE THIS volumes: - suitecrm-db:/var/lib/mysql networks: - suitecrm volumes: suitecrm-data: suitecrm-db: networks: suitecrm: driver: bridge
services: suitecrm: image: bitnamilegacy/suitecrm:8.8.1-debian-12-r3 container_name: suitecrm -weight: 500;">restart: unless-stopped ports: - "8080:8080" - "8443:8443" environment: # Database SUITECRM_DATABASE_HOST: suitecrm-db SUITECRM_DATABASE_PORT_NUMBER: "3306" SUITECRM_DATABASE_NAME: suitecrm SUITECRM_DATABASE_USER: suitecrm SUITECRM_DATABASE_PASSWORD: change-this-password # CHANGE THIS # Admin account SUITECRM_USERNAME: admin SUITECRM_PASSWORD: change-admin-password # CHANGE THIS SUITECRM_EMAIL: [email protected] # Application SUITECRM_HOST: crm.example.com # CHANGE to your domain ALLOW_EMPTY_PASSWORD: "no" volumes: - suitecrm-data:/bitnami/suitecrm depends_on: - suitecrm-db networks: - suitecrm suitecrm-db: image: mariadb:11.4 container_name: suitecrm-db -weight: 500;">restart: unless-stopped environment: MARIADB_USER: suitecrm MARIADB_DATABASE: suitecrm MARIADB_PASSWORD: change-this-password # Must match above MARIADB_ROOT_PASSWORD: change-root-password # CHANGE THIS volumes: - suitecrm-db:/var/lib/mysql networks: - suitecrm volumes: suitecrm-data: suitecrm-db: networks: suitecrm: driver: bridge
services: suitecrm: image: bitnamilegacy/suitecrm:8.8.1-debian-12-r3 container_name: suitecrm -weight: 500;">restart: unless-stopped ports: - "8080:8080" - "8443:8443" environment: # Database SUITECRM_DATABASE_HOST: suitecrm-db SUITECRM_DATABASE_PORT_NUMBER: "3306" SUITECRM_DATABASE_NAME: suitecrm SUITECRM_DATABASE_USER: suitecrm SUITECRM_DATABASE_PASSWORD: change-this-password # CHANGE THIS # Admin account SUITECRM_USERNAME: admin SUITECRM_PASSWORD: change-admin-password # CHANGE THIS SUITECRM_EMAIL: [email protected] # Application SUITECRM_HOST: crm.example.com # CHANGE to your domain ALLOW_EMPTY_PASSWORD: "no" volumes: - suitecrm-data:/bitnami/suitecrm depends_on: - suitecrm-db networks: - suitecrm suitecrm-db: image: mariadb:11.4 container_name: suitecrm-db -weight: 500;">restart: unless-stopped environment: MARIADB_USER: suitecrm MARIADB_DATABASE: suitecrm MARIADB_PASSWORD: change-this-password # Must match above MARIADB_ROOT_PASSWORD: change-root-password # CHANGE THIS volumes: - suitecrm-db:/var/lib/mysql networks: - suitecrm volumes: suitecrm-data: suitecrm-db: networks: suitecrm: driver: bridge
-weight: 500;">docker compose up -d
-weight: 500;">docker compose up -d
-weight: 500;">docker compose up -d
environment: SUITECRM_SMTP_HOST: smtp.example.com SUITECRM_SMTP_PORT: "587" SUITECRM_SMTP_USER: [email protected] SUITECRM_SMTP_PASSWORD: smtp-password SUITECRM_SMTP_PROTOCOL: tls
environment: SUITECRM_SMTP_HOST: smtp.example.com SUITECRM_SMTP_PORT: "587" SUITECRM_SMTP_USER: [email protected] SUITECRM_SMTP_PASSWORD: smtp-password SUITECRM_SMTP_PROTOCOL: tls
environment: SUITECRM_SMTP_HOST: smtp.example.com SUITECRM_SMTP_PORT: "587" SUITECRM_SMTP_USER: [email protected] SUITECRM_SMTP_PASSWORD: smtp-password SUITECRM_SMTP_PROTOCOL: tls
environment: PHP_MEMORY_LIMIT: "512M" PHP_POST_MAX_SIZE: "100M" PHP_UPLOAD_MAX_FILESIZE: "100M"
environment: PHP_MEMORY_LIMIT: "512M" PHP_POST_MAX_SIZE: "100M" PHP_UPLOAD_MAX_FILESIZE: "100M"
environment: PHP_MEMORY_LIMIT: "512M" PHP_POST_MAX_SIZE: "100M" PHP_UPLOAD_MAX_FILESIZE: "100M"
# Database
-weight: 500;">docker exec suitecrm-db mariadb-dump -u suitecrm -p suitecrm > suitecrm-backup.sql # Application data (config, uploads, custom modules)
-weight: 500;">docker run --rm -v suitecrm-data:/data -v $(pwd):/backup alpine tar czf /backup/suitecrm-data.tar.gz /data
# Database
-weight: 500;">docker exec suitecrm-db mariadb-dump -u suitecrm -p suitecrm > suitecrm-backup.sql # Application data (config, uploads, custom modules)
-weight: 500;">docker run --rm -v suitecrm-data:/data -v $(pwd):/backup alpine tar czf /backup/suitecrm-data.tar.gz /data
# Database
-weight: 500;">docker exec suitecrm-db mariadb-dump -u suitecrm -p suitecrm > suitecrm-backup.sql # Application data (config, uploads, custom modules)
-weight: 500;">docker run --rm -v suitecrm-data:/data -v $(pwd):/backup alpine tar czf /backup/suitecrm-data.tar.gz /data - A Linux server (Ubuntu 22.04+ recommended)
- Docker and Docker Compose installed (guide)
- 4 GB of RAM recommended (2 GB minimum)
- 10 GB of free disk space
- A domain name (recommended for production use) - Log in with the admin credentials you set in the environment variables
- Complete the setup wizard if prompted
- Configure your organization details under Admin → System Settings - RAM: ~400-600 MB idle, ~1-2 GB under active use with multiple users
- CPU: 2 cores minimum, CPU-intensive during report generation
- Disk: 2 GB for the application, 10+ GB recommended with database and attachments - SuiteCRM vs EspoCRM: Which CRM to Self-Host?
- SuiteCRM vs Salesforce: Self-Hosted Alternative?
- Twenty vs SuiteCRM: Which Should You Self-Host?
- How to Self-Host Twenty CRM
- How to Self-Host EspoCRM
- Best Self-Hosted CRM Tools
- Docker Compose Basics
- Reverse Proxy Guide
- Backup Strategy
- Best Self-Hosted Invoicing Tools