diff --git a/compose-files/mealie/docker-compose.yml b/compose-files/mealie/docker-compose.yml new file mode 100644 index 0000000..6b3d641 --- /dev/null +++ b/compose-files/mealie/docker-compose.yml @@ -0,0 +1,48 @@ +services: + mealie: + image: ghcr.io/mealie-recipes/mealie:latest + container_name: mealie + restart: unless-stopped + ports: + - "9925:9000" + environment: + # Core settings + - PUID=1000 + - PGID=1000 + - TZ=America/New_York + - BASE_URL=https://food.3ddbrewery.com + - ALLOW_SIGNUP=false + - AUTO_BACKUP_ENABLED=true + - API_PORT=9000 + - TOKEN_TIME=720 + # Database - external shared PostgreSQL + - DB_ENGINE=postgres + - POSTGRES_USER=mealie + - POSTGRES_PASSWORD=RCN8ept.vxr2jfy.dpn_mealie + - POSTGRES_SERVER=192.168.1.81 + - POSTGRES_PORT=5432 + - POSTGRES_DB=mealie + # SMTP + - SMTP_HOST=smtp.gmail.com + - SMTP_PORT=587 + - SMTP_AUTH_STRATEGY=TLS + - SMTP_FROM_NAME=Mealie + - SMTP_FROM_EMAIL=xoppaw@gmail.com + - SMTP_USER=xoppaw@gmail.com + - SMTP_PASSWORD=tgkyhtjozefgsxsj + # AI config + - OPENAI_BASE_URL=http://192.168.1.70:11434/v1 + - OPENAI_API_KEY=56 + - OPENAI_SEND_DATABASE_DATA=true + - OPENAI_MODEL=tinyllama + volumes: + - /home/docker/appdata/mealie/data:/app/data + networks: + - proxy + labels: + - "com.centurylinklabs.watchtower.enable=true" + - "autoheal=true" + +networks: + proxy: + external: true diff --git a/playbooks/deploy-mealie.yml b/playbooks/deploy-mealie.yml new file mode 100644 index 0000000..7e528fe --- /dev/null +++ b/playbooks/deploy-mealie.yml @@ -0,0 +1,42 @@ +--- +- name: Deploy Mealie to databases VM + hosts: databases + become: true + vars: + mealie_dir: /home/docker/appdata/mealie + compose_src: "{{ playbook_dir }}/../compose-files/mealie/docker-compose.yml" + + tasks: + - name: Create mealie directories + file: + path: "{{ item }}" + state: directory + mode: '0755' + loop: + - "{{ mealie_dir }}" + - "{{ mealie_dir }}/data" + + - name: Ensure proxy network exists + community.docker.docker_network: + name: proxy + + - name: Copy docker-compose.yml + copy: + src: "{{ compose_src }}" + dest: "{{ mealie_dir }}/docker-compose.yml" + mode: '0644' + + - name: Pull Mealie image + community.docker.docker_image: + name: ghcr.io/mealie-recipes/mealie:latest + source: pull + + - name: Start Mealie stack + community.docker.docker_compose_v2: + project_src: "{{ mealie_dir }}" + state: present + register: compose_output + + - name: Show deployment result + debug: + msg: "Mealie deployed! Access at https://food.3ddbrewery.com (after Traefik update)"