Add Meals-Recipes-Groceries/RecipeSage/Compose.yaml
This commit is contained in:
@@ -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
|
||||||
Reference in New Issue
Block a user