mirror of
https://github.com/LogicLabs-OU/OpenArchiver.git
synced 2026-04-06 00:31:57 +02:00
This commit introduces two major features:
1. **Mbox File Ingestion:**
Users can now ingest emails from Mbox files (`.mbox`). A new Mbox connector has been implemented on the backend, and the user interface has been updated to support creating Mbox ingestion sources. Documentation for this new provider has also been added.
Additionally, this commit includes new documentation for upgrading and migrating Open Archiver.
Co-authored-by: Wayne <5291640+ringoinca@users.noreply.github.com>
78 lines
3.1 KiB
YAML
78 lines
3.1 KiB
YAML
# documentation: https://openarchiver.com
|
|
# slogan: A self-hosted, open-source email archiving solution with full-text search capability.
|
|
# tags: email archiving,email,compliance,search
|
|
# logo: svgs/openarchiver.svg
|
|
# port: 3000
|
|
|
|
services:
|
|
open-archiver:
|
|
image: logiclabshq/open-archiver:latest
|
|
environment:
|
|
- SERVICE_URL_3000
|
|
- SERVICE_URL=${SERVICE_URL_3000}
|
|
- PORT_BACKEND=${PORT_BACKEND:-4000}
|
|
- PORT_FRONTEND=${PORT_FRONTEND:-3000}
|
|
- NODE_ENV=${NODE_ENV:-production}
|
|
- SYNC_FREQUENCY=${SYNC_FREQUENCY:-* * * * *}
|
|
- POSTGRES_DB=${POSTGRES_DB:-open_archive}
|
|
- POSTGRES_USER=${POSTGRES_USER:-admin}
|
|
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
|
- DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}
|
|
- MEILI_MASTER_KEY=${SERVICE_PASSWORD_MEILISEARCH}
|
|
- MEILI_HOST=http://meilisearch:7700
|
|
- REDIS_HOST=valkey
|
|
- REDIS_PORT=6379
|
|
- REDIS_PASSWORD=${SERVICE_PASSWORD_VALKEY}
|
|
- REDIS_TLS_ENABLED=false
|
|
- STORAGE_TYPE=${STORAGE_TYPE:-local}
|
|
- STORAGE_LOCAL_ROOT_PATH=${STORAGE_LOCAL_ROOT_PATH:-/var/data/open-archiver}
|
|
- BODY_SIZE_LIMIT=${BODY_SIZE_LIMIT:-100M}
|
|
- STORAGE_S3_ENDPOINT=${STORAGE_S3_ENDPOINT}
|
|
- STORAGE_S3_BUCKET=${STORAGE_S3_BUCKET}
|
|
- STORAGE_S3_ACCESS_KEY_ID=${STORAGE_S3_ACCESS_KEY_ID}
|
|
- STORAGE_S3_SECRET_ACCESS_KEY=${STORAGE_S3_SECRET_ACCESS_KEY}
|
|
- STORAGE_S3_REGION=${STORAGE_S3_REGION}
|
|
- STORAGE_S3_FORCE_PATH_STYLE=${STORAGE_S3_FORCE_PATH_STYLE:-false}
|
|
- JWT_SECRET=${SERVICE_BASE64_128_JWT}
|
|
- JWT_EXPIRES_IN=${JWT_EXPIRES_IN:-7d}
|
|
- ENCRYPTION_KEY=${SERVICE_BASE64_64_ENCRYPTIONKEY}
|
|
- RATE_LIMIT_WINDOW_MS=${RATE_LIMIT_WINDOW_MS:-60000}
|
|
- RATE_LIMIT_MAX_REQUESTS=${RATE_LIMIT_MAX_REQUESTS:-100}
|
|
volumes:
|
|
- archiver-data:/var/data/open-archiver
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
valkey:
|
|
condition: service_started
|
|
meilisearch:
|
|
condition: service_started
|
|
|
|
postgres:
|
|
image: postgres:17-alpine
|
|
environment:
|
|
- POSTGRES_DB=${POSTGRES_DB}
|
|
- POSTGRES_USER=${POSTGRES_USER}
|
|
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
|
- LC_ALL=C
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ['CMD-SHELL', 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}']
|
|
interval: 10s
|
|
timeout: 20s
|
|
retries: 10
|
|
|
|
valkey:
|
|
image: valkey/valkey:8-alpine
|
|
command: valkey-server --requirepass ${SERVICE_PASSWORD_VALKEY}
|
|
volumes:
|
|
- valkeydata:/data
|
|
|
|
meilisearch:
|
|
image: getmeili/meilisearch:v1.15
|
|
environment:
|
|
- MEILI_MASTER_KEY=${SERVICE_PASSWORD_MEILISEARCH}
|
|
volumes:
|
|
- meilidata:/meili_data
|