@@ -169,11 +169,12 @@ services:
169
169
- anon
170
170
171
171
## Secure Realtime routes
172
- - name: realtime-v1
172
+ - name: realtime-v1-ws
173
173
_comment: 'Realtime: /realtime/v1/* -> ws://realtime:4000/socket/*'
174
- url: http://realtime-dev.supabase-realtime:4000/socket/
174
+ url: http://realtime-dev:4000/socket
175
+ protocol: ws
175
176
routes:
176
- - name: realtime-v1-all
177
+ - name: realtime-v1-ws
177
178
strip_path: true
178
179
paths:
179
180
- /realtime/v1/
@@ -188,6 +189,26 @@ services:
188
189
allow:
189
190
- admin
190
191
- anon
192
+ - name: realtime-v1-rest
193
+ _comment: 'Realtime: /realtime/v1/* -> ws://realtime:4000/socket/*'
194
+ url: http://realtime-dev:4000/api
195
+ protocol: http
196
+ routes:
197
+ - name: realtime-v1-rest
198
+ strip_path: true
199
+ paths:
200
+ - /realtime/v1/api
201
+ plugins:
202
+ - name: cors
203
+ - name: key-auth
204
+ config:
205
+ hide_credentials: false
206
+ - name: acl
207
+ config:
208
+ hide_groups_header: true
209
+ allow:
210
+ - admin
211
+ - anon
191
212
192
213
## Storage routes: the storage server manages its own auth
193
214
- name: storage-v1
@@ -257,7 +278,7 @@ services:
257
278
config:
258
279
hide_credentials: true
259
280
supabase-studio :
260
- image : supabase/studio:20240415-304bec8
281
+ image : supabase/studio:20240422-5cf8f30
261
282
healthcheck :
262
283
test :
263
284
[
@@ -293,7 +314,7 @@ services:
293
314
# Uncomment to use Big Query backend for analytics
294
315
# NEXT_ANALYTICS_BACKEND_PROVIDER=bigquery
295
316
supabase-db :
296
- image : supabase/postgres:15.1.0.147
317
+ image : supabase/postgres:15.1.1.41
297
318
healthcheck :
298
319
test : pg_isready -U postgres -h localhost
299
320
interval : 5s
@@ -572,6 +593,9 @@ services:
572
593
573
594
create schema if not exists _analytics;
574
595
alter schema _analytics owner to :pguser;
596
+ # Use named volume to persist pgsodium decryption key between restarts
597
+ - supabase-db-config:/etc/postgresql-custom
598
+
575
599
supabase-analytics :
576
600
image : supabase/logflare:1.4.0
577
601
healthcheck :
@@ -600,6 +624,7 @@ services:
600
624
- LOGFLARE_SINGLE_TENANT=true
601
625
- LOGFLARE_SINGLE_TENANT_MODE=true
602
626
- LOGFLARE_SUPABASE_MODE=true
627
+ - LOGFLARE_MIN_CLUSTER_SIZE=1
603
628
604
629
# Comment variables to use Big Query backend for analytics
605
630
- POSTGRES_BACKEND_URL=postgresql://supabase_admin:${SERVICE_PASSWORD_POSTGRES}@${POSTGRES_HOST:-supabase-db}:${POSTGRES_PORT:-5432}/${POSTGRES_DB:-postgres}
@@ -665,7 +690,7 @@ services:
665
690
kong: 'starts_with(string!(.appname), "supabase-kong")'
666
691
auth: 'starts_with(string!(.appname), "supabase-auth")'
667
692
rest: 'starts_with(string!(.appname), "supabase-rest")'
668
- realtime: 'starts_with(string!(.appname), "realtime-dev.supabase-realtime ")'
693
+ realtime: 'starts_with(string!(.appname), "realtime-dev")'
669
694
storage: 'starts_with(string!(.appname), "supabase-storage")'
670
695
functions: 'starts_with(string!(.appname), "supabase-functions")'
671
696
db: 'starts_with(string!(.appname), "supabase-db")'
@@ -797,7 +822,7 @@ services:
797
822
method: 'post'
798
823
request:
799
824
retry_max_duration_secs: 10
800
- uri: 'http://supabase-analytics:4000/api/logs?source_name=gotrue.logs.prod&api_key=${LOGFLARE_API_KEY}'
825
+ uri: 'http://supabase-analytics:4000/api/logs?source_name=gotrue.logs.prod&api_key=${LOGFLARE_API_KEY?LOGFLARE_API_KEY is required }'
801
826
logflare_realtime:
802
827
type: 'http'
803
828
inputs:
@@ -807,7 +832,7 @@ services:
807
832
method: 'post'
808
833
request:
809
834
retry_max_duration_secs: 10
810
- uri: 'http://supabase-analytics:4000/api/logs?source_name=realtime.logs.prod&api_key=${LOGFLARE_API_KEY}'
835
+ uri: 'http://supabase-analytics:4000/api/logs?source_name=realtime.logs.prod&api_key=${LOGFLARE_API_KEY?LOGFLARE_API_KEY is required }'
811
836
logflare_rest:
812
837
type: 'http'
813
838
inputs:
@@ -817,7 +842,7 @@ services:
817
842
method: 'post'
818
843
request:
819
844
retry_max_duration_secs: 10
820
- uri: 'http://supabase-analytics:4000/api/logs?source_name=postgREST.logs.prod&api_key=${LOGFLARE_API_KEY}'
845
+ uri: 'http://supabase-analytics:4000/api/logs?source_name=postgREST.logs.prod&api_key=${LOGFLARE_API_KEY?LOGFLARE_API_KEY is required }'
821
846
logflare_db:
822
847
type: 'http'
823
848
inputs:
@@ -830,7 +855,7 @@ services:
830
855
# We must route the sink through kong because ingesting logs before logflare is fully initialised will
831
856
# lead to broken queries from studio. This works by the assumption that containers are started in the
832
857
# following order: vector > db > logflare > kong
833
- uri: 'http://supabase-kong:8000/analytics/v1/api/logs?source_name=postgres.logs&api_key=${LOGFLARE_API_KEY}'
858
+ uri: 'http://supabase-kong:8000/analytics/v1/api/logs?source_name=postgres.logs&api_key=${LOGFLARE_API_KEY?LOGFLARE_API_KEY is required }'
834
859
logflare_functions:
835
860
type: 'http'
836
861
inputs:
@@ -840,7 +865,7 @@ services:
840
865
method: 'post'
841
866
request:
842
867
retry_max_duration_secs: 10
843
- uri: 'http://supabase-analytics:4000/api/logs?source_name=deno-relay-logs&api_key=${LOGFLARE_API_KEY}'
868
+ uri: 'http://supabase-analytics:4000/api/logs?source_name=deno-relay-logs&api_key=${LOGFLARE_API_KEY?LOGFLARE_API_KEY is required }'
844
869
logflare_storage:
845
870
type: 'http'
846
871
inputs:
@@ -850,7 +875,7 @@ services:
850
875
method: 'post'
851
876
request:
852
877
retry_max_duration_secs: 10
853
- uri: 'http://supabase-analytics:4000/api/logs?source_name=storage.logs.prod.2&api_key=${LOGFLARE_API_KEY}'
878
+ uri: 'http://supabase-analytics:4000/api/logs?source_name=storage.logs.prod.2&api_key=${LOGFLARE_API_KEY?LOGFLARE_API_KEY is required }'
854
879
logflare_kong:
855
880
type: 'http'
856
881
inputs:
@@ -861,7 +886,7 @@ services:
861
886
method: 'post'
862
887
request:
863
888
retry_max_duration_secs: 10
864
- uri: 'http://supabase-analytics:4000/api/logs?source_name=cloudflare.logs.prod&api_key=${LOGFLARE_API_KEY}'
889
+ uri: 'http://supabase-analytics:4000/api/logs?source_name=cloudflare.logs.prod&api_key=${LOGFLARE_API_KEY?LOGFLARE_API_KEY is required }'
865
890
866
891
- /var/run/docker.sock:/var/run/docker.sock:ro
867
892
environment :
@@ -887,7 +912,7 @@ services:
887
912
- PGRST_APP_SETTINGS_JWT_EXP=${JWT_EXPIRY:-3600}
888
913
command : " postgrest"
889
914
supabase-auth :
890
- image : supabase/gotrue:v2.145 .0
915
+ image : supabase/gotrue:v2.149 .0
891
916
depends_on :
892
917
supabase-db :
893
918
# Disable this if you are using an external Postgres database
@@ -926,6 +951,7 @@ services:
926
951
- GOTRUE_JWT_SECRET=${SERVICE_PASSWORD_JWT}
927
952
928
953
- GOTRUE_EXTERNAL_EMAIL_ENABLED=${ENABLE_EMAIL_SIGNUP:-true}
954
+ - GOTRUE_EXTERNAL_ANONYMOUS_USERS_ENABLED=${ENABLE_ANONYMOUS_USERS:-false}
929
955
- GOTRUE_MAILER_AUTOCONFIRM=${ENABLE_EMAIL_AUTOCONFIRM:-false}
930
956
# GOTRUE_MAILER_SECURE_EMAIL_CHANGE_ENABLED=true
931
957
# GOTRUE_SMTP_MAX_FREQUENCY=1s
@@ -953,9 +979,20 @@ services:
953
979
954
980
- GOTRUE_EXTERNAL_PHONE_ENABLED=${ENABLE_PHONE_SIGNUP:-true}
955
981
- GOTRUE_SMS_AUTOCONFIRM=${ENABLE_PHONE_AUTOCONFIRM:-true}
982
+ # Uncomment to enable custom access token hook. You'll need to create a public.custom_access_token_hook function and grant necessary permissions.
983
+ # See: https://supabase.com/docs/guides/auth/auth-hooks#hook-custom-access-token for details
984
+ # GOTRUE_HOOK_CUSTOM_ACCESS_TOKEN_ENABLED="true"
985
+ # GOTRUE_HOOK_CUSTOM_ACCESS_TOKEN_URI="pg-functions://postgres/public/custom_access_token_hook"
986
+
987
+ # GOTRUE_HOOK_MFA_VERIFICATION_ATTEMPT_ENABLED="true"
988
+ # GOTRUE_HOOK_MFA_VERIFICATION_ATTEMPT_URI="pg-functions://postgres/public/mfa_verification_attempt"
989
+
990
+ # GOTRUE_HOOK_PASSWORD_VERIFICATION_ATTEMPT_ENABLED="true"
991
+ # GOTRUE_HOOK_PASSWORD_VERIFICATION_ATTEMPT_URI="pg-functions://postgres/public/password_verification_attempt"
992
+
956
993
realtime-dev :
957
994
# This container name looks inconsistent but is correct because realtime constructs tenant id by parsing the subdomain
958
- image : supabase/realtime:v2.28.23
995
+ image : supabase/realtime:v2.28.32
959
996
container_name : realtime-dev.supabase-realtime
960
997
depends_on :
961
998
supabase-db :
@@ -1121,7 +1158,7 @@ services:
1121
1158
- PG_META_DB_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
1122
1159
1123
1160
supabase-edge-functions :
1124
- image : supabase/edge-runtime:v1.43 .2
1161
+ image : supabase/edge-runtime:v1.45 .2
1125
1162
depends_on :
1126
1163
supabase-analytics :
1127
1164
condition : service_healthy
0 commit comments