Build your ultimate digital cookbook with a dedicated personal recipe keeper. This platform allows you to save, organize, and manage all your favorite culinary creations in one secure place. Access your recipes anywhere by logging in through the web or downloading the dedicated application. Organize your meals efficiently, ensuring you never lose track of a family favorite or a new dish you want to try. Contribute to the community by engaging with an open-source platform designed for food enthusiasts. Whether you are a home cook or a professional chef, keeping your ingredients, instructions, and cooking notes neatly arranged has never been simpler. Say goodbye to messy physical recipe cards and scattered bookmarks, and enjoy a clean, user-friendly interface built specifically for managing your personal kitchen repertoire.
services:
proxy:
image: julianpoy/recipesage-selfhost-proxy:latest
restart: unless-stopped
ports:
- "8080:80"
depends_on:
- api
- static
static:
image: julianpoy/recipesage-ui:selfhost
restart: unless-stopped
api:
image: julianpoy/recipesage-api:selfhost
restart: unless-stopped
depends_on:
- postgres
- typesense
- browserless
environment:
- POSTGRES_CONNECTION_STRING=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}
- TYPESENSE_HOST=typesense
- TYPESENSE_PORT=8108
- TYPESENSE_PROTOCOL=http
- TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
- BROWSERLESS_HOST=browserless
- BROWSERLESS_PORT=3000
- TOKEN_SECRET=${TOKEN_SECRET}
- VERIFY_EMAILS=false
volumes:
- ./data/userdata:/app/userdata
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
volumes:
- ./data/postgres:/var/lib/postgresql/data
typesense:
image: typesense/typesense:0.25.2
restart: unless-stopped
environment:
- TYPESENSE_DATA_DIR=/data
- TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
- TYPESENSE_ENABLE_CORS=true
volumes:
- ./data/typesense:/data
browserless:
image: ghcr.io/browserless/chromium:latest
restart: unless-stopped
environment:
- MAX_CONCURRENT_SESSIONS=10POSTGRES_USER=recipesage
POSTGRES_PASSWORD=secure_password_here
POSTGRES_DB=recipesage
TYPESENSE_API_KEY=secure_api_key_here
TOKEN_SECRET=generate_a_long_random_secret_hereAuto-fetched 33 minutes ago
Auto-fetched 33 minutes ago