# What version do you want to run (main/latest/spcific version) tag=main # What port should opencookbook be available httpPort=3009 # Where recipe images are stored. A path, relative to this file or absolute. IMAGES_MOUNT_DIR=./images # Where the database is stored, in a "postgres" directory underneath. DATABASE_MOUNT_DIR=./database # Database uri DB_URI=jdbc:postgresql://postgres:5432/cookpal # The username for the db DB_USERNAME=cookpal # The password for the database DB_PASSWORD=changeme # Folder with the legal texts the app shows: terms.html, privacy.html and imprint.html. # A relative path is relative to this file. A missing file shows a placeholder. LEGAL_DIR=./legal # Show the Cookpal project page at /. Off, / opens the app, which always lives at /app. LANDING_ENABLED=false # Largest upload accepted for one request, in megabytes. Used by both the proxy # and the apiserver MAX_UPLOAD_SIZE_MB=30 # Largest single image accepted, in megabytes. A scan may send several of these # in one request, up to the limit above. MAX_IMAGE_SIZE_MB=10 # Enable debug mode # Enables /swagger-ui and /v3/api-docs # Caution: this publishes the api documentation for this installation DEBUG_MODE=true # Mail is optional (SMTP_*, MAIL_FROM and INSTANCE_URL, all needed). Without them nothing is mailed: open signups wait # for an admin to activate them, and invitation and password reset links come from the admin panel. # The smtp host to send emails from SMTP_HOST= # The smtp port SMTP_PORT= # smtp username SMTP_USERNAME= # smtp password SMTP_PASSWORD= # smtp protocol (smtp/smtps) SMTP_PROTOCOL=smtps # Use starttls? SMTP_STARTTLS=false # The send email address MAIL_FROM= # The public address of this installation, without /app (e.g. https://cookbook.example.com). # Set it always: invitation and password reset links, every mail and shared recipes use it, # and mail is only sent when it is set. INSTANCE_URL= # The machine learning subsystem, which reads recipes from photographs. # Optional and separately hosted. Empty means this installation has none, and # every feature needing one is absent ML_SERVICE_URL= # The api token issued for this installation. Never leaves the apiserver. ML_API_TOKEN= # The rest of the block applies once the two settings above are filled in. # Leave the values as they are or change them, but do not blank them out: the # apiserver does not start on an empty number or flag. # Whether recipes may be read from photographs. ML_RECIPE_OCR_ENABLED=false # Scans allowed per person per day, or 0 for no limit. ML_JOBS_PER_USER_PER_DAY=20 # How many photographs one recipe may be spread over. ML_MAX_PAGES=6 # How long a finished scan is kept before it is deleted. ML_JOB_RETENTION_HOURS=24 # How long a single request to the subsystem may take. ML_REQUEST_TIMEOUT_SECONDS=30 # After this long an unfinished scan is given up on. ML_JOB_TIMEOUT_SECONDS=300 # Groups donated training data by user without telling the subsystem who they # are. Empty derives it from the api token. Set a fixed string of your own if # you expect to rotate that token, or earlier donations become unmatchable to a # later request to delete them. ML_SUBMITTER_SALT=