diff --git a/docker-compose.prebuilt.yml b/docker-compose.prebuilt.yml index fe1df5f0..46756aff 100644 --- a/docker-compose.prebuilt.yml +++ b/docker-compose.prebuilt.yml @@ -47,18 +47,29 @@ services: db: condition: service_healthy restart: unless-stopped - command: > - gunicorn - --bind 0.0.0.0:5001 - --workers 4 - --worker-class gevent - --worker-connections 2000 - --timeout 300 - --certfile /app/certs/server.crt - --keyfile /app/certs/server.key - --access-logfile - - --error-logfile - - wsgi:app + command: + - gunicorn + - --bind + - 0.0.0.0:5001 + - --worker-class + - gevent + - --workers + - "4" + - --worker-connections + - "2000" + - --timeout + - "60" + - --access-logfile + - "-" + - --access-logformat + - '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s %(D)sus "%(f)s" "%(a)s"' + - --error-logfile + - "-" + - --certfile + - /app/certs/server.crt + - --keyfile + - /app/certs/server.key + - wsgi:app volumes: db_data: diff --git a/scripts/bootstrap-plugins.sh b/scripts/bootstrap-plugins.sh index 7a8e4e67..ef44c47d 100644 --- a/scripts/bootstrap-plugins.sh +++ b/scripts/bootstrap-plugins.sh @@ -8,12 +8,13 @@ set -e REGISTRY_FILE="/app/instance/plugins.json" if [ ! -f "$REGISTRY_FILE" ]; then - echo "==> First deployment detected: installing all available plugins (disabled by default)" + echo "==> First deployment detected: installing core plugins" - # Get list of all available plugins - PLUGINS=$(flask plugin list 2>/dev/null | grep -E '^\s+\w+\s+v[0-9]' | awk '{print $1}') + # Core plugins to install on first deployment + # These provide essential ShopDB functionality + CORE_PLUGINS="backups computers endpoints guides knowledgebase machines network notifications printers slides tools warranty" - for plugin in $PLUGINS; do + for plugin in $CORE_PLUGINS; do echo " Installing $plugin..." flask plugin install "$plugin" || { echo " WARNING: Failed to install $plugin, skipping" @@ -21,7 +22,7 @@ if [ ! -f "$REGISTRY_FILE" ]; then } done - echo "==> All plugins installed (disabled). Enable them in Settings > Plugins" + echo "==> Core plugins installed. Additional plugins (employees, geenforce, measuringtools, printedparts, usb) can be installed via Settings > Plugins" else echo "==> Plugin registry exists, skipping bootstrap" fi diff --git a/scripts/docker-entrypoint.sh b/scripts/docker-entrypoint.sh index 550f2b5e..5ca9043e 100644 --- a/scripts/docker-entrypoint.sh +++ b/scripts/docker-entrypoint.sh @@ -30,5 +30,12 @@ flask db upgrade || { echo "==> Checking plugin installation" /app/scripts/bootstrap-plugins.sh +# Run plugin migrations after bootstrap (creates tables for enabled plugins) +# Safe to run even if no plugins are enabled - it will just do nothing +echo "==> Running plugin migrations" +flask plugin upgrade-all || { + echo "WARNING: Plugin migrations failed - some features may not work" +} + echo "==> Starting application" exec "$@"