Skip to content

Commit 6873672

Browse files
committed
feat: multi storage providers support
1 parent 23d6602 commit 6873672

29 files changed

+587
-185
lines changed

.env.sample

Lines changed: 95 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,115 @@
1-
# Tenant Configuration
1+
#######################################
2+
# Tenant
3+
#######################################
4+
TENANT_ID=bjhaohmqunupljrqypxz
25
ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTYxMzUzMTk4NSwiZXhwIjoxOTI5MTA3OTg1fQ.mqfi__KnQB4v6PkIjkhzfwWrYyF94MEbSC6LnuvVniE
36
SERVICE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoic2VydmljZV9yb2xlIiwiaWF0IjoxNjEzNTMxOTg1LCJleHAiOjE5MjkxMDc5ODV9.th84OKK0Iz8QchDyXZRrojmKSEZ-OuitQm_5DvLiSIc
4-
TENANT_ID=bjhaohmqunupljrqypxz
5-
PGRST_JWT_SECRET=f023d3db-39dc-4ac9-87b2-b2be72e9162b
6-
7-
# Database configuration
8-
DATABASE_URL=postgresql://postgres:[email protected]/postgres
9-
DATABASE_POOL_URL=postgresql://postgres:[email protected]:6453/postgres
10-
11-
# Upload configuration
12-
FILE_SIZE_LIMIT=52428800
13-
14-
# Storage
15-
STORAGE_BACKEND=s3
16-
GLOBAL_S3_BUCKET=name-of-your-s3-bucket
7+
REGION=region-of-where-your-service-is-running
178

18-
# S3 Configuration
19-
REGION=region-of-your-s3-bucket
20-
GLOBAL_S3_ENDPOINT=http://127.0.0.1:9000
21-
GLOBAL_S3_PROTOCOL=http
9+
#######################################
10+
# Server
11+
#######################################
12+
HOST=0.0.0.0
13+
PORT=5000
14+
ADMIN_PORT=5001
15+
SERVER_KEEP_ALIVE_TIMEOUT=61
16+
SERVER_HEADERS_TIMEOUT=65
2217

23-
# Minio Configuration (if using Minio)
24-
GLOBAL_S3_FORCE_PATH_STYLE=true
25-
AWS_ACCESS_KEY_ID=supa-storage
26-
AWS_SECRET_ACCESS_KEY=secret1234
27-
AWS_DEFAULT_REGION=ap-southeast-1
18+
#######################################
19+
# Auth
20+
#######################################
21+
AUTH_JWT_SECRET=f023d3db-39dc-4ac9-87b2-b2be72e9162b
22+
AUTH_JWT_ALGORITHM=HS256
2823

29-
# Local File Storage Configuration
30-
FILE_STORAGE_BACKEND_PATH=./data
24+
#######################################
25+
# Database
26+
#######################################
27+
DATABASE_URL=postgresql://postgres:[email protected]/postgres
28+
DATABASE_POOL_URL=postgresql://postgres:[email protected]:6453/postgres
29+
DATABASE_CONNECTION_TIMEOUT=3000
30+
DATABASE_MAX_CONNECTIONS=20
3131

32-
# Multitenant
32+
#######################################
33+
# Multi Tenancy
34+
#######################################
3335
IS_MULTITENANT=false
3436
MULTITENANT_DATABASE_URL=postgresql://postgres:[email protected]:5433/postgres
3537
X_FORWARDED_HOST_REGEXP=
3638
ADMIN_API_KEYS=apikey
3739
ENCRYPTION_KEY=encryptionkey
3840

39-
# Logs
40-
LOGFLARE_ENABLED=false
41-
LOGFLARE_API_KEY=api_key
42-
LOGFLARE_SOURCE_TOKEN=source_token
41+
#######################################
42+
# Uploads
43+
#######################################
44+
FILE_SIZE_LIMIT=52428800
45+
SIGNED_UPLOAD_URL_EXPIRATION_TIME=60
46+
TUS_URL_PATH=/upload/resumable
47+
TUS_URL_EXPIRY_MS=3600000
4348

49+
#######################################
4450
# Image Transformation
51+
#######################################
4552
ENABLE_IMAGE_TRANSFORMATION=true
4653
IMGPROXY_URL=http://localhost:50020
54+
IMG_LIMITS_MIN_SIZE=0
55+
IMG_LIMITS_MAX_SIZE=2000
4756

57+
ENABLE_RATE_LIMITER=false
58+
RATE_LIMITER_DRIVER=redis
59+
RATE_LIMITER_REDIS_URL=localhost:6379
60+
61+
#######################################
62+
# Storage Driver
63+
#######################################
64+
STORAGE_BACKEND=s3
65+
66+
#######################################
67+
# S3 Providers
68+
#######################################
69+
STORAGE_S3_BUCKET=name-of-your-s3-bucket
70+
STORAGE_S3_MAX_SOCKETS=200
71+
72+
# S3 Provider Configuration
73+
#
74+
# You can list more then one provider.
75+
# The convention is STORAGE_S3_PROVIDER_{PROVIDER_NAME}_{CONFIGURATION}
76+
# When specifying more than one provider you must also specify the default provider using STORAGE_S3_PROVIDER_{PROVIDER_NAME}_DEFAULT=true
77+
#
78+
# Example AWS S3 provider:
79+
#
80+
# STORAGE_S3_PROVIDER_AWS_ACCESS_KEY_ID=access_key_id
81+
# STORAGE_S3_PROVIDER_AWS_SECRET_ACCESS_KEY=secret_access_key
82+
# STORAGE_S3_PROVIDER_AWS_REGION=us-east-1
83+
84+
# Minio Provider Configuration
85+
STORAGE_S3_PROVIDER_MINIO_DEFAULT=true
86+
STORAGE_S3_PROVIDER_MINIO_ENDPOINT=http://127.0.0.1:9000
87+
STORAGE_S3_PROVIDER_MINIO_FORCE_PATH_STYLE=true
88+
STORAGE_S3_PROVIDER_MINIO_ACCESS_KEY_ID=supa-storage
89+
STORAGE_S3_PROVIDER_MINIO_SECRET_ACCESS_KEY=secret1234
90+
STORAGE_S3_PROVIDER_MINIO_REGION=us-east-1
91+
92+
#######################################
93+
# File Provider Configuration
94+
#######################################
95+
FILE_STORAGE_BACKEND_PATH=./data
96+
97+
#######################################
4898
# Queue
49-
WEBHOOK_URL=
99+
#######################################
50100
ENABLE_QUEUE_EVENTS=false
51101

52-
# Rate Limiter
53-
ENABLE_RATE_LIMITER=true
54-
RATE_LIMITER_DRIVER=redis
55-
RATE_LIMITER_REDIS_URL=localhost:6379
102+
#######################################
103+
# Webhooks
104+
#######################################
105+
WEBHOOK_URL=
106+
WEBHOOK_API_KEY=
107+
108+
#######################################
109+
# Monitoring
110+
#######################################
111+
LOG_LEVEL=info
112+
LOGFLARE_ENABLED=false
113+
LOGFLARE_API_KEY=api_key
114+
LOGFLARE_SOURCE_TOKEN=source_token
115+
ENABLED_DEFAULT_METRICS=true
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER table tenants ADD COLUMN s3_provider TEXT DEFAULT NULL;

0 commit comments

Comments
 (0)