From 4d12ef109f8205dba46abe2ccabb0d73b5ae8ee9 Mon Sep 17 00:00:00 2001 From: Beda Schmid Date: Wed, 5 Aug 2026 16:42:35 +0000 Subject: [PATCH] Reset history to current sanitized state --- .gitignore | 33 ++++++++++++++++++++++++++++ LICENSE | 24 +++++++++++++++++++++ README.md | 26 ++++++++++++++++++++++ docker-compose.yml | 54 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 137 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 docker-compose.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0f18c5e --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +# ---> VisualStudioCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +# Secrets and environment files +.env +.env.* +!.env.example + +# Editor and OS artifacts +*.swp +.DS_Store + +# BEGIN reset-history environment exclusions +.env +.env.* +*.env +*.env.* +!.env.example +!.env.*.example +!*.env.example +!*.env.*.example +# END reset-history environment exclusions diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..efb9808 --- /dev/null +++ b/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/README.md b/README.md new file mode 100644 index 0000000..b77196a --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# Mealie + +Self-hosted recipe manager with persistent application data and a PostgreSQL database. + +## Deployment layout + +- **Compose:** `/srv/docker/mealie/docker-compose.yml` +- **Static configuration/source:** no additional static configuration or build source +- **Non-secret environment:** registration policy, runtime UID/GID, timezone, public URL, PostgreSQL topology, +and OpenAI model are declared inline in Compose; there is no project-local `.env` +- **Secrets:** `/srv/docker/secrets/mealie/.env` +- **NVMe application state:** `/srv/appdata/mealie/postgres` +- **Bulk HDD data:** `/data/Data1/mealie` +- **Other mounts:** none + +Secrets are never committed to this repository. The central secret environment +is supplied to the Mealie and PostgreSQL services. + +## Dependencies and recovery + +- **Networks/dependencies:** Mealie depends on the healthy PostgreSQL service through the private +`mealie_internal` network and uses the external `npm_proxy` network at `192.168.98.13` +- **Back up:** `/srv/appdata/mealie/postgres`, `/data/Data1/mealie`, and the separately protected Mealie +secret environment +- **Re-creatable:** the Mealie and PostgreSQL containers; no persistent cache is declared + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..54ab6c1 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,54 @@ +services: + mealie: + image: ghcr.io/mealie-recipes/mealie:latest + container_name: mealie + restart: unless-stopped +# ports: + # - "9925:9000" + deploy: + resources: + limits: + memory: 1000M + volumes: + - /data/Data1/mealie:/app/data/ + env_file: + - /srv/docker/secrets/mealie/.env + environment: + ALLOW_SIGNUP: "false" + PUID: 1000 + PGID: 1000 + TZ: America/Argentina/Buenos_Aires + BASE_URL: https://meals.yoonect.com + DB_ENGINE: postgres + POSTGRES_SERVER: mealie_postgres + POSTGRES_PORT: 5432 + OPENAI_MODEL: gpt-4o + depends_on: + mealie_postgres: + condition: service_healthy + networks: + npm_proxy: + ipv4_address: 192.168.98.13 + mealie_internal: + + mealie_postgres: + container_name: mealie_postgres + image: postgres:15 + restart: unless-stopped + volumes: + - /srv/appdata/mealie/postgres:/var/lib/postgresql/data + env_file: + - /srv/docker/secrets/mealie/.env + healthcheck: + test: ["CMD", "pg_isready"] + interval: 30s + timeout: 20s + retries: 3 + networks: + - mealie_internal + +networks: + npm_proxy: + external: true + mealie_internal: + driver: bridge