Documentation

    PLEASE NOTE: This document applies to v2.19 version and not to the latest stable release v2.20

    Documentation for other releases can be found by using the version selector in the top right of any doc page.

    docker_compose

    Manage Docker Compose projects for multi-container applications.

    Attributes

    check_mode:
      support: full
    ```}
    
    ## Parameters
    
    | Parameter      | Required | Type    | Values                                               | Description                                              |
    |----------------|----------|---------|------------------------------------------------------|----------------------------------------------------------|
    | build          |          | boolean |                                                      | Build images before starting.                            |
    | files          |          | array   |                                                      | List of compose files to use.                            |
    | force_recreate |          | boolean |                                                      | Force recreation of containers.                          |
    | no_deps        |          | boolean |                                                      | Do not start linked services.                            |
    | project_name   |          | string  |                                                      | Custom project name.                                     |
    | project_src    | true     | string  |                                                      | Path to the docker-compose project directory.            |
    | pull           |          | boolean |                                                      | Pull images before starting.                             |
    | remove_images  |          | boolean |                                                      | Remove images when removing project (state=absent).      |
    | remove_orphans |          | boolean |                                                      | Remove orphans (containers not defined in compose file). |
    | remove_volumes |          | boolean |                                                      | Remove volumes when removing project (state=absent).     |
    | scale          |          | object  |                                                      | Scale mapping for services (e.g., {"web": 3).           |
    | services       |          | array   |                                                      | List of specific services to manage.                     |
    | state          |          | string  | absent<br>present<br>restarted<br>started<br>stopped | Desired state of the project.                            |
    | timeout        |          | integer |                                                      | Timeout in seconds for operations.                       |
    
    ## Example
    
    ```yaml
    - name: Start a docker-compose project
      docker_compose:
        project_src: /app
        state: started
    
    - name: Stop a docker-compose project
      docker_compose:
        project_src: /app
        state: stopped
    
    - name: Remove a docker-compose project
      docker_compose:
        project_src: /app
        state: absent
    
    - name: Restart a docker-compose project
      docker_compose:
        project_src: /app
        state: restarted
    
    - name: Start specific services
      docker_compose:
        project_src: /app
        state: started
        services:
          - web
          - db
    
    - name: Pull images before starting
      docker_compose:
        project_src: /app
        state: started
        pull: true
    
    - name: Scale services
      docker_compose:
        project_src: /app
        state: started
        scale:
          web: 3
          worker: 5
    
    - name: Use a specific compose file
      docker_compose:
        project_src: /app
        files:
          - docker-compose.yml
          - docker-compose.prod.yml
        state: started
    
    - name: Build images before starting
      docker_compose:
        project_src: /app
        state: started
        build: true
    
    - name: Start with a custom project name
      docker_compose:
        project_src: /app
        project_name: myproject
        state: started