From bd76342f0e92e692f40d4bb4e749e7522dd927c0 Mon Sep 17 00:00:00 2001 From: Rotimi Best Date: Fri, 27 Sep 2024 02:50:27 +0100 Subject: [PATCH] chore: add new env DEPLOYMENT_PROVIDER --- apps/dashboard/.env.example | 1 + apps/dashboard/Dockerfile | 1 + apps/dashboard/svelte.config.js | 9 ++++----- docker-compose.yaml | 1 + supabase/migrations/20240717053936_rls.sql | 1 + turbo.json | 2 +- 6 files changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/dashboard/.env.example b/apps/dashboard/.env.example index 76655669..25b65ee5 100644 --- a/apps/dashboard/.env.example +++ b/apps/dashboard/.env.example @@ -5,6 +5,7 @@ PRIVATE_SUPABASE_SERVICE_ROLE= # Selfhosting - should be true if you are selfhosting IS_SELFHOSTED=false +DEPLOYMENT_PROVIDER= # docker or empty. empty will use adapter-auto for sveltekit build # Unsplash setup - Optional if you want to use Unsplash images UNSPLASH_API_KEY= diff --git a/apps/dashboard/Dockerfile b/apps/dashboard/Dockerfile index 6e30dc87..634b29a6 100644 --- a/apps/dashboard/Dockerfile +++ b/apps/dashboard/Dockerfile @@ -9,6 +9,7 @@ COPY ./pnpm-lock.yaml ./ # Set environment variables ENV IS_SELFHOSTED=true +ENV DEPLOYMENT_PROVIDER=docker ENV PUBLIC_SUPABASE_URL=$PUBLIC_SUPABASE_URL ENV PUBLIC_SUPABASE_ANON_KEY=$PUBLIC_SUPABASE_ANON_KEY ENV PRIVATE_SUPABASE_SERVICE_ROLE=$PRIVATE_SUPABASE_SERVICE_ROLE diff --git a/apps/dashboard/svelte.config.js b/apps/dashboard/svelte.config.js index 13e593bd..04d23b7b 100644 --- a/apps/dashboard/svelte.config.js +++ b/apps/dashboard/svelte.config.js @@ -1,13 +1,12 @@ import { vitePreprocess } from '@sveltejs/kit/vite'; -import adapter from '@sveltejs/adapter-auto'; +import adapterAuto from '@sveltejs/adapter-auto'; import adapterNode from '@sveltejs/adapter-node'; import path from 'path'; import 'dotenv/config'; -console.log('\n\n=======config: ', process.env.IS_SELFHOSTED); - -const useNodeAdapter = process.env.IS_SELFHOSTED === 'true'; +const useNodeAdapter = + process.env.IS_SELFHOSTED === 'true' && process.env.DEPLOYMENT_PROVIDER === 'docker'; /** @type {import('@sveltejs/kit').Config} */ const config = { @@ -16,7 +15,7 @@ const config = { preprocess: [vitePreprocess({})], kit: { - adapter: useNodeAdapter ? adapterNode() : adapter(), + adapter: useNodeAdapter ? adapterNode() : adapterAuto(), alias: { $lib: path.resolve('./src/lib'), $mail: path.resolve('./src/mail') diff --git a/docker-compose.yaml b/docker-compose.yaml index a557f79a..b7f084fb 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -52,6 +52,7 @@ services: # command: sh -c "npm install -g pnpm && rm -rf node_modules && yes | pnpm install --frozen-lockfile && cd apps/dashboard && pnpm build && pnpm start" environment: - IS_SELFHOSTED=true + - DEPLOYMENT_PROVIDER=docker # Supabase - Database - PUBLIC_SUPABASE_URL=${PUBLIC_SUPABASE_URL} - PUBLIC_SUPABASE_ANON_KEY=${PUBLIC_SUPABASE_ANON_KEY} diff --git a/supabase/migrations/20240717053936_rls.sql b/supabase/migrations/20240717053936_rls.sql index b4e7e0c3..b55c2a22 100644 --- a/supabase/migrations/20240717053936_rls.sql +++ b/supabase/migrations/20240717053936_rls.sql @@ -1067,6 +1067,7 @@ for UPDATE to public using ( (select auth.jwt()) ->> 'email' = email +) with check ( (select auth.jwt()) ->> 'email' = email ); diff --git a/turbo.json b/turbo.json index b77aba33..eb6c7e5d 100644 --- a/turbo.json +++ b/turbo.json @@ -1,6 +1,6 @@ { "$schema": "https://turbo.build/schema.json", - "globalEnv": ["IS_SELFHOSTED"], + "globalEnv": ["IS_SELFHOSTED", "DEPLOYMENT_PROVIDER"], "pipeline": { "build": { "dependsOn": ["^build"],