mirror of
https://github.com/onyx-dot-app/onyx.git
synced 2026-10-22 11:22:49 -05:00
## Description A fresh hand-run Compose install no longer starts MinIO or `object-store-copy`. Fixes [ENG-4429](https://linear.app/onyx-app/issue/ENG-4429/a-fresh-manual-compose-install-still-starts-minio). **Why** - With the v5 compose file and `env.template` defaults, MinIO started on a fresh install. Only onyx-cli set `MINIO_REPLICAS=0`. - Even with it set, `object-store-copy` started and idled forever. **What** - `env.template` sets `MINIO_REPLICAS=0`, since a fresh install never held files in MinIO. - `object-store-copy` follows `MINIO_REPLICAS` like `minio` does. - The compose default stays `1`, so an earlier release's `.env`, which lacks the variable, keeps MinIO and the copy running. - `env.prod.template` names the object store, the S3 key pair and `MINIO_REPLICAS=0`. A fresh prod `.env` defaulted the app to MinIO before. - The retire step stops MinIO with `docker compose up -d --no-deps minio object-store-copy`, since a plain `up -d` recreates every service that loads `.env`. - Not changed: Compose still creates the empty `minio_data` volume for a zero-replica service. Only a profile split across the CLI, ods, CI and installers would avoid it. Docs: https://github.com/onyx-dot-app/documentation/pull/521 ## How Has This Been Tested? Live on scratch Compose projects with the v5.0.0-beta.2 images. A `.env` copied from the new `env.template` ran only `object-store` and `relational_db`, with no `minio` or `object-store-copy` container. An upgraded `.env` without `MINIO_REPLICAS` ran `minio` and `object-store-copy`, and the copy started. `docker compose config` shows replicas 0 and 1 for the two cases. With `docker-compose.prod.yml` and a fresh `env.prod.template` plus keys, `api_server` points at `object-store` and `minio` and `object-store-copy` are at 0, and empty keys still refuse to start. `go test ./...` in `cli` passes. In `tools/ods`, `TestDevcontainerCommands` and `TestRunDevRebuild` fail locally because `SSH_AUTH_SOCK` adds a mount, which is unrelated. ## Additional Options - [ ] [Optional] Please cherry-pick this PR to the latest release version.
89 lines
3.3 KiB
Plaintext
89 lines
3.3 KiB
Plaintext
# Fill in the values and copy the contents of this file to .env in the deployment directory.
|
|
# Some valid default values are provided where applicable, delete the variables which you don't set values for.
|
|
# This is only necessary when using the docker-compose.prod.yml compose file.
|
|
|
|
|
|
# Could be something like onyx.companyname.com
|
|
WEB_DOMAIN=http://localhost:3000
|
|
|
|
# Set to false to let any origin embed Onyx in an <iframe>, disabling
|
|
# clickjacking protection. Protected by default.
|
|
# WEB_FRAME_PROTECTION_ENABLED=false
|
|
|
|
# Set to true to add strict Content-Security-Policy directives
|
|
# (default-src/script-src/connect-src/etc.) restricting where scripts load
|
|
# from and where data can be sent. Off by default.
|
|
# WEB_STRICT_CSP_ENABLED=true
|
|
|
|
# User authentication is always enabled. Email/password login works out of the
|
|
# box, and the first user to sign up becomes an admin.
|
|
# SSO (Google / OIDC / SAML) and its per-provider options are configured in the
|
|
# admin panel (Admin Panel > Organization > SSO Providers), no env vars needed.
|
|
# See https://docs.onyx.app/deployment/authentication for details.
|
|
|
|
# Legacy pre-v4.4 SSO configuration. Imported into an SSO provider entry on
|
|
# upgrade, so keep these set through the upgrade. Planned for removal in v4.5.
|
|
#AUTH_TYPE=
|
|
#GOOGLE_OAUTH_CLIENT_ID=
|
|
#GOOGLE_OAUTH_CLIENT_SECRET=
|
|
#OAUTH_CLIENT_ID=
|
|
#OAUTH_CLIENT_SECRET=
|
|
#OPENID_CONFIG_URL=
|
|
# Forces PKCE on for every provider. Superseded by the per-provider setting.
|
|
#OIDC_PKCE_ENABLED=
|
|
# SAML config directory for pre-v4.4 OneLogin compatible setups
|
|
#SAML_CONF_DIR=
|
|
|
|
# if you want to require email verification,
|
|
# then uncomment / set the following
|
|
#REQUIRE_EMAIL_VERIFICATION=true
|
|
#SMTP_USER=your-email@company.com
|
|
#SMTP_PASS=your-gmail-password
|
|
|
|
# The below are only needed if you aren't using gmail as your SMTP
|
|
#SMTP_SERVER=
|
|
#SMTP_PORT=
|
|
# When missing SMTP_USER, this is used instead
|
|
#EMAIL_FROM=
|
|
# Optional comma-separated BCC archive recipients for all emails
|
|
#EMAIL_ARCHIVE_BCC_ADDRESSES=
|
|
|
|
# How long before user needs to reauthenticate, default to 7 days. (cookie expiration time)
|
|
SESSION_EXPIRE_TIME_SECONDS=604800
|
|
|
|
|
|
# Use the below to specify a list of allowed user domains
|
|
# e.g. `VALID_EMAIL_DOMAINS=example.com,example.org` will only allow users
|
|
# with an @example.com or an @example.org email
|
|
#VALID_EMAIL_DOMAINS=
|
|
|
|
|
|
# Set to "true" to restrict GET /users to admins. Non-admins can't enumerate
|
|
# accounts or share agents with individual users; group sharing still works.
|
|
#USER_DIRECTORY_ADMIN_ONLY=
|
|
|
|
|
|
# Default values here are what Postgres uses by default, feel free to change.
|
|
POSTGRES_USER=postgres
|
|
POSTGRES_PASSWORD=password
|
|
|
|
|
|
# Default values here for the read-only user for the knowledge graph and other future read-only purposes.
|
|
# Please change password!
|
|
DB_READONLY_USER=db_readonly_user
|
|
DB_READONLY_PASSWORD=password
|
|
|
|
|
|
# Bundled object store (SeaweedFS) for uploaded files. The pair is its admin identity, so set
|
|
# long random values. Compose refuses to start without them.
|
|
S3_ENDPOINT_URL=http://object-store:8333
|
|
S3_AWS_ACCESS_KEY_ID=
|
|
S3_AWS_SECRET_ACCESS_KEY=
|
|
# A fresh install never held files in MinIO, so MinIO and object-store-copy never start.
|
|
# A .env from a release before v5.0 lacks this line, so both keep running.
|
|
MINIO_REPLICAS=0
|
|
|
|
# Show extra/uncommon connectors
|
|
# See https://docs.onyx.app/admins/connectors/overview for a full list of connectors
|
|
SHOW_EXTRA_CONNECTORS=False
|