fix: bake SCANNER_SERVICE_URL into the combined image
Some checks failed
CI / Detect changes (push) Has been cancelled
CI / API Lint (push) Has been cancelled
CI / API Tests (push) Has been cancelled
CI / Scanner Lint (push) Has been cancelled
CI / Scanner Tests (push) Has been cancelled
CI / Banner Lint & Typecheck (push) Has been cancelled
CI / Banner Tests (push) Has been cancelled
CI / Banner Build (push) Has been cancelled
CI / Admin UI Typecheck (push) Has been cancelled
CI / Admin UI Tests (push) Has been cancelled
CI / Admin UI Build (push) Has been cancelled
Some checks failed
CI / Detect changes (push) Has been cancelled
CI / API Lint (push) Has been cancelled
CI / API Tests (push) Has been cancelled
CI / Scanner Lint (push) Has been cancelled
CI / Scanner Tests (push) Has been cancelled
CI / Banner Lint & Typecheck (push) Has been cancelled
CI / Banner Tests (push) Has been cancelled
CI / Banner Build (push) Has been cancelled
CI / Admin UI Typecheck (push) Has been cancelled
CI / Admin UI Tests (push) Has been cancelled
CI / Admin UI Build (push) Has been cancelled
Bake SCANNER_SERVICE_URL=http://127.0.0.1:8001 and PYTHONUNBUFFERED=1 into /etc/profile.d/consentos.sh inside the image and source that file from /entrypoint.sh so every supervisord child (api, worker, beat, scanner) inherits the same defaults — both for EasyPanel deploys and local docker compose. Drop the inline env injection in supervisord.conf since the entrypoint now sets it. Single source of truth: the Dockerfile.
This commit is contained in:
@@ -64,6 +64,14 @@ COPY supervisord.conf /etc/supervisord.conf
|
|||||||
COPY entrypoint.sh /entrypoint.sh
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
|
|
||||||
|
# Bake defaults that worker/beat/scanner need at runtime into the image
|
||||||
|
# so EasyPanel deploys and local docker compose behave the same. Values
|
||||||
|
# can still be overridden at deploy time with environment variables.
|
||||||
|
RUN { \
|
||||||
|
echo 'SCANNER_SERVICE_URL=http://127.0.0.1:8001'; \
|
||||||
|
echo 'PYTHONUNBUFFERED=1'; \
|
||||||
|
} > /etc/profile.d/consentos.sh
|
||||||
|
|
||||||
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
|
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
|
||||||
CMD curl -f http://localhost/health || exit 1
|
CMD curl -f http://localhost/health || exit 1
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,13 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
# Source runtime defaults baked into the image so supervisord's children
|
||||||
|
# (api, worker, beat, scanner) inherit them. Variables already set in the
|
||||||
|
# environment take precedence — easy panel / docker compose overrides win.
|
||||||
|
for f in /etc/profile.d/*.sh; do
|
||||||
|
[ -r "$f" ] && . "$f"
|
||||||
|
done
|
||||||
|
|
||||||
# Extract host and port from DATABASE_URL
|
# Extract host and port from DATABASE_URL
|
||||||
DB_HOST=$(echo "$DATABASE_URL" | sed -E 's|.*@([^/:]+).*|\1|')
|
DB_HOST=$(echo "$DATABASE_URL" | sed -E 's|.*@([^/:]+).*|\1|')
|
||||||
DB_PORT=$(echo "$DATABASE_URL" | sed -E 's|.*@[^/:]+:([0-9]+)/.*|\1|')
|
DB_PORT=$(echo "$DATABASE_URL" | sed -E 's|.*@[^/:]+:([0-9]+)/.*|\1|')
|
||||||
|
|||||||
@@ -28,10 +28,9 @@ stderr_logfile_maxbytes=0
|
|||||||
stopwaitsecs=10
|
stopwaitsecs=10
|
||||||
killasgroup=true
|
killasgroup=true
|
||||||
priority=200
|
priority=200
|
||||||
environment=PYTHONUNBUFFERED="1",SCANNER_SERVICE_URL="http://127.0.0.1:8001"
|
|
||||||
|
|
||||||
[program:worker]
|
[program:worker]
|
||||||
command=sh -c "SCANNER_SERVICE_URL=http://127.0.0.1:8001 celery -A src.celery_app worker --loglevel=info --concurrency=2"
|
command=celery -A src.celery_app worker --loglevel=info --concurrency=2
|
||||||
directory=/app
|
directory=/app
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
@@ -42,10 +41,9 @@ stderr_logfile_maxbytes=0
|
|||||||
stopwaitsecs=30
|
stopwaitsecs=30
|
||||||
killasgroup=true
|
killasgroup=true
|
||||||
priority=300
|
priority=300
|
||||||
environment=PYTHONUNBUFFERED="1",SCANNER_SERVICE_URL="http://127.0.0.1:8001"
|
|
||||||
|
|
||||||
[program:beat]
|
[program:beat]
|
||||||
command=sh -c "SCANNER_SERVICE_URL=http://127.0.0.1:8001 celery -A src.celery_app beat --loglevel=info"
|
command=celery -A src.celery_app beat --loglevel=info
|
||||||
directory=/app
|
directory=/app
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
@@ -56,7 +54,6 @@ stderr_logfile_maxbytes=0
|
|||||||
stopwaitsecs=10
|
stopwaitsecs=10
|
||||||
killasgroup=true
|
killasgroup=true
|
||||||
priority=400
|
priority=400
|
||||||
environment=PYTHONUNBUFFERED="1",SCANNER_SERVICE_URL="http://127.0.0.1:8001"
|
|
||||||
|
|
||||||
[program:scanner]
|
[program:scanner]
|
||||||
command=python -m src.worker
|
command=python -m src.worker
|
||||||
@@ -71,4 +68,3 @@ stderr_logfile_maxbytes=0
|
|||||||
stopwaitsecs=10
|
stopwaitsecs=10
|
||||||
killasgroup=true
|
killasgroup=true
|
||||||
priority=150
|
priority=150
|
||||||
environment=PYTHONUNBUFFERED="1"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user