name: wallabag services: initialize: image: wallabag/wallabag:${WALLABAG_VERSION:-2.6.15} restart: "no" entrypoint: [/bin/sh, -ec] command: - | case "$$WALLABAG_ADMIN_PASSWORD" in replace-*|wallabag) echo "Set a unique WALLABAG_ADMIN_PASSWORD" >&2; exit 2;; esac case "$$SYMFONY__ENV__SECRET" in replace-*|'') echo "Set a random WALLABAG_SECRET" >&2; exit 2;; esac [ "$${#WALLABAG_ADMIN_PASSWORD}" -ge 16 ] || { echo "Administrator password must be at least 16 characters" >&2; exit 2; } /entrypoint.sh migrate su -s /bin/sh nobody -c 'php bin/console fos:user:change-password --env=prod --no-interaction wallabag "$$WALLABAG_ADMIN_PASSWORD"' environment: &wallabag-environment SYMFONY__ENV__DATABASE_DRIVER: pdo_sqlite SYMFONY__ENV__DATABASE_CHARSET: utf8 SYMFONY__ENV__SECRET: ${WALLABAG_SECRET:?Set WALLABAG_SECRET} SYMFONY__ENV__DOMAIN_NAME: ${WALLABAG_URL:-http://localhost:8087} SYMFONY__ENV__LOCALE: ${WALLABAG_LOCALE:-en} SYMFONY__ENV__FOSUSER_REGISTRATION: "false" SYMFONY__ENV__FOSUSER_CONFIRMATION: "true" WALLABAG_ADMIN_PASSWORD: ${WALLABAG_ADMIN_PASSWORD:?Set WALLABAG_ADMIN_PASSWORD} TZ: ${TZ:-Etc/UTC} volumes: &wallabag-volumes - data:/var/www/wallabag/data - images:/var/www/wallabag/web/assets/images healthcheck: disable: true security_opt: - no-new-privileges:true wallabag: image: wallabag/wallabag:${WALLABAG_VERSION:-2.6.15} restart: unless-stopped depends_on: initialize: condition: service_completed_successfully ports: - "127.0.0.1:${WALLABAG_PORT:-8087}:80" environment: *wallabag-environment volumes: *wallabag-volumes healthcheck: test: [CMD, curl, --fail, --silent, --show-error, --max-time, "5", http://127.0.0.1/api/info] interval: 15s timeout: 10s retries: 20 start_period: 90s security_opt: - no-new-privileges:true stop_grace_period: 30s volumes: data: images: