A download that died on an HTTP 403 told the submitter "HTTP Error 403: Forbidden" and told the log "error: exit status 1". The tool's stderr went into status_msg and nowhere else, so the one person who could act on it saw nothing. Exactly backwards. Failures now go through a.fail: the submitter gets a sentence and an eight character code, the log gets that code, the stage, the submission, the source URL and the stderr tail. Quote the code, grep the log, find the line. Every record carries file:line now, and LOG_LEVEL sets the threshold — failures are logged at error, so no level hides them.
22 lines
641 B
YAML
22 lines
641 B
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
args:
|
|
VERSION: ${VERSION:-dev}
|
|
environment:
|
|
# Only used to create the first account on an empty database; inert after that.
|
|
ADMIN_EMAIL: ${ADMIN_EMAIL:-}
|
|
ADMIN_PASSWORD: ${ADMIN_PASSWORD:-}
|
|
ADMIN_NAME: ${ADMIN_NAME:-Ylläpito}
|
|
ADDR: ":8080"
|
|
SECURE_COOKIES: ${SECURE_COOKIES:-true}
|
|
LOG_LEVEL: ${LOG_LEVEL:-info}
|
|
PUBLIC_URL: ${PUBLIC_URL:-}
|
|
# The SQLite file sits in here beside the audio, so this one mount is the whole backup.
|
|
volumes:
|
|
- ./storage:/storage
|
|
ports:
|
|
- "8080:8080"
|
|
restart: unless-stopped
|