From bd7d73e40bcefe191315dc1915caf85b516127fb Mon Sep 17 00:00:00 2001 From: chatton Date: Sat, 24 Jun 2023 15:29:48 +0100 Subject: [PATCH] convert portainer to in-line docker compose definition --- playbooks/setup-homelab.yml | 2 ++ roles/setup_portainer/README.md | 25 ------------- .../setup_portainer/files/docker-compose.yml | 17 --------- roles/setup_portainer/meta/main.yml | 15 -------- roles/setup_portainer/tasks/main.yml | 35 ++++++++++--------- 5 files changed, 20 insertions(+), 74 deletions(-) delete mode 100644 roles/setup_portainer/README.md delete mode 100644 roles/setup_portainer/files/docker-compose.yml delete mode 100644 roles/setup_portainer/meta/main.yml diff --git a/playbooks/setup-homelab.yml b/playbooks/setup-homelab.yml index fc938c5..c788421 100644 --- a/playbooks/setup-homelab.yml +++ b/playbooks/setup-homelab.yml @@ -42,6 +42,8 @@ roles: - role: setup_portainer tags: [services, portainer] + vars: + portainer_version: "2.18.3" - name: Setup and deploy services. diff --git a/roles/setup_portainer/README.md b/roles/setup_portainer/README.md deleted file mode 100644 index 2867623..0000000 --- a/roles/setup_portainer/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# setup_portainer - -Role to configure Portainer. This role copies the docker-compose.yml onto the host and starts portainer with docker compose. If there is a backup of the portainer volume stored in s3, it will be restored before portainer is started. - -## Table of content - -- [Dependencies](#dependencies) -- [License](#license) -- [Author](#author) - ---- - - - -## Dependencies - -None. - -## License - -MIT - -## Author - -Cian Hatton diff --git a/roles/setup_portainer/files/docker-compose.yml b/roles/setup_portainer/files/docker-compose.yml deleted file mode 100644 index e1af087..0000000 --- a/roles/setup_portainer/files/docker-compose.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -version: '3.2' -services: - portainer: - labels: - ie.cianhatton.backup.enabled: 'true' - ie.cianhatton.backup.schedule: nightly - image: portainer/portainer-ce:2.18.3 - container_name: portainer - ports: - - 9000:9000 - volumes: - - portainer_data:/data - - /var/run/docker.sock:/var/run/docker.sock - -volumes: - portainer_data: diff --git a/roles/setup_portainer/meta/main.yml b/roles/setup_portainer/meta/main.yml deleted file mode 100644 index dd1892f..0000000 --- a/roles/setup_portainer/meta/main.yml +++ /dev/null @@ -1,15 +0,0 @@ -galaxy_info: - author: Cian Hatton - namespace: chatton - description: Setup Portainer for my Home Lab - license: MIT - - min_ansible_version: "2.1" - platforms: - - name: Debian - versions: - - all - - galaxy_tags: [] - -dependencies: [] diff --git a/roles/setup_portainer/tasks/main.yml b/roles/setup_portainer/tasks/main.yml index ca70a82..a52ae6b 100644 --- a/roles/setup_portainer/tasks/main.yml +++ b/roles/setup_portainer/tasks/main.yml @@ -1,20 +1,4 @@ --- -- name: Portainer | Create directory if it does not exist. - ansible.builtin.file: - path: '{{ directories.docker_compose_directory }}' - state: directory - owner: root - group: root - mode: 0440 - -- name: Portainer | Copy docker compose file. - ansible.builtin.copy: - src: docker-compose.yml - dest: '{{ directories.docker_compose_directory }}/portainer/docker-compose.yml' - owner: root - group: root - mode: 0440 - - name: Portainer | Pull images docker_image: name: ubuntu @@ -32,4 +16,21 @@ - name: Portainer | Docker compose up community.docker.docker_compose: - project_src: '{{ directories.docker_compose_directory }}/portainer' + project_name: portainer + definition: + version: '3.2' + services: + portainer: + labels: + ie.cianhatton.backup.enabled: 'true' + ie.cianhatton.backup.schedule: nightly + image: "portainer/portainer-ce:{{ portainer_version }}" + container_name: portainer + restart: unless-stopped + ports: + - 9000:9000 + volumes: + - portainer_data:/data + - /var/run/docker.sock:/var/run/docker.sock + volumes: + portainer_data: