diff --git a/.gitpod.yml b/.gitpod.yml
new file mode 100644
index 000000000..65f629afd
--- /dev/null
+++ b/.gitpod.yml
@@ -0,0 +1,13 @@
+tasks:
+ - name: Start Logto
+ init: |
+ docker-compose pull
+ command: |
+ ENDPOINT=$(gp url 3001) docker compose -p logto up
+ env:
+ TAG: prerelease
+
+ports:
+ - name: Logto
+ description: The Logto core service
+ port: 3001
diff --git a/README.md b/README.md
index 88fc20cff..397b8c62b 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,9 @@
+
+
+
diff --git a/docker-compose.yml b/docker-compose.yml
index 5044a2278..04ea93e27 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -3,16 +3,24 @@ version: "3.9"
services:
app:
depends_on:
- - postgres
+ postgres:
+ condition: service_healthy
image: ghcr.io/logto-io/logto:${TAG-latest}
ports:
- 3001:3001
environment:
- ALL_YES: 1
- NO_INQUIRY: 0
- DB_URL_DEFAULT: postgres://postgres:p0stgr3s@postgres:5432
+ - ALL_YES=1
+ - NO_INQUIRY=0
+ - TRUST_PROXY_HEADER=1
+ - DB_URL_DEFAULT=postgres://postgres:p0stgr3s@postgres:5432
+ - ENDPOINT
postgres:
image: postgres:14-alpine
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: p0stgr3s
+ healthcheck:
+ test: ["CMD-SHELL", "pg_isready"]
+ interval: 10s
+ timeout: 5s
+ retries: 5
diff --git a/packages/core/src/env-set/index.ts b/packages/core/src/env-set/index.ts
index c7a609156..538fbea43 100644
--- a/packages/core/src/env-set/index.ts
+++ b/packages/core/src/env-set/index.ts
@@ -5,6 +5,7 @@ import { appendPath } from '@/utils/url';
import createPoolByEnv from './create-pool-by-env';
import loadOidcValues from './oidc';
+import { isTrue } from './parameters';
export enum MountedApps {
Api = 'api',
@@ -32,7 +33,7 @@ const loadEnvValues = async () => {
localhostUrl,
endpoint,
developmentUserId: getEnv('DEVELOPMENT_USER_ID'),
- trustProxyHeader: getEnv('TRUST_PROXY_HEADER') === 'true',
+ trustProxyHeader: isTrue(getEnv('TRUST_PROXY_HEADER')),
oidc: await loadOidcValues(appendPath(endpoint, '/oidc').toString()),
adminConsoleUrl: appendPath(endpoint, '/console'),
});
diff --git a/packages/core/src/env-set/parameters.ts b/packages/core/src/env-set/parameters.ts
index 667847af8..6b4d8af8a 100644
--- a/packages/core/src/env-set/parameters.ts
+++ b/packages/core/src/env-set/parameters.ts
@@ -1,6 +1,6 @@
import { getEnv } from '@silverhand/essentials';
-const isTrue = (value: string) => ['1', 'true', 'y', 'yes', 'yep', 'yeah'].includes(value);
+export const isTrue = (value: string) => ['1', 'true', 'y', 'yes', 'yep', 'yeah'].includes(value);
const parameters = new Set(process.argv.slice(2));
export const noInquiry = parameters.has('--no-inquiry') || isTrue(getEnv('NO_INQUIRY'));