Dolibarr Docker Use CasesΒΆ
This document outlines practical use cases for the Dolibarr Docker deployment, demonstrating how different organizations and scenarios can benefit from this setup.
OverviewΒΆ
The Dolibarr Docker setup is designed to be flexible and scalable, supporting various business needs from small startups to larger organizations. With 13 enabled modules and comprehensive task automation, it provides a complete ERP/CRM solution.
Business Use CasesΒΆ
π’ Small Business ManagementΒΆ
Scenario: A small consulting company with 5-15 employees needs integrated customer management, project tracking, and invoicing.
Enabled Modules Used: - SOCIETE - Customer and supplier management - PROJET - Project tracking and time management - FACTURE - Invoice generation and billing - ACTIONCOMM - Calendar and meeting management - PRODUCT - Service catalog management
Workflow:
flowchart LR
PROSPECT[π€ New Prospect] --> CONTACT[π Initial Contact]
CONTACT --> PROPOSAL[π Create Proposal]
PROPOSAL --> PROJECT[π Start Project]
PROJECT --> TIMETRACK[β±οΈ Track Time]
TIMETRACK --> INVOICE[π° Generate Invoice]
INVOICE --> PAYMENT[π³ Payment]
Setup Commands:
# Quick setup for small business
task config:setup-dev-environment
# Enable additional modules if needed
task config:enable-modules
# Check configuration
task config:show-config
π Manufacturing & Inventory ManagementΒΆ
Scenario: A small manufacturing company needs to track inventory, manage suppliers, and handle product orders.
Enabled Modules Used: - PRODUCT - Product catalog and specifications - STOCK - Inventory management - COMMANDE - Order management - FOURNISSEUR - Supplier relationship management - FACTURE - Invoice processing
Key Features: - Real-time stock levels - Automated reorder points - Supplier comparison - Product cost tracking - Order fulfillment workflow
πΌ Professional Services FirmΒΆ
Scenario: A law firm, accounting firm, or consultancy needing client management, project billing, and document tracking.
Enabled Modules Used: - SOCIETE - Client management - PROJET - Case/project management - ACTIONCOMM - Client communication tracking - FACTURE - Professional billing - CATEGORIE - Client and service categorization
Benefits: - Centralized client information - Time-based billing - Document management - Compliance tracking - Performance analytics
π― Sales & Marketing OrganizationΒΆ
Scenario: A sales-focused company needing CRM functionality, proposal management, and sales pipeline tracking.
Enabled Modules Used: - SOCIETE - Lead and customer management - PROPAL - Proposal creation and tracking - COMMANDE - Order processing - ACTIONCOMM - Sales activity tracking - CATEGORIE - Lead categorization
Sales Pipeline:
stateDiagram-v2
[*] --> Lead
Lead --> Qualified : Contact & Qualify
Qualified --> Proposal : Create Proposal
Proposal --> Negotiation : Follow-up
Negotiation --> Won : Close Deal
Negotiation --> Lost : Reject
Won --> Order : Process Order
Order --> [*]
Lost --> [*]
ποΈ Non-Profit OrganizationΒΆ
Scenario: A non-profit organization managing members, donations, events, and volunteer projects.
Enabled Modules Used: - ADHERENT - Member management - ACTIONCOMM - Event planning and tracking - PROJET - Volunteer project coordination - FACTURE - Donation receipts - CATEGORIE - Member and donor categorization
Features: - Membership tracking - Donation management - Volunteer coordination - Event planning - Grant tracking
Technical Use CasesΒΆ
π§ Development & Testing EnvironmentΒΆ
Scenario: Developers need a local Dolibarr instance for testing integrations, custom modules, or API development.
Setup:
# Start development environment
task services:start-with-tools
# Enable API for testing
task config:enable-api
# Load demo data for testing
task config:load-demo-data
# Access API documentation
# http://localhost:18080/api/index.php/explorer
Features: - API testing environment - Demo data for development - phpMyAdmin for database inspection - Custom module development support
π Production DeploymentΒΆ
Scenario: Deploy Dolibarr for production use with external database and proper security.
Setup Steps:
# 1. Configure external database
cp .env.example .env
# Edit .env with production settings
# 2. Start with external database
task services:start-external
# 3. Configure for production
task config:configure-company
task config:enable-modules
# 4. Setup backup schedule
task backup:backup # Add to cron
Production Checklist: - β External database configured - β Strong passwords set - β Regular backups scheduled - β SSL/TLS configured - β Monitoring enabled
π Data Migration & IntegrationΒΆ
Scenario: Migrating from another system or integrating with existing business tools.
Approach: 1. Data Export: Export data from existing system 2. Database Preparation: Use database init scripts 3. API Integration: Use REST API for ongoing sync 4. Testing: Validate data integrity
Tools Available:
# Database access for migration
task utilities:shell-db
# API access for integration
# REST API available at /api/index.php
# Backup before migration
task backup:backup
# Custom module directory
# ./custom/ for integration modules
π Multi-Environment SetupΒΆ
Scenario: Separate development, staging, and production environments.
Environment Structure:
dolibarr-dev/ # Development environment
βββ .env # Dev-specific settings
βββ custom/ # Development modules
dolibarr-staging/ # Staging environment
βββ .env # Staging settings
βββ backups/ # Staging backups
dolibarr-prod/ # Production environment
βββ .env # Production settings
βββ backups/ # Production backups
βββ custom/ # Production modules
Management:
# Development
cd dolibarr-dev && task services:start-with-tools
# Staging
cd dolibarr-staging && task services:start
# Production
cd dolibarr-prod && task services:start-external
Integration Use CasesΒΆ
π API-First IntegrationΒΆ
Scenario: Using Dolibarr as a backend service with custom frontend applications.
Enabled Features: - API Module: REST API access - Authentication: API key management - Data Access: Complete CRUD operations
Example Integration:
// JavaScript example
const api = new DolibarrAPI('http://localhost:18080/api/index.php');
api.setApiKey('your-api-key');
// Get customers
const customers = await api.get('/thirdparties');
// Create invoice
const invoice = await api.post('/invoices', {
socid: customerId,
date: '2024-01-01'
});
π± Mobile App BackendΒΆ
Scenario: Mobile app for field sales or service teams.
API Endpoints Used:
- /thirdparties
- Customer data
- /proposals
- Create quotes on-site
- /orders
- Order management
- /invoices
- Invoice generation
- /agendaevents
- Calendar sync
π E-commerce IntegrationΒΆ
Scenario: Connect online store with Dolibarr for order management.
Integration Flow:
flowchart LR
ECOM[π E-commerce Site] --> ORDER[π¦ New Order]
ORDER --> API[π Dolibarr API]
API --> CUSTOMER[π€ Create/Update Customer]
API --> INVOICE[π° Generate Invoice]
API --> STOCK[π Update Inventory]
STOCK --> FULFILLMENT[π« Fulfillment]
Scaling ScenariosΒΆ
π Growth PlanningΒΆ
Small β Medium Business Transition:
Phase 1: Basic Setup (1-10 users) - Internal database - Core modules - Single server
Phase 2: Expansion (10-50 users) - External database - Additional modules - Performance optimization
Phase 3: Enterprise (50+ users) - High availability setup - Multiple environments - Advanced monitoring
π Multi-Location DeploymentΒΆ
Scenario: Multiple offices or locations needing centralized management.
Architecture Options: 1. Centralized: Single instance, multi-entity 2. Distributed: Multiple instances with data sync 3. Hybrid: Regional instances with central reporting
Best Practices by Use CaseΒΆ
π Security ConsiderationsΒΆ
For Production Use:
# Change default passwords
# Edit .env file with strong passwords
# Remove development tools
# Don't use --profile internal-db-tools in production
# Regular updates
task maintenance:update
# Regular backups
task backup:backup
β‘ Performance OptimizationΒΆ
For High-Volume Use: - Use external database with optimized configuration - Regular maintenance tasks - Monitor resource usage - Implement caching strategies
π Monitoring & MaintenanceΒΆ
Regular Tasks:
# Health checks
task utilities:health
# Log monitoring
task services:logs-app
# Database optimization
task utilities:shell-db
# Run OPTIMIZE TABLE commands
# Backup verification
task backup:list-backups
Getting Started by Use CaseΒΆ
Quick Setup MatrixΒΆ
Use Case | Profile | Additional Modules | API Needed | Custom Code |
---|---|---|---|---|
Small Business | internal-db-tools |
β All enabled | β | β |
Manufacturing | internal-db |
β Stock, Suppliers | β | Maybe |
Development | internal-db-tools |
β All enabled | β | β |
Production | external-db |
β Business-specific | β | Maybe |
Integration | internal-db |
β API required | β | β |
Setup Commands by Use CaseΒΆ
# Small Business
task config:setup-dev-environment
task services:start-with-tools
# Production
task services:start-external
task config:configure-company
task config:enable-modules
# Development
task services:start-with-tools
task config:enable-api
task config:load-demo-data
# Integration Testing
task services:start
task config:enable-api
# Custom setup as needed
ConclusionΒΆ
The Dolibarr Docker setup provides flexibility for various business scenarios, from simple small business management to complex enterprise integrations. The modular architecture and comprehensive task automation make it suitable for rapid deployment and easy maintenance across different use cases.
Choose the appropriate setup based on your specific needs, and leverage the extensive module system to customize functionality for your business requirements.