2020-06-30 19:23:52 +02:00
|
|
|
DEBUG=true
|
2020-07-30 22:45:22 -05:00
|
|
|
RUST_LOG=info,sqlx::query=warn
|
2022-11-20 19:50:14 -07:00
|
|
|
SENTRY_DSN=none
|
|
|
|
|
|
2025-05-29 22:51:30 +02:00
|
|
|
SITE_URL=http://localhost:3000
|
2025-06-15 17:19:56 +02:00
|
|
|
# This CDN URL matches the local storage backend set below, which uses MOCK_FILE_PATH
|
|
|
|
|
CDN_URL=file:///tmp/modrinth
|
2022-02-21 18:57:40 -08:00
|
|
|
LABRINTH_ADMIN_KEY=feedbeef
|
[DO NOT MERGE] Email notification system (#4338)
* Migration
* Fixup db models
* Redis
* Stuff
* Switch PKs to BIGSERIALs, insert to notifications_deliveries when inserting notifications
* Queue, templates
* Query cache
* Fixes, fixtures
* Perf, cache template data & HTML bodies
* Notification type configuration, ResetPassword notification type
* Reset password
* Query cache
* Clippy + fmt
* Traces, fix typo, fix user email in ResetPassword
* send_email
* Models, db
* Remove dead code, adjust notification settings in migration
* Clippy fmt
* Delete dead code, fixes
* Fmt
* Update apps/labrinth/src/queue/email.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: François-Xavier Talbot <108630700+fetchfern@users.noreply.github.com>
* Remove old fixtures
* Unify email retry delay
* Fix type
* External notifications
* Remove `notifications_types_preference_restrictions`, as user notification preferences is out of scope for this PR
* Query cache, fmt, clippy
* Fix join in get_many_user_exposed_on_site
* Remove migration comment
* Query cache
* Update html body urls
* Remove comment
* Add paymentfailed.service variable to PaymentFailed notification variant
* Fix compile error
* Fix deleting notifications
* Update apps/labrinth/src/database/models/user_item.rs
Co-authored-by: Josiah Glosson <soujournme@gmail.com>
Signed-off-by: François-Xavier Talbot <108630700+fetchfern@users.noreply.github.com>
* Update apps/labrinth/src/database/models/user_item.rs
Co-authored-by: Josiah Glosson <soujournme@gmail.com>
Signed-off-by: François-Xavier Talbot <108630700+fetchfern@users.noreply.github.com>
* Update Cargo.toml
Co-authored-by: Josiah Glosson <soujournme@gmail.com>
Signed-off-by: François-Xavier Talbot <108630700+fetchfern@users.noreply.github.com>
* Update apps/labrinth/migrations/20250902133943_notification-extension.sql
Co-authored-by: Josiah Glosson <soujournme@gmail.com>
Signed-off-by: François-Xavier Talbot <108630700+fetchfern@users.noreply.github.com>
* Address review comments
* Fix compliation
* Update apps/labrinth/src/database/models/users_notifications_preferences_item.rs
Co-authored-by: Josiah Glosson <soujournme@gmail.com>
Signed-off-by: François-Xavier Talbot <108630700+fetchfern@users.noreply.github.com>
* Use strfmt to format emails
* Configurable Reply-To
* Configurable Reply-To
* Refactor for email background task
* Send some emails inline
* Fix account creation email check
* Revert "Use strfmt to format emails"
This reverts commit e0d6614afe51fa6349918377e953ba294c34ae0b.
* Reintroduce fill_template
* Set password reset email inline
* Process more emails per index
* clippy fmt
* Query cache
---------
Signed-off-by: François-Xavier Talbot <108630700+fetchfern@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Josiah Glosson <soujournme@gmail.com>
2025-09-15 15:02:29 -04:00
|
|
|
LABRINTH_EXTERNAL_NOTIFICATION_KEY=beeffeed
|
2022-06-09 15:28:40 -07:00
|
|
|
RATE_LIMIT_IGNORE_KEY=feedbeef
|
2020-07-16 10:16:35 -07:00
|
|
|
|
2020-08-28 17:48:01 +02:00
|
|
|
DATABASE_URL=postgresql://labrinth:labrinth@localhost/labrinth
|
2021-06-16 09:05:35 -07:00
|
|
|
DATABASE_MIN_CONNECTIONS=0
|
|
|
|
|
DATABASE_MAX_CONNECTIONS=16
|
2023-07-07 12:20:16 -07:00
|
|
|
|
2020-06-30 19:23:52 +02:00
|
|
|
MEILISEARCH_ADDR=http://localhost:7700
|
2020-10-19 14:23:05 -07:00
|
|
|
MEILISEARCH_KEY=modrinth
|
2020-06-30 19:23:52 +02:00
|
|
|
|
2023-07-12 20:40:24 -07:00
|
|
|
REDIS_URL=redis://localhost
|
2023-08-07 23:05:08 -07:00
|
|
|
REDIS_MAX_CONNECTIONS=10000
|
2023-07-12 20:40:24 -07:00
|
|
|
|
2025-11-08 15:27:31 -08:00
|
|
|
# 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
|
2023-11-29 11:00:08 -07:00
|
|
|
SELF_ADDR=http://127.0.0.1:8000
|
2023-07-12 20:40:24 -07:00
|
|
|
|
2024-09-06 23:42:54 -07:00
|
|
|
MODERATION_SLACK_WEBHOOK=
|
2023-07-12 20:40:24 -07:00
|
|
|
PUBLIC_DISCORD_WEBHOOK=
|
|
|
|
|
CLOUDFLARE_INTEGRATION=false
|
2020-07-16 23:06:58 -05:00
|
|
|
|
2025-09-10 22:16:21 +01:00
|
|
|
PAYOUT_ALERT_SLACK_WEBHOOK=none
|
|
|
|
|
TREMENDOUS_BALANCE_ALERT_THRESHOLD=0
|
|
|
|
|
PAYPAL_BALANCE_ALERT_THRESHOLD=0
|
|
|
|
|
BREX_BALANCE_ALERT_THRESHOLD=0
|
|
|
|
|
|
2020-10-18 13:26:13 -07:00
|
|
|
STORAGE_BACKEND=local
|
2023-07-12 20:40:24 -07:00
|
|
|
MOCK_FILE_PATH=/tmp/modrinth
|
|
|
|
|
|
2025-06-19 14:46:12 -05:00
|
|
|
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
|
2020-10-18 13:26:13 -07:00
|
|
|
|
2020-07-27 18:54:10 -05:00
|
|
|
# 1 hour
|
|
|
|
|
LOCAL_INDEX_INTERVAL=3600
|
2020-12-13 18:10:58 -07:00
|
|
|
# 30 minutes
|
|
|
|
|
VERSION_INDEX_INTERVAL=1800
|
2020-11-03 18:55:50 -06:00
|
|
|
|
2022-02-05 23:08:30 -07:00
|
|
|
RATE_LIMIT_IGNORE_IPS='["127.0.0.1"]'
|
2021-11-30 20:07:23 -07:00
|
|
|
|
2023-08-02 14:43:04 -07:00
|
|
|
WHITELISTED_MODPACK_DOMAINS='["cdn.modrinth.com", "github.com", "raw.githubusercontent.com"]'
|
2022-06-17 16:56:28 -07:00
|
|
|
|
2025-09-06 23:35:50 +02:00
|
|
|
ALLOWED_CALLBACK_URLS='["localhost", ".modrinth.com", "127.0.0.1", "[::1]"]'
|
2022-07-01 19:31:37 -07:00
|
|
|
|
2023-07-07 12:20:16 -07:00
|
|
|
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
|
|
|
|
|
|
2023-11-29 11:00:08 -07:00
|
|
|
PAYPAL_API_URL=https://api-m.sandbox.paypal.com/v1/
|
|
|
|
|
PAYPAL_WEBHOOK_ID=none
|
|
|
|
|
PAYPAL_CLIENT_ID=none
|
|
|
|
|
PAYPAL_CLIENT_SECRET=none
|
2024-12-30 20:17:51 -07:00
|
|
|
PAYPAL_NVP_USERNAME=none
|
|
|
|
|
PAYPAL_NVP_PASSWORD=none
|
|
|
|
|
PAYPAL_NVP_SIGNATURE=none
|
2023-11-29 11:00:08 -07:00
|
|
|
|
2023-07-07 12:20:16 -07:00
|
|
|
STEAM_API_KEY=none
|
2023-07-08 14:29:17 -07:00
|
|
|
|
2023-11-29 11:00:08 -07:00
|
|
|
TREMENDOUS_API_URL=https://testflight.tremendous.com/api/v2/
|
|
|
|
|
TREMENDOUS_API_KEY=none
|
|
|
|
|
TREMENDOUS_PRIVATE_KEY=none
|
|
|
|
|
TREMENDOUS_CAMPAIGN_ID=none
|
|
|
|
|
|
2024-11-16 16:57:32 -08:00
|
|
|
HCAPTCHA_SECRET=none
|
2023-07-12 20:40:24 -07:00
|
|
|
|
2025-07-03 23:41:13 +08:00
|
|
|
SMTP_FROM_NAME=Modrinth
|
|
|
|
|
SMTP_FROM_ADDRESS=no-reply@mail.modrinth.com
|
2025-08-10 01:12:15 +02:00
|
|
|
SMTP_USERNAME=
|
|
|
|
|
SMTP_PASSWORD=
|
|
|
|
|
SMTP_HOST=localhost
|
|
|
|
|
SMTP_PORT=1025
|
|
|
|
|
SMTP_TLS=none
|
2023-07-12 20:40:24 -07:00
|
|
|
|
2025-05-29 22:51:30 +02:00
|
|
|
SITE_VERIFY_EMAIL_PATH=auth/verify-email
|
|
|
|
|
SITE_RESET_PASSWORD_PATH=auth/reset-password
|
2024-08-14 17:14:52 -07:00
|
|
|
SITE_BILLING_PATH=none
|
2023-07-18 15:02:54 -07:00
|
|
|
|
2024-11-18 16:19:12 -08:00
|
|
|
SENDY_URL=none
|
|
|
|
|
SENDY_LIST_ID=none
|
|
|
|
|
SENDY_API_KEY=none
|
2023-08-02 14:43:04 -07:00
|
|
|
|
|
|
|
|
ANALYTICS_ALLOWED_ORIGINS='["http://127.0.0.1:3000", "http://localhost:3000", "https://modrinth.com", "https://www.modrinth.com", "*"]'
|
|
|
|
|
|
2025-03-05 15:40:46 -08:00
|
|
|
CLICKHOUSE_REPLICATED=false
|
2023-09-13 16:35:47 -07:00
|
|
|
CLICKHOUSE_URL=http://localhost:8123
|
2023-08-02 14:43:04 -07:00
|
|
|
CLICKHOUSE_USER=default
|
2025-04-21 17:44:24 +02:00
|
|
|
CLICKHOUSE_PASSWORD=default
|
2023-08-02 14:43:04 -07:00
|
|
|
CLICKHOUSE_DATABASE=staging_ariadne
|
|
|
|
|
|
2024-08-14 17:14:52 -07:00
|
|
|
FLAME_ANVIL_URL=none
|
|
|
|
|
|
|
|
|
|
STRIPE_API_KEY=none
|
2024-09-12 14:52:17 -07:00
|
|
|
STRIPE_WEBHOOK_SECRET=none
|
|
|
|
|
|
2024-10-09 21:11:30 -07:00
|
|
|
ADITUDE_API_KEY=none
|
|
|
|
|
|
2024-12-30 20:17:51 -07:00
|
|
|
PYRO_API_KEY=none
|
|
|
|
|
|
|
|
|
|
BREX_API_URL=https://platform.brexapis.com/v2/
|
2025-01-08 22:06:05 -08:00
|
|
|
BREX_API_KEY=none
|
|
|
|
|
|
2025-09-26 17:42:53 +02:00
|
|
|
DELPHI_URL=http://localhost:59999
|
2025-03-11 23:27:49 -07:00
|
|
|
DELPHI_SLACK_WEBHOOK=none
|
|
|
|
|
|
2025-08-25 12:34:58 -04:00
|
|
|
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
|
|
|
|
|
|
|
|
|
|
COMPLIANCE_PAYOUT_THRESHOLD=disabled
|
|
|
|
|
|
Charge tax on products (#4361)
* Initial Anrok integration
* Query cache, fmt, clippy
* Fmt
* Use payment intent function in edit_subscription
* Attach Anrok client, use payments in index_billing
* Integrate Anrok with refunds
* Bug fixes
* More bugfixes
* Fix resubscriptions
* Medal promotion bugfixes
* Use stripe metadata constants everywhere
* Pre-fill values in products_tax_identifiers
* Cleanup billing route module
* Cleanup
* Email notification for tax charge
* Don't charge tax on users which haven't been notified of tax change
* Fix taxnotification.amount templates
* Update .env.docker-compose
* Update .env.local
* Clippy
* Fmt
* Query cache
* Periodically update tax amount on upcoming charges
* Fix queries
* Skip indexing tax amount on charges if no charges to process
* chore: query cache, clippy, fmt
* Fix a lot of things
* Remove test code
* chore: query cache, clippy, fmt
* Fix money formatting
* Fix conflicts
* Extra documentation, handle tax association properly
* Track loss in tax drift
* chore: query cache, clippy, fmt
* Add subscription.id variable
* chore: query cache, clippy, fmt
* chore: query cache, clippy, fmt
2025-09-25 12:29:29 +01:00
|
|
|
ANROK_API_KEY=none
|
|
|
|
|
ANROK_API_URL=none
|
|
|
|
|
|
2025-10-20 00:56:26 +01:00
|
|
|
GOTENBERG_URL=http://localhost:13000
|
|
|
|
|
GOTENBERG_CALLBACK_BASE=http://host.docker.internal:8000/_internal/gotenberg
|
2025-11-08 15:27:31 -08:00
|
|
|
GOTENBERG_TIMEOUT=30000
|
2025-10-20 00:56:26 +01:00
|
|
|
|
2025-04-21 17:44:24 +02:00
|
|
|
ARCHON_URL=none
|
2025-11-03 14:19:46 -08:00
|
|
|
|
|
|
|
|
MURALPAY_API_URL=https://api-staging.muralpay.com
|
|
|
|
|
MURALPAY_API_KEY=none
|
|
|
|
|
MURALPAY_TRANSFER_API_KEY=none
|
|
|
|
|
MURALPAY_SOURCE_ACCOUNT_ID=none
|
2025-12-02 00:01:24 +00:00
|
|
|
|
|
|
|
|
DEFAULT_AFFILIATE_REVENUE_SPLIT=0.1
|