All checks were successful
Publish FaceAI Container / publish (push) Successful in 6m52s
- Updated Dockerfile to include default MySQL client for better database interaction. - Modified entrypoint.sh to support additional workspace for legacy applications and added MySQL readiness check before startup. - Enhanced PowerShell script for trimming MySQL dumps to include overlay dumps and improved error handling for missing race and user IDs. - Added new image files and face encoding pickles for various projects, ensuring comprehensive data availability. - Removed outdated face encoding pickle from PISA directory to maintain data relevance. Co-authored-by: Copilot <copilot@github.com>
162 lines
No EOL
6.4 KiB
YAML
162 lines
No EOL
6.4 KiB
YAML
services:
|
|
faceai:
|
|
image: ${FACEAI_CLIENT_DEV_IMAGE:-node:20-alpine}
|
|
working_dir: /app
|
|
command:
|
|
- node
|
|
- docker/run-with-log-file.mjs
|
|
- ${FACEAI_BACKEND_LOG_FILE:-/data/logs/backend.log}
|
|
- npm
|
|
- run
|
|
- start
|
|
- --workspace
|
|
- "@regalami/faceai-backend"
|
|
environment:
|
|
NODE_ENV: ${NODE_ENV:-development}
|
|
PORT: ${FACEAI_PORT:-3001}
|
|
FACEAI_FRONTEND_URL: ${FACEAI_FRONTEND_URL:-http://localhost:3001}
|
|
FACEAI_PUBLIC_BASE_URL: ${FACEAI_PUBLIC_BASE_URL:-http://localhost:3001}
|
|
FACEAI_LEGACY_RETURN_URL: ${FACEAI_LEGACY_RETURN_URL:-http://localhost:8080/faceai_return.php}
|
|
FACEAI_LEGACY_RETURN_MODE: ${FACEAI_LEGACY_RETURN_MODE:-direct}
|
|
FACEAI_LEGACY_HOME_URL: ${FACEAI_LEGACY_HOME_URL:-http://localhost:8080/index.jsp}
|
|
FACEAI_SHARED_SECRET: ${FACEAI_SHARED_SECRET:-change-me}
|
|
FACEAI_SESSION_COOKIE: ${FACEAI_SESSION_COOKIE:-rus_faceai_session}
|
|
FACEAI_REDIS_URL: ${FACEAI_REDIS_URL:-redis://redis:6379}
|
|
FACEAI_QUEUE_NAME: ${FACEAI_QUEUE_NAME:-faceai-searches}
|
|
FACEAI_RUNTIME_ROOT: ${FACEAI_RUNTIME_ROOT:-/data/runtime}
|
|
FACEAI_UPLOAD_ROOT: ${FACEAI_UPLOAD_ROOT:-/data/runtime/uploads}
|
|
FACEAI_LOG_ROOT: ${FACEAI_LOG_ROOT:-/data/logs}
|
|
FACEAI_PKL_ROOT: ${FACEAI_PKL_ROOT:-/data/pkl}
|
|
FACEAI_ENABLE_LOCAL_LEGACY_STATIC: ${FACEAI_ENABLE_LOCAL_LEGACY_STATIC:-1}
|
|
FACEAI_LOCAL_LEGACY_STATIC_ROOT: ${FACEAI_LOCAL_LEGACY_STATIC_ROOT:-/legacy-www}
|
|
FACEAI_PROCESSOR_HEARTBEAT_GRACE_MS: ${FACEAI_PROCESSOR_HEARTBEAT_GRACE_MS:-20000}
|
|
volumes:
|
|
- .:/app
|
|
- ./logs:${FACEAI_LOG_ROOT:-/data/logs}
|
|
- ../www:${FACEAI_LOCAL_LEGACY_STATIC_ROOT:-/legacy-www}:ro
|
|
- ../test_pkl:${FACEAI_PKL_ROOT:-/data/pkl}:ro
|
|
- faceai-runtime:${FACEAI_RUNTIME_ROOT:-/data/runtime}
|
|
|
|
processor:
|
|
build:
|
|
context: ..
|
|
dockerfile: faceai/docker/processor.Dockerfile
|
|
image: ${FACEAI_PROCESSOR_DEV_IMAGE:-regalami-faceai-processor-local}
|
|
working_dir: /app
|
|
command:
|
|
- node
|
|
- docker/run-with-log-file.mjs
|
|
- ${FACEAI_PROCESSOR_LOG_FILE:-/data/logs/processor.log}
|
|
- npm
|
|
- run
|
|
- start
|
|
- --workspace
|
|
- "@regalami/faceai-processor"
|
|
environment:
|
|
NODE_ENV: ${NODE_ENV:-development}
|
|
FACEAI_REDIS_URL: ${FACEAI_REDIS_URL:-redis://redis:6379}
|
|
FACEAI_QUEUE_NAME: ${FACEAI_QUEUE_NAME:-faceai-searches}
|
|
FACEAI_RUNTIME_ROOT: ${FACEAI_RUNTIME_ROOT:-/data/runtime}
|
|
FACEAI_LOG_ROOT: ${FACEAI_LOG_ROOT:-/data/logs}
|
|
FACEAI_PKL_ROOT: ${FACEAI_PKL_ROOT:-/data/pkl}
|
|
FACEAI_MATCHER_BINARY: ${FACEAI_MATCHER_BINARY:-/app/bin/face_matcher}
|
|
FACEAI_WORKER_CONCURRENCY: ${FACEAI_WORKER_CONCURRENCY:-2}
|
|
FACEAI_WORKER_TIMEOUT_MS: ${FACEAI_WORKER_TIMEOUT_MS:-300000}
|
|
FACEAI_PROCESSOR_HEARTBEAT_INTERVAL_MS: ${FACEAI_PROCESSOR_HEARTBEAT_INTERVAL_MS:-5000}
|
|
FACEAI_PROCESSOR_HEARTBEAT_TTL_SECONDS: ${FACEAI_PROCESSOR_HEARTBEAT_TTL_SECONDS:-20}
|
|
volumes:
|
|
- ./logs:${FACEAI_LOG_ROOT:-/data/logs}
|
|
- ../test_pkl:${FACEAI_PKL_ROOT:-/data/pkl}:ro
|
|
- faceai-runtime:${FACEAI_RUNTIME_ROOT:-/data/runtime}
|
|
|
|
tomcat-www:
|
|
build:
|
|
context: ../local-jsp-docker
|
|
dockerfile: tomcat/Dockerfile
|
|
container_name: ${LOCAL_JSP_TOMCAT_CONTAINER_NAME:-regalami-local-jsp-tomcat}
|
|
restart: unless-stopped
|
|
environment:
|
|
LOCAL_DB_HOST: mysql
|
|
LOCAL_DB_PORT: 3306
|
|
LOCAL_DB_NAME: pg
|
|
LOCAL_DB_USER: root
|
|
LOCAL_DB_PASSWORD: root
|
|
FACEAI_HANDOFF_URL: ${FACEAI_HANDOFF_URL:-http://localhost:3001/dev/legacy/launch}
|
|
FACEAI_DEV_USER_ID: ${FACEAI_DEV_USER_ID:-1}
|
|
FACEAI_DEV_DISPLAY_NAME: ${FACEAI_DEV_DISPLAY_NAME:-Local Model User}
|
|
FACEAI_DEV_EMAIL: ${FACEAI_DEV_EMAIL:-local.model.user@example.invalid}
|
|
FACEAI_DEV_MEMBERSHIP_STATUS: ${FACEAI_DEV_MEMBERSHIP_STATUS:-active}
|
|
LOCAL_APP_INSTANCE: ${LOCAL_APP_INSTANCE:-main}
|
|
LOCAL_DOCBASE: /data/docbase/
|
|
FACEAI_FEATURE_ENABLED: ${FACEAI_FEATURE_ENABLED:-1}
|
|
volumes:
|
|
- ../www:/workspace/www:ro
|
|
- ../rus:/workspace/rus:ro
|
|
- ../test_pkl:/workspace/test_pkl:ro
|
|
- ../local-jsp-docker/runtime/docbase:/data/docbase
|
|
- ../local-jsp-docker/runtime/tomcat-work:/usr/local/tomcat/work
|
|
- ../local-jsp-docker/runtime/tomcat-logs:/usr/local/tomcat/logs
|
|
ports:
|
|
- "${LOCAL_JSP_TOMCAT_PORT:-8080}:8080"
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
maildump:
|
|
condition: service_started
|
|
|
|
mysql:
|
|
image: ${LOCAL_JSP_MYSQL_IMAGE:-mysql:8.4}
|
|
container_name: ${LOCAL_JSP_MYSQL_CONTAINER_NAME:-regalami-local-jsp-mysql}
|
|
restart: unless-stopped
|
|
command:
|
|
- --max_allowed_packet=1G
|
|
- --net_read_timeout=600
|
|
- --net_write_timeout=600
|
|
- --lower_case_table_names=1
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: root
|
|
MYSQL_DATABASE: pg
|
|
MYSQL_ROOT_HOST: '%'
|
|
LOCAL_DB_SEED_DUMP: ${LOCAL_DB_SEED_DUMP:-pg-local-purpose-seed-20260422.sql}
|
|
LOCAL_DB_OVERLAY_DUMP: ${LOCAL_DB_OVERLAY_DUMP:-}
|
|
LOCAL_DOCBASE: /data/docbase/
|
|
LOCAL_MAIL_SMTP_HOST: maildump
|
|
LOCAL_MAIL_SMTP_PORT: 1025
|
|
LOCAL_SOURCE_DIR: /workspace/www/
|
|
LOCAL_TEST_USER_ID: ${LOCAL_TEST_USER_ID:-2}
|
|
LOCAL_TEST_USER_LOGIN: ${LOCAL_TEST_USER_LOGIN:-test}
|
|
LOCAL_TEST_USER_PASSWORD: ${LOCAL_TEST_USER_PASSWORD:-test1}
|
|
LOCAL_TEST_USER_EMAIL: ${LOCAL_TEST_USER_EMAIL:-localtest@regalamiunsorriso.test}
|
|
volumes:
|
|
- mysql-data:/var/lib/mysql
|
|
- ../db:/seed:ro
|
|
- ../www:/workspace/www:ro
|
|
- ../local-jsp-docker/mysql/init:/docker-entrypoint-initdb.d:ro
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- sh
|
|
- -lc
|
|
- mysql -uroot -p"$$MYSQL_ROOT_PASSWORD" -Nse "SELECT CASE WHEN EXISTS (SELECT 1 FROM pg.parm WHERE codice = 'REWRITE_URL_ENABLE' AND numero = 1) AND EXISTS (SELECT 1 FROM pg.gara LIMIT 1) THEN 1 ELSE 0 END" | grep -qx 1
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 30
|
|
start_period: 60s
|
|
|
|
maildump:
|
|
build:
|
|
context: ../local-jsp-docker
|
|
dockerfile: maildump/Dockerfile
|
|
container_name: ${LOCAL_JSP_MAILDUMP_CONTAINER_NAME:-regalami-local-jsp-maildump}
|
|
restart: unless-stopped
|
|
environment:
|
|
MAILDUMP_OUTPUT_DIR: /out
|
|
MAILDUMP_SMTP_PORT: 1025
|
|
volumes:
|
|
- ../local-jsp-docker/runtime/maildump/out:/out
|
|
ports:
|
|
- "${LOCAL_JSP_MAILDUMP_PORT:-8025}:8025"
|
|
|
|
volumes:
|
|
faceai-runtime:
|
|
mysql-data: |