mirror of
https://github.com/LogicLabs-OU/OpenArchiver.git
synced 2026-04-05 16:22:01 +02:00
* OpenAPI root url fix
* Journaling OSS setup
* feat: add preserve-original-file mode for email ingestion for GoBD compliance
- Add `preserveOriginalFile` option to ingestion sources and connectors
- Stream original EML/MBOX/PST emails to temp files instead of holding
full buffers in memory, reducing memory allocation during ingestion
- Skip attachment binary extraction and EML re-serialization when
preserve mode is enabled; use raw file on disk as source of truth
- Update `EmailObject` to use `tempFilePath` instead of in-memory `eml`
buffer across all connectors (EML, MBOX, PST)
- Add new database migration (0032) for `preserve_original_file` column
- Add frontend UI toggle with tooltip (tippy.js) for the new option
- Replace console.warn calls with structured pino logger in connectors
* add isjournaled property to archived_email
* feat(ingestion): add unmerge ingestion source functionality
Introduces the ability to detach a child ingestion source from its
merge group, making it a standalone root source. Changes include:
- Add `unmerge` controller method with auth and error handling
- Add POST `/v1/ingestion-sources/{id}/unmerge` route with OpenAPI docs
- Implement `IngestionService.unmerge` backend logic
- Add unmerge UI action and handler in the frontend ingestion view
- Fix bulk delete to also remove children of deleted root sources
- Update docs with new API operation and merging sources user guide
* code formatting
* Database migration file for enum `partially_active`
* Error handling improvement
74 lines
1.9 KiB
YAML
74 lines
1.9 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
open-archiver:
|
|
image: logiclabshq/open-archiver:latest
|
|
container_name: open-archiver
|
|
restart: unless-stopped
|
|
ports:
|
|
- '${PORT_FRONTEND:-3000}:3000' # Frontend
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- ${STORAGE_LOCAL_ROOT_PATH}:${STORAGE_LOCAL_ROOT_PATH}
|
|
depends_on:
|
|
- postgres
|
|
- valkey
|
|
- meilisearch
|
|
networks:
|
|
- open-archiver-net
|
|
|
|
postgres:
|
|
image: postgres:17-alpine
|
|
container_name: postgres
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB:-open_archive}
|
|
POSTGRES_USER: ${POSTGRES_USER:-admin}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-password}
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
networks:
|
|
- open-archiver-net
|
|
|
|
valkey:
|
|
image: valkey/valkey:8-alpine
|
|
container_name: valkey
|
|
restart: unless-stopped
|
|
command: valkey-server --requirepass ${REDIS_PASSWORD}
|
|
volumes:
|
|
- valkeydata:/data
|
|
networks:
|
|
- open-archiver-net
|
|
|
|
meilisearch:
|
|
image: getmeili/meilisearch:v1.38
|
|
container_name: meilisearch
|
|
restart: unless-stopped
|
|
environment:
|
|
MEILI_MASTER_KEY: ${MEILI_MASTER_KEY:-aSampleMasterKey}
|
|
MEILI_SCHEDULE_SNAPSHOT: ${MEILI_SCHEDULE_SNAPSHOT:-86400}
|
|
volumes:
|
|
- meilidata:/meili_data
|
|
networks:
|
|
- open-archiver-net
|
|
|
|
tika:
|
|
image: apache/tika:3.2.2.0-full
|
|
container_name: tika
|
|
restart: always
|
|
networks:
|
|
- open-archiver-net
|
|
|
|
volumes:
|
|
pgdata:
|
|
driver: local
|
|
valkeydata:
|
|
driver: local
|
|
meilidata:
|
|
driver: local
|
|
|
|
networks:
|
|
open-archiver-net:
|
|
driver: bridge
|