Spaces:
Paused
Paused
Commit History
-
fix: postgres wrapper — re-run FUSE dir repair on every postgres start
- Add postgres-fuse-wrap script: recreates FUSE-volatile dirs (pg_replslot, pg_twophase, pg_dynshmem, pg_notify, pg_tblspc) immediately before each postgres invocation. Fixes FATAL that occurred ~80s into crash-recovery when FUSE dropped empty dirs between entrypoint Stage-1 and Postgres reading them. - supervisord: postgresql program uses postgres-fuse-wrap, user=root (drops to mem0 via gosu inside wrapper). Global user changed root→root so per-program user= directives take effect. - entrypoint: remove redundant FUSE repair from Stage 1; add repair before Stage-2 pg_ctl start (fresh-init path). Drop 'gosu mem0 supervisord' since supervisord now runs as root intentionally. - Dockerfile: COPY + chmod postgres-fuse-wrap.f8a7f2f -
feat: affine-style persistence — PGDATA directly on /data, drop sync/backup loop
- No restore-rsync, no pg_basebackup loop (both hammered FUSE until it died) - Per-boot FUSE repair: purge .git/ from object-store dirs, recreate empty runtime dirs, pg_tblspc symlink to tmpfs - First-boot DB setup gated behind FRESH_INIT flag36f3df7 -
fix: restore path — chown mem0 + chmod 700 pgdata after rsync (postgres requires 0700)
8ce5c60 -
feat: periodic backup loop — pg_basebackup + history rsync to /data
0497dac -
fix: supervisord EACCES — revert to file logs + global tail to stdout
/dev/fd/1 as stdout_logfile made supervisord fail with 'unknown error making dispatchers ... EACCES' for every program on HF (it tries to reopen the fd; inherited stdout cannot be reopened there). - Restore per-program file logs (proven working) - entrypoint: tail -F all supervisor logs to real stdout so tracebacks are visible in HF logs - Drop useless 30s pg_isready wait (PG is intentionally stopped before supervisord starts; supervisord launches it again)1e6332d -
fix: dashboard exec-bit regression + PG/API race + visible logs
- Revert wip 'COPY ./ /app': it overwrote /app after chmod, stripping the exec bit from /app/entrypoint.sh (dashboard FATAL) and would have baked .env/llm-config.json into the public image - Add .dockerignore (secrets never enter build context) - supervisord: log all programs to stdout so tracebacks show in HF logs; drop invalid depends_on options - entrypoint: wait for pg_isready before supervisord (uvicorn raced PG)6d2d3c8 -
fix: fresh-deploy crash — placeholder API key + alembic on boot
- main.py: OPENAI_API_KEY falls back to placeholder so Memory.from_config doesn't raise OpenAIError at import when no key is configured yet (root cause of mem0-api FATAL loop on fresh HF Space) - entrypoint.sh: run alembic upgrade head after init-db.sh while PG is up, so mem0_app tables exist before uvicorn starts407d645 -
mem0 self-hosted: full deployment (auth fix, nginx routing, 9router LLM config)
5ec8557