Norish
Norish is a real-time, household-first recipe app for planning meals, sharing groceries and cooking together.
References
Section titled “References”Make directory
Section titled “Make directory”mkdir -p {{DOCKER_PATH_VAR}}/norish && cd {{DOCKER_PATH_VAR}}/norishcompose.yml
Section titled “compose.yml”nano compose.ymlservices: norish: image: norishapp/norish:latest container_name: norish-app restart: always ports: - "3009:3000" user: "1000:1000" volumes: - norish_data:/app/uploads environment: AUTH_URL: ${AUTH_URL} DATABASE_URL: ${DATABASE_URL} MASTER_KEY: ${MASTER_KEY} OBSCURA_ENDPOINT: ${OBSCURA_ENDPOINT} REDIS_URL: ${REDIS_URL} UPLOADS_DIR: ${UPLOADS_DIR} TRUSTED_ORIGINS: ${TRUSTED_ORIGINS} BETTER_AUTH_TRUSTED_ORIGINS: ${BETTER_AUTH_TRUSTED_ORIGINS} PASSWORD_AUTH_ENABLED: ${PASSWORD_AUTH_ENABLED} ENABLE_REGISTRATION: ${ENABLE_REGISTRATION} depends_on: - db - redis
db: image: postgres:17-alpine container_name: norish-db restart: unless-stopped environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} volumes: - db_data:/var/lib/postgresql/data
obscura: image: norishapp/obscura:0.2.0-norish.1 container_name: norish-obscura restart: unless-stopped
redis: image: redis:8.4.0 container_name: norish-redis restart: unless-stopped volumes: - redis_data:/data
volumes: db_data: norish_data: redis_data:nano .envAUTH_URL={{SERVER_IP_VAR}}:3009DATABASE_URL=postgres://postgres:norish@db:5432/norishMASTER_KEY=<32-byte-base64-key> # Generate with: openssl rand -base64 32OBSCURA_ENDPOINT=ws://obscura:9222REDIS_URL=redis://redis:6379UPLOADS_DIR=/app/uploadsTRUSTED_ORIGINS={{SERVER_IP_VAR}}:3009,http://localhost:3009,http://127.0.0.1:3009# Enable if having issues with Auth# BETTER_AUTH_TRUSTED_ORIGINS={{SERVER_IP_VAR}}:3009,http://localhost:3009,http://127.0.0.1:3009
ENABLE_REGISTRATION=true
# Option 1=Password auth - basic auth with email/password# If not set defaults to disabled if OIDC or OAuth is configured.# Defaults to true if no other auth providers are configured.# PASSWORD_AUTH_ENABLED=false # Enable/disable password auth default: false
# Option 2=OIDC (Authentik, Keycloak, PocketID, etc.)# OIDC_NAME=NoraId# OIDC_ISSUER=https://nora.example.com# OIDC_CLIENT_ID=<client-id># OIDC_CLIENT_SECRET=<client-secret># OIDC_WELLKNOWN=https://auth.example.com/.well-known/openid-configuration
POSTGRES_USER=postgresPOSTGRES_PASSWORD=norishPOSTGRES_DB=norishStart container
Section titled “Start container”docker compose up -d