Skip to content

Commit

Permalink
Merge pull request #4 from arillso/fix/docker-compose
Browse files Browse the repository at this point in the history
fix: docker-compose
  • Loading branch information
sbaerlocher authored Nov 29, 2023
2 parents 0430a56 + 0692bbc commit d1cdaa8
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 15 deletions.
2 changes: 1 addition & 1 deletion galaxy.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
namespace: arillso
name: container
version: 0.0.0
version: 0.0.4
readme: README.md

authors:
Expand Down
2 changes: 1 addition & 1 deletion roles/docker_compose/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Variables are defined in `defaults/main.yml` and can be overridden in your playb
#### Argument Specifications

- `docker_compose_version`: Specifies Docker Compose version to install (defaults to latest)
- `docker_compose_package`: List of Docker Compose packages for installation
- `docker_compose_packages`: List of Docker Compose packages for installation
- `docker_compose_directory_path`: Base directory path for Docker Compose configuration files
- `docker_compose_directory`: Full path for the Docker Compose project directory
- `docker_compose_use_file`: Boolean to choose between file-based or inline configuration
Expand Down
7 changes: 4 additions & 3 deletions roles/docker_compose/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
docker_compose_version: ""

# List of Docker Compose packages for installation. Appends the specified version to the package name if docker_compose_version is set.
docker_compose_package:
- "{{ 'docker-compose-plugin=' + docker_compose_version if docker_compose_version != '' else 'docker-compose-plugin' }}"
# https://github.com/ansible-collections/community.docker/pull/586
# docker_compose_packages:
# - "{{ 'docker-compose-plugin=' + docker_compose_version if docker_compose_version != '' else 'docker-compose-plugin' }}"

# Base directory path for storing Docker Compose configuration files.
docker_compose_directory_path: "/etc/docker/compose"
Expand Down Expand Up @@ -69,7 +70,7 @@ docker_compose_pull: false
docker_compose_recreate: "smart"

# Option to remove images when state is 'absent'. Choices are 'all' or 'local'.
docker_compose_remove_images: null
docker_compose_remove_images: all

# Remove containers for services not defined in the current Compose file. Default is 'false'.
docker_compose_remove_orphans: false
Expand Down
24 changes: 17 additions & 7 deletions roles/docker_compose/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
---
- name: Install Docker Compose packages
become: true
ansible.builtin.package:
name: "{{ item }}"
state: present
loop: "{{ docker_compose_packages }}"
# https://github.com/ansible-collections/community.docker/pull/586
# - name: Install Docker Compose packages
# become: true
# ansible.builtin.package:
# name: "{{ item }}"
# state: present
# loop: "{{ docker_compose_packages }}"

- name: Installiere docker-compose wo pip
ansible.builtin.pip:
name: docker-compose
extra_args: --break-system-packages

- name: Ensure Docker Compose directory exists with correct permissions
become: true
ansible.builtin.file:
path: "{{ docker_compose_yaml_dir }}"
path: "{{ docker_compose_directory }}"
state: directory
mode: "0755"

Expand All @@ -19,6 +26,7 @@
when: docker_compose_use_file
block:
- name: Set up Docker Compose systemd service on target host
become: true
ansible.builtin.template:
src: etc/systemd/system/[email protected]
dest: /etc/systemd/system/[email protected]
Expand All @@ -27,6 +35,7 @@
mode: "0644"

- name: Create Docker Compose configuration file from template
become: true
ansible.builtin.template:
src: etc/docker/compose/docker-compose.yml.j2
dest: "{{ docker_compose_directory_path }}/{{ docker_compose_project }}/docker-compose.yml"
Expand All @@ -35,6 +44,7 @@
mode: "0644"

- name: Launch Docker Compose based on specified configuration
become: true
community.docker.docker_compose:
project_src: "{{ docker_compose_directory if docker_compose_use_file else omit }}"
definition: "{{ docker_compose_config if not docker_compose_use_file else omit }}"
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{{ docker_compose_config }}
{{ docker_compose_config | to_nice_yaml }}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ After=docker.service
Type=oneshot
RemainAfterExit=true
WorkingDirectory={{ docker_compose_directory_path }}/%i
ExecStart=/usr/local/bin/docker-compose up -d --remove-orphans
ExecStop=/usr/local/bin/docker-compose down
ExecStart=/usr/bin/docker-compose up -d --remove-orphans
ExecStop=/usr/bin/docker-compose down

[Install]
WantedBy=multi-user.target
1 change: 1 addition & 0 deletions roles/docker_login/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
- name: Login to Docker registry
become: true
community.docker.docker_login:
api_version: "{{ docker_login_api_version }}"
ca_cert: "{{ docker_login_ca_cert }}"
Expand Down

0 comments on commit d1cdaa8

Please sign in to comment.