Skip to content
This repository has been archived by the owner on Jul 1, 2022. It is now read-only.

f9n/docker-compose-expand

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker Compose Expand PyPi version PyPI pyversions

Expand your docker-compose.yml file with this tool.

Install

$ pip3 install --user docker-compose-expand

Usage

Your services in docker-compose.yml file.

version: "3"
services:
  api:
    image: ef9n/supervisord:0.1.0
    restart: on-failure
    ports:
      - "9001:9001"

  products:
    image: ef9n/supervisord:0.1.0
    restart: on-failure
    ports:
      - "9002:9001"

  analysis:
    image: ef9n/supervisord:0.1.0
    restart: on-failure
    ports:
      - "9003:9001"

  monitoring:
    image: ef9n/supervisord:0.1.0
    restart: on-failure
    ports:
      - "9004:9001"

Instead of using the docker-compose tool, define the same services in the docker-compose-expand.yml file and use the docker-compose-expand tool that generates the docker-compose.yml file for your expandable services.

  • You can define variables in loop field or vars field.

  • In the loop field, you can refer to a variable which is in the vars field.

Loop Field

version: "3"
services:
  api:
    image: ef9n/supervisord:0.1.0
    restart: on-failure
    ports:
      - "9001:9001"

expand:
  vars:
  services:
    - name: "{{ name }}"
      service:
        image: ef9n/supervisord:0.1.0
        restart: on-failure
        volumes:
          - "/tmp/{{ name }}/:/opt/{{name}}/"
        ports:
          - "{{ port }}:9001"
      loop:
        - name: products
          port: 9002
        - name: analysis
          port: 9003
        - name: monitoring
          port: 9004

Vars Field

# Vars Field
version: "3"
services:
  api:
    image: ef9n/supervisord:0.1.0
    restart: on-failure
    ports:
      - "9001:9001"

expand:
  vars:
    supervisors:
      - name: products
        port: 9002
      - name: analysis
        port: 9003
      - name: monitoring
        port: 9004
  services:
    - name: "{{ name }}"
      service:
        image: ef9n/supervisord:0.1.0
        restart: on-failure
        volumes:
          - "/tmp/{{ name }}/:/opt/{{name}}/"
        ports:
          - "{{ port }}:9001"
      loop: "{{ supervisors }}"

Examples

Look up the examples directory.

Credits

About

Expand your docker compose file

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages