mirror of
https://github.com/modrinth/code.git
synced 2026-08-25 09:04:55 +00:00
* Backend routes for choosing username in OAuth flow * fix up oauth flow routes * improve URL-related OAuth code * Use user-provided callback addr instead of SELF_ADDR * Revert "Use user-provided callback addr instead of SELF_ADDR" This reverts commit7ea0635d86. * fix flow * fix: backend response for create oauth account * feat: new auth flow (#5840) * update auth with new designs * refactor: auth.js to auth.ts * refactor: componentize auth pages * fix: auth pages height * feat: initial implementation of new sign-in oauth * fix create account flow * fix checkbox * remove hard coded username * implement create user validation endpoint and add more specific error responses * feat: implement under 13 DOB guard and email/password validation route * fix: TOCTOU issue * refactor: pnpm prepr * fix: make sure staging uses staging * fix: hcaptcha styles * fix: copy * remove: auth/welcome page as its no longer used * refactor: bring root page card styles into individual components and use tailwind * fix: account settings modals to use new modal and fix lots of bad styles * refactor: pnpm prepr * feat: implement last signed in indicator * fix: append number when generated name from email is taken * refactor: pnpm prepr * fix: last sign in badge color * fix: qa issues * refactor: pnpm prepr * fix: hover effect on native date picker * chore: temp staging undo * Revert "chore: temp staging undo" This reverts commitcad6bd4f92. * feat: handle app create account * fix: last signed in style * fix: add initOnMounted for SSR race * refactor: use typescript * refactor: pnpm prepr * refactor: use typescript for reset-password * refactor: convert verify-email to use typescript * refactor: convert authorize.vue to use typescript * fix: authorize.vue error states * feat: small style updates * feat: implement date picker component * feat: improve UX and styles for range select * refactor: pnpm prepr * fix: range select border styles * feat: implement date picker component in create account * feat: implement preserve date for date picker * update rust toolchain * increase recursion limit * fix: date picker can be null * fix: calculate age based on user's timezone * fix: number input icons color * fix: date picker icons * feat: improve styles * fix: add width on date * fix: hover color bad on number input * fix lints * feat: add default date open view * fmt * fix: account.vue * fix: remove default date to open 13 years ago * fix: edit copy on info banner * fix: cannot hover over project card tooltip items (#6071) fix: cannot hover over project cards * feat: improve add dependency flow (#6075) * fix: shadow on nav * feat: improve add dependency flow * feat: update suggested dependency style * feat: update dependency rows to use version number and update styles * feat: implement combobox select searched text on focus * feat: add Tabs.vue * feat: update nav tabs to use tabs * feat: improve project search dropdown * fix: dependency search not clearing inbound query * fix: combobox no options open state bug * feat: improve dependency project and version search * fix: open modrinth project links in the app (#6072) * pin tanstack versions + set pnpm min age to 7 days * squash commits * fix: 2 factor auth enter code screen styles * update copy * update copy * improve reset password * feat: update sign in screen * fix: unused import * Merge branch 'main' into boris/dev-908-backend-changes * Revert "Merge branch 'main' into boris/dev-908-backend-changes" This reverts commitb9b03796e3. * fix: add stroke * feat: add passkey support (#6375) * feat: add passkey backend * feat: passkey frontend * invalidate sessions on compromised passkey * chore: run sqlx prepare * fix: make passkey button use both collumns to prevent empty space * fix: correctly verify max passkeys in finish route * fix: use structs for response * fix: add rp name default * style: use web::Json * fmt * feat: improve manage passkeys UI * fix copy * pnpm prepr --------- Co-authored-by: tdgao <mr.trumgao@gmail.com> Co-authored-by: Truman Gao <106889354+tdgao@users.noreply.github.com> Co-authored-by: Michael H. <michael@iptables.sh> Co-authored-by: Calum H. (IMB11) <contact@cal.engineer> Co-authored-by: Calum H. <calum@modrinth.com> Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com> Co-authored-by: DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>
201 lines
4.7 KiB
Bash
201 lines
4.7 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
|
|
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
|
|
TYPESENSE_URL=http://localhost:8108
|
|
TYPESENSE_API_KEY=modrinth
|
|
TYPESENSE_INDEX_PREFIX=labrinth
|
|
|
|
REDIS_URL=redis://localhost
|
|
REDIS_MIN_CONNECTIONS=0
|
|
REDIS_MAX_CONNECTIONS=10000
|
|
|
|
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
|
|
|
|
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
|