Skip to content

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.