mirror of
https://github.com/modrinth/code.git
synced 2026-07-31 13:16:38 +00:00
* Add consume batching delay * maybe fix * max batch size * more logging * parallelize remove tasks * delete/upsert project/version messages * prepare * more logging * log number of docs * try more targeted, homogenous version change ops * ensure only necessary fields are serialized into typesense * disable index background task * wip: script changes * don't facet by project id * fix * fix clippy * batch by document and dedup loaders * fix test * wip: projects/versions collections * clean up SearchBackend interface * cleanup pass * cleanup pass 2 * standardise fn names * cleanup pass * fix compile * factor out filter rewriting * query perf * put categories into the project doc * wip: search filter AST * doc comment * more AST normalization * (temp) convert search request errors into internal errors * implement unary NOT * tombi fmt * fix tests * revert request error * try increase stack size
218 lines
5.4 KiB
Bash
218 lines
5.4 KiB
Bash
DEBUG=true
|
|
RUST_LOG=info,sqlx::query=warn
|
|
SENTRY_DSN=none
|
|
SENTRY_ENVIRONMENT=development
|
|
SENTRY_TRACES_SAMPLE_RATE=0.1
|
|
|
|
SITE_URL=http://localhost:3000
|
|
# This CDN URL matches the local storage backend set below, which uses MOCK_FILE_PATH
|
|
CDN_URL=file:///tmp/modrinth
|
|
LABRINTH_ADMIN_KEY=feedbeef
|
|
LABRINTH_MEDAL_KEY=
|
|
LABRINTH_EXTERNAL_NOTIFICATION_KEY=beeffeed
|
|
LABRINTH_SUBSCRIPTIONS_KEY=
|
|
RATE_LIMIT_IGNORE_KEY=feedbeef
|
|
|
|
DATABASE_URL=postgresql://labrinth:labrinth@localhost/labrinth
|
|
DATABASE_MIN_CONNECTIONS=0
|
|
DATABASE_MAX_CONNECTIONS=16
|
|
|
|
SEARCH_BACKEND=typesense
|
|
|
|
# Meilisearch configuration
|
|
MEILISEARCH_READ_ADDR=http://localhost:7700
|
|
MEILISEARCH_WRITE_ADDRS=http://localhost:7700
|
|
# 5 minutes in milliseconds
|
|
SEARCH_OPERATION_TIMEOUT=300000
|
|
|
|
ELASTICSEARCH_URL=http://localhost:9200
|
|
ELASTICSEARCH_INDEX_PREFIX=labrinth
|
|
|
|
# # For a sharded Meilisearch setup (sharded-meilisearch docker compose profile)
|
|
# MEILISEARCH_READ_ADDR=http://localhost:7710
|
|
# MEILISEARCH_WRITE_ADDRS=http://localhost:7700,http://localhost:7701
|
|
|
|
SEARCH_BACKEND=typesense
|
|
|
|
MEILISEARCH_KEY=modrinth
|
|
MEILISEARCH_META_NAMESPACE=
|
|
|
|
# Elasticsearch configuration
|
|
ELASTICSEARCH_URL=http://localhost:9200
|
|
ELASTICSEARCH_INDEX_PREFIX=labrinth
|
|
ELASTICSEARCH_USERNAME=
|
|
ELASTICSEARCH_PASSWORD=
|
|
|
|
SEARCH_INDEX_CHUNK_SIZE=5000
|
|
SEARCH_INCREMENTAL_INDEX_BATCH_DELAY_SECONDS=5
|
|
SEARCH_INCREMENTAL_INDEX_BATCH_MAX_SIZE=1000
|
|
TYPESENSE_URL=http://localhost:8108
|
|
TYPESENSE_API_KEY=modrinth
|
|
TYPESENSE_INDEX_PREFIX=labrinth
|
|
TYPESENSE_IMPORT_BATCH_SIZE=5000
|
|
|
|
REDIS_MODE=standalone
|
|
REDIS_CONNECTION_TYPE=pooled
|
|
# Cache fill coordination is local to each process
|
|
REDIS_CACHE_LOCKING_STRATEGY=local
|
|
REDIS_URL=redis://localhost
|
|
REDIS_MIN_CONNECTIONS=0
|
|
REDIS_MAX_CONNECTIONS=10000
|
|
REDIS_BLOCKING_MAX_CONNECTIONS=8
|
|
|
|
# For a clustered Redis setup (`clustered-redis` Docker Compose profile)
|
|
# REDIS_MODE=cluster
|
|
# REDIS_CONNECTION_TYPE=multiplexed
|
|
# REDIS_URL=redis://127.0.0.1:7000,redis://127.0.0.1:7001,redis://127.0.0.1:7002,redis://127.0.0.1:7003,redis://127.0.0.1:7004,redis://127.0.0.1:7005
|
|
|
|
KAFKA_BOOTSTRAP_SERVERS=localhost:19092
|
|
KAFKA_CLIENT_ID=labrinth
|
|
|
|
# Must bind to broadcast, not localhost, because some
|
|
# Docker services (Gotenberg) must be able to reach the backend
|
|
# from a different network interface
|
|
BIND_ADDR=0.0.0.0:8000
|
|
SELF_ADDR=http://127.0.0.1:8000
|
|
|
|
MODERATION_SLACK_WEBHOOK=
|
|
PUBLIC_DISCORD_WEBHOOK=
|
|
CLOUDFLARE_INTEGRATION=false
|
|
|
|
PAYOUT_ALERT_SLACK_WEBHOOK=none
|
|
TREMENDOUS_BALANCE_ALERT_THRESHOLD=0
|
|
PAYPAL_BALANCE_ALERT_THRESHOLD=0
|
|
BREX_BALANCE_ALERT_THRESHOLD=0
|
|
|
|
STORAGE_BACKEND=local
|
|
MOCK_FILE_PATH=/tmp/modrinth
|
|
|
|
S3_PUBLIC_BUCKET_NAME=none
|
|
S3_PUBLIC_USES_PATH_STYLE_BUCKET=false
|
|
S3_PUBLIC_REGION=none
|
|
S3_PUBLIC_URL=none
|
|
S3_PUBLIC_ACCESS_TOKEN=none
|
|
S3_PUBLIC_SECRET=none
|
|
|
|
S3_PRIVATE_BUCKET_NAME=none
|
|
S3_PRIVATE_USES_PATH_STYLE_BUCKET=false
|
|
S3_PRIVATE_REGION=none
|
|
S3_PRIVATE_URL=none
|
|
S3_PRIVATE_ACCESS_TOKEN=none
|
|
S3_PRIVATE_SECRET=none
|
|
|
|
# 1 hour
|
|
LOCAL_INDEX_INTERVAL=3600
|
|
# 30 minutes
|
|
VERSION_INDEX_INTERVAL=1800
|
|
|
|
RATE_LIMIT_IGNORE_IPS='["127.0.0.1"]'
|
|
|
|
WHITELISTED_MODPACK_DOMAINS='["cdn.modrinth.com", "github.com", "raw.githubusercontent.com"]'
|
|
|
|
ALLOWED_CALLBACK_URLS='["localhost", ".modrinth.com", "127.0.0.1", "[::1]"]'
|
|
|
|
GITHUB_CLIENT_ID=none
|
|
GITHUB_CLIENT_SECRET=none
|
|
|
|
GITLAB_CLIENT_ID=none
|
|
GITLAB_CLIENT_SECRET=none
|
|
|
|
DISCORD_CLIENT_ID=none
|
|
DISCORD_CLIENT_SECRET=none
|
|
|
|
MICROSOFT_CLIENT_ID=none
|
|
MICROSOFT_CLIENT_SECRET=none
|
|
|
|
GOOGLE_CLIENT_ID=none
|
|
GOOGLE_CLIENT_SECRET=none
|
|
|
|
PAYPAL_API_URL=https://api-m.sandbox.paypal.com/v1/
|
|
PAYPAL_WEBHOOK_ID=none
|
|
PAYPAL_CLIENT_ID=none
|
|
PAYPAL_CLIENT_SECRET=none
|
|
PAYPAL_NVP_USERNAME=none
|
|
PAYPAL_NVP_PASSWORD=none
|
|
PAYPAL_NVP_SIGNATURE=none
|
|
|
|
STEAM_API_KEY=none
|
|
|
|
TREMENDOUS_API_URL=https://testflight.tremendous.com/api/v2/
|
|
TREMENDOUS_API_KEY=none
|
|
TREMENDOUS_PRIVATE_KEY=none
|
|
TREMENDOUS_CAMPAIGN_ID=none
|
|
TILTIFY_CLIENT_ID=
|
|
TILTIFY_CLIENT_SECRET=
|
|
TILTIFY_WEBHOOK_SIGNING_KEY=
|
|
TILTIFY_PRIDE_26_CAMPAIGN_ID=
|
|
|
|
HCAPTCHA_SECRET=none
|
|
|
|
SMTP_FROM_NAME=Modrinth
|
|
SMTP_FROM_ADDRESS=no-reply@mail.modrinth.com
|
|
SMTP_USERNAME=
|
|
SMTP_PASSWORD=
|
|
SMTP_HOST=localhost
|
|
SMTP_PORT=1025
|
|
SMTP_TLS=none
|
|
|
|
SITE_VERIFY_EMAIL_PATH=auth/verify-email
|
|
SITE_RESET_PASSWORD_PATH=auth/reset-password
|
|
SITE_BILLING_PATH=none
|
|
|
|
SENDY_URL=none
|
|
SENDY_LIST_ID=none
|
|
SENDY_API_KEY=none
|
|
|
|
ANALYTICS_ALLOWED_ORIGINS='["http://127.0.0.1:3000", "http://localhost:3000", "https://modrinth.com", "https://www.modrinth.com", "*"]'
|
|
|
|
CLICKHOUSE_REPLICATED=false
|
|
CLICKHOUSE_URL=http://localhost:8123
|
|
CLICKHOUSE_USER=default
|
|
CLICKHOUSE_PASSWORD=default
|
|
CLICKHOUSE_DATABASE=staging_ariadne
|
|
|
|
FLAME_ANVIL_URL=none
|
|
|
|
STRIPE_API_KEY=none
|
|
STRIPE_WEBHOOK_SECRET=none
|
|
|
|
ADITUDE_API_KEY=none
|
|
|
|
PYRO_API_KEY=none
|
|
|
|
BREX_API_URL=https://platform.brexapis.com/v2/
|
|
BREX_API_KEY=none
|
|
|
|
DELPHI_URL=http://localhost:59999
|
|
DELPHI_SLACK_WEBHOOK=none
|
|
|
|
AVALARA_1099_API_URL=https://www.track1099.com/api
|
|
AVALARA_1099_API_KEY=none
|
|
AVALARA_1099_API_TEAM_ID=none
|
|
AVALARA_1099_COMPANY_ID=207337084
|
|
|
|
ANROK_API_KEY=none
|
|
ANROK_API_URL=none
|
|
|
|
GOTENBERG_URL=http://localhost:13000
|
|
GOTENBERG_CALLBACK_BASE=http://host.docker.internal:8000/_internal/gotenberg
|
|
GOTENBERG_TIMEOUT=30000
|
|
|
|
SHARED_INSTANCES_URL=none
|
|
SHARED_INSTANCES_KEY=none
|
|
|
|
ARCHON_URL=none
|
|
|
|
MURALPAY_API_URL=https://api-staging.muralpay.com
|
|
MURALPAY_API_KEY=none
|
|
MURALPAY_TRANSFER_API_KEY=none
|
|
MURALPAY_SOURCE_ACCOUNT_ID=00000000-0000-0000-0000-000000000000
|
|
|
|
DEFAULT_AFFILIATE_REVENUE_SPLIT=0.1
|
|
SERVER_PING_TIMEOUT=10000
|
|
SERVER_PING_RETRIES=3
|
|
SERVER_PING_MIN_INTERVAL_SEC=1800
|
|
|
|
# Display name for Webauthn Authenticators
|
|
WEBAUTHN_RP_NAME=Modrinth
|