diff --git a/docs/user-guides/email-providers/index.md b/docs/user-guides/email-providers/index.md index 045a175..771b706 100644 --- a/docs/user-guides/email-providers/index.md +++ b/docs/user-guides/email-providers/index.md @@ -1,2 +1,9 @@ -# email-providers +# Connecting Email Providers +Open Archiver can connect to a variety of email sources to ingest and archive your emails. This section provides guides for connecting to popular email providers. + +Choose your provider from the list below to get started: + +- [Google Workspace](./google-workspace.md) +- [Microsoft 365](./microsoft-365.md) +- [Generic IMAP Server](./imap.md) diff --git a/docs/user-guides/installation.md b/docs/user-guides/installation.md index f261330..6fd375b 100644 --- a/docs/user-guides/installation.md +++ b/docs/user-guides/installation.md @@ -49,6 +49,70 @@ By default, the Docker Compose setup uses local filesystem storage, which is per If you want to use S3-compatible object storage, change the `STORAGE_TYPE` to `s3` and fill in your S3 credentials (`STORAGE_S3_*` variables). +### Using External Services + +For convenience, the `docker-compose.yml` file includes services for PostgreSQL, Valkey (Redis), and Meilisearch. However, you can use your own external or managed instances for these services. + +To do so: + +1. **Update your `.env` file**: Change the host, port, and credential variables to point to your external service instances. For example, you would update `DATABASE_URL`, `REDIS_HOST`, and `MEILI_HOST`. +2. **Modify `docker-compose.yml`**: Remove or comment out the service definitions for `postgres`, `valkey`, and `meilisearch` from your `docker-compose.yml` file. + +This will configure the Open Archiver application to connect to your services instead of starting the default ones. + +### Environment Variable Reference + +Here is a complete list of environment variables available for configuration: + +#### Application Settings + +| Variable | Description | Default Value | +| --------------- | ---------------------------------- | ------------- | +| `NODE_ENV` | The application environment. | `development` | +| `PORT_BACKEND` | The port for the backend service. | `4000` | +| `PORT_FRONTEND` | The port for the frontend service. | `3000` | + +#### Docker Compose Service Configuration + +These variables are used by `docker-compose.yml` to configure the services. + +| Variable | Description | Default Value | +| ------------------- | ----------------------------------------------- | -------------------------------------------------------- | +| `POSTGRES_DB` | The name of the PostgreSQL database. | `open_archive` | +| `POSTGRES_USER` | The username for the PostgreSQL database. | `admin` | +| `POSTGRES_PASSWORD` | The password for the PostgreSQL database. | `password` | +| `DATABASE_URL` | The connection URL for the PostgreSQL database. | `postgresql://admin:password@postgres:5432/open_archive` | +| `MEILI_MASTER_KEY` | The master key for Meilisearch. | `aSampleMasterKey` | +| `MEILI_HOST` | The host for the Meilisearch service. | `http://meilisearch:7700` | +| `REDIS_HOST` | The host for the Valkey (Redis) service. | `valkey` | +| `REDIS_PORT` | The port for the Valkey (Redis) service. | `6379` | +| `REDIS_PASSWORD` | The password for the Valkey (Redis) service. | `defaultredispassword` | +| `REDIS_TLS_ENABLED` | Enable or disable TLS for Redis. | `false` | + +#### Storage Settings + +| Variable | Description | Default Value | +| ------------------------------ | ------------------------------------------------ | ------------------------- | +| `STORAGE_TYPE` | The storage backend to use (`local` or `s3`). | `local` | +| `STORAGE_LOCAL_ROOT_PATH` | The root path for local file storage. | `/var/data/open-archiver` | +| `STORAGE_S3_ENDPOINT` | The endpoint for S3-compatible storage. | | +| `STORAGE_S3_BUCKET` | The bucket name for S3-compatible storage. | | +| `STORAGE_S3_ACCESS_KEY_ID` | The access key ID for S3-compatible storage. | | +| `STORAGE_S3_SECRET_ACCESS_KEY` | The secret access key for S3-compatible storage. | | +| `STORAGE_S3_REGION` | The region for S3-compatible storage. | | +| `STORAGE_S3_FORCE_PATH_STYLE` | Force path-style addressing for S3. | `false` | + +#### Security & Authentication + +| Variable | Description | Default Value | +| ---------------- | --------------------------------------------------- | ------------------------------------------ | +| `JWT_SECRET` | A secret key for signing JWT tokens. | `a-very-secret-key-that-you-should-change` | +| `JWT_EXPIRES_IN` | The expiration time for JWT tokens. | `7d` | +| `ADMIN_EMAIL` | The email for the initial admin user. | `admin@local.com` | +| `ADMIN_PASSWORD` | The password for the initial admin user. | `a_strong_password_that_you_should_change` | +| `SUPER_API_KEY` | An API key with super admin privileges. | | +| `ENCRYPTION_KEY` | A 32-byte hex string for encrypting sensitive data. | | + ## 3. Run the Application Once you have configured your `.env` file, you can start all the services using Docker Compose: