From 0c4a3aefcd1acca67aa1f6305ea511d26ddad2d1 Mon Sep 17 00:00:00 2001 From: Administrator Date: Wed, 15 Oct 2025 13:35:53 +0000 Subject: [PATCH] Update 3 files - /roles/mealie/tasks/main.yml - /roles/mealie/tasks/cleanup.yml - /roles/mealie/templates/docker-compose.yml.j2 --- roles/mealie/tasks/cleanup.yml | 19 +++++++++ roles/mealie/tasks/main.yml | 44 +++++++++++++++++--- roles/mealie/templates/docker-compose.yml.j2 | 31 ++++++++++++-- 3 files changed, 85 insertions(+), 9 deletions(-) create mode 100644 roles/mealie/tasks/cleanup.yml diff --git a/roles/mealie/tasks/cleanup.yml b/roles/mealie/tasks/cleanup.yml new file mode 100644 index 0000000..c0bdc7c --- /dev/null +++ b/roles/mealie/tasks/cleanup.yml @@ -0,0 +1,19 @@ +--- +- name: Stop and remove Mealie containers + shell: | + cd {{ mealie_base_dir }} + docker compose down + ignore_errors: yes + tags: cleanup_mealie + +- name: Remove Mealie Docker volumes + shell: | + docker volume ls -q | grep mealie | xargs -r docker volume rm + ignore_errors: yes + tags: cleanup_mealie + +- name: Remove Mealie images + docker_image: + name: mealie/mealie + state: absent + tags: cleanup_mealie \ No newline at end of file diff --git a/roles/mealie/tasks/main.yml b/roles/mealie/tasks/main.yml index e9f1fd7..c83c71f 100644 --- a/roles/mealie/tasks/main.yml +++ b/roles/mealie/tasks/main.yml @@ -7,13 +7,30 @@ loop: - "{{ mealie_base_dir }}" - "{{ mealie_data_dir }}" - + tags: deploy_mealie + +- name: Set proper ownership for Mealie data directory + file: + path: "{{ mealie_data_dir }}" + owner: "1000" + group: "1000" + recurse: yes + tags: deploy_mealie - name: Deploy Mealie docker-compose.yml template: src: docker-compose.yml.j2 dest: "{{ mealie_base_dir }}/docker-compose.yml" mode: 0644 + tags: deploy_mealie + +- name: Pull Mealie Docker images + shell: | + cd {{ mealie_base_dir }} + docker compose pull + args: + executable: /bin/bash + tags: deploy_mealie - name: Start Mealie container shell: | @@ -21,16 +38,33 @@ docker compose up -d args: executable: /bin/bash + tags: deploy_mealie -- name: Wait for Mealie to start +- name: Wait for Mealie to initialize pause: - seconds: 15 + seconds: 30 + tags: deploy_mealie - name: Check Mealie container status - shell: docker ps --filter name=mealie + shell: docker ps --filter name=mealie --format "table {% raw %}{{.Names}}\t{{.Status}}\t{{.Ports}}{% endraw %}" register: mealie_status changed_when: false + tags: deploy_mealie - name: Show Mealie status debug: - var: mealie_status.stdout \ No newline at end of file + var: mealie_status.stdout + tags: deploy_mealie + +- name: Check Mealie startup logs + shell: | + cd {{ mealie_base_dir }} + docker compose logs --tail=20 mealie + register: mealie_logs + failed_when: false + tags: deploy_mealie + +- name: Show Mealie logs + debug: + var: mealie_logs.stdout + tags: deploy_mealie \ No newline at end of file diff --git a/roles/mealie/templates/docker-compose.yml.j2 b/roles/mealie/templates/docker-compose.yml.j2 index 8e5ef44..eb182af 100644 --- a/roles/mealie/templates/docker-compose.yml.j2 +++ b/roles/mealie/templates/docker-compose.yml.j2 @@ -1,7 +1,7 @@ version: "3.8" services: mealie: - image: hkotel/mealie:latest + image: mealie/mealie:latest container_name: mealie restart: unless-stopped ports: @@ -10,7 +10,30 @@ services: - PUID=1000 - PGID=1000 - TZ={{ timezone }} - - MAX_WORKERS=1 - - WEB_CONCURRENCY=1 + - ALLOW_SIGNUP=true + - DB_ENGINE=postgres + - POSTGRES_USER=mealie + - POSTGRES_PASSWORD=mealie + - POSTGRES_SERVER=postgres + - POSTGRES_PORT=5432 + - POSTGRES_DB=mealie volumes: - - {{ mealie_data_dir }}:/app/data \ No newline at end of file + - {{ mealie_data_dir }}:/app/data + depends_on: + - postgres + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:80/api/app/about"] + interval: 30s + timeout: 10s + retries: 3 + + postgres: + image: postgres:13 + container_name: mealie-postgres + restart: unless-stopped + environment: + - POSTGRES_USER=mealie + - POSTGRES_PASSWORD=mealie + - POSTGRES_DB=mealie + volumes: + - {{ mealie_data_dir }}/postgres:/var/lib/postgresql/data \ No newline at end of file