From b185f2559bc46cd5892db809f65f3cd6ad6dbbce Mon Sep 17 00:00:00 2001 From: Gabe Date: Sun, 30 Nov 2025 03:16:28 +0000 Subject: [PATCH] Add Meals-Recipes-Groceries/RecipeSage/Compose.yaml --- .../RecipeSage/Compose.yaml | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 Meals-Recipes-Groceries/RecipeSage/Compose.yaml diff --git a/Meals-Recipes-Groceries/RecipeSage/Compose.yaml b/Meals-Recipes-Groceries/RecipeSage/Compose.yaml new file mode 100644 index 0000000..c553955 --- /dev/null +++ b/Meals-Recipes-Groceries/RecipeSage/Compose.yaml @@ -0,0 +1,102 @@ +# This config file is for RecipeSage-selfhost config version 4.3.1, and RecipeSage version 3.0.10. + +services: + proxy: # The proxy must not be removed. If needed, point your own proxy to this container, rather than removing this + container_name: recipesage_proxy + image: julianpoy/recipesage-selfhost-proxy:v4.0.0 + ports: + - 7270:80 + depends_on: + - static + - api + - pushpin + restart: unless-stopped + static: # Hosts frontend assets + container_name: recipesage_static + image: julianpoy/recipesage-selfhost:static-v3.0.10 + restart: unless-stopped + api: # Hosts backend API + container_name: recipesage_api + image: julianpoy/recipesage-selfhost:api-v3.0.10 + depends_on: + postgres: + condition: service_healthy + typesense: + condition: service_started + pushpin: + condition: service_started + browserless: + condition: service_started + command: sh -c "npx prisma migrate deploy; npx nx seed prisma; npx ts-node --swc --project packages/backend/tsconfig.json packages/backend/src/bin/www" + environment: + - STORAGE_TYPE=filesystem + - FILESYSTEM_STORAGE_PATH=/rs-media + - NODE_ENV=selfhost + - VERBOSE=false + - VERSION=selfhost + - POSTGRES_DB=recipesage_selfhost # If changing this, make sure to update the postgres container and the DATABASE_URL below accordingly + - POSTGRES_USER=recipesage_selfhost # If changing this, make sure to update the postgres container and the DATABASE_URL below accordingly + - POSTGRES_PASSWORD=recipesage_selfhost # If changing this, make sure to update the postgres container and the DATABASE_URL below accordingly + - POSTGRES_PORT=5432 # If changing this, make sure to update the postgres container and the DATABASE_URL below accordingly + - POSTGRES_HOST=postgres # If changing this, make sure to update the postgres container and the DATABASE_URL below accordingly + - POSTGRES_SSL=false + - POSTGRES_LOGGING=false + - DATABASE_URL=postgresql://recipesage_selfhost:recipesage_selfhost@postgres:5432/recipesage_selfhost # Format is: postgresql://USERNAME:PASSWORD@HOST:PORT/DBNAME and must match the variables from the postgres container if you decide to change them + - GCM_KEYPAIR + - SENTRY_DSN + - GRIP_URL=http://pushpin:5561/ + - GRIP_KEY=changeme + - SEARCH_PROVIDER=typesense + - 'TYPESENSE_NODES=[{"host": "typesense", "port": 8108, "protocol": "http"}]' + - TYPESENSE_API_KEY=recipesage_selfhost + - STRIPE_SK # Value should not be set. + - STRIPE_WEBHOOK_SECRET # Value should not be set + - BROWSERLESS_HOST=browserless + - BROWSERLESS_PORT=3000 + - INGREDIENT_INSTRUCTION_CLASSIFIER_URL=http://ingredient-instruction-classifier:3000/ + - OPENAI_API_KEY # Please follow the instructions in the README if you decide to supply a value here + volumes: + - /srv/docker/recipesage/apimedia:/rs-media + restart: unless-stopped + typesense: # Provides the fuzzy search engine + container_name: recipesage_typesense + image: typesense/typesense:0.24.1 + volumes: + - /srv/docker/recipesage/typesensedata:/data + command: "--data-dir /data --api-key=recipesage_selfhost --enable-cors" + restart: unless-stopped + pushpin: # Provides websocket support + container_name: recipesage_pushpin + image: julianpoy/pushpin:2023-09-17 + entrypoint: /bin/sh -c + command: + [ + 'sed -i "s/sig_key=changeme/sig_key=$$GRIP_KEY/" /etc/pushpin/pushpin.conf && echo "* $${TARGET},over_http" > /etc/pushpin/routes && pushpin --merge-output', + ] + environment: + - GRIP_KEY=changeme + - TARGET=api:3000 + restart: unless-stopped + postgres: # Database + container_name: recipesage_postgres + image: postgres:16 + environment: + - POSTGRES_DB=recipesage_selfhost # If you change this, make sure to change both POSTGRES_DB and DATABASE_URL on the API container + - POSTGRES_USER=recipesage_selfhost # If you change this, make sure to change both POSTGRES_USER and DATABASE_URL on the API container + - POSTGRES_PASSWORD=recipesage_selfhost # If you change this, make sure to change both POSTGRES_PASSWORD and DATABASE_URL on the API container + volumes: + - /srv/docker/recipesage/postgresdata:/var/lib/postgresql/data + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pg_isready", "-d", "db_prod"] + interval: 5s + timeout: 5s + retries: 5 + start_period: 10s + browserless: # A headless browser for scraping websites with the auto import tool + container_name: recipesage_browserless + image: ghcr.io/browserless/chromium:v2.24.3 + environment: + - MAX_CONCURRENT_SESSIONS=3 + - MAX_QUEUE_LENGTH=10 + restart: unless-stopped