From d44d9445179710277efe10528ea192edf844ebaf Mon Sep 17 00:00:00 2001 From: root Date: Sun, 3 May 2026 16:44:58 +0000 Subject: [PATCH] Add deployment config files and supabaseClient lock fix --- Caddyfile | 6 ++++++ Dockerfile | 13 +++++++++++++ docker-compose.app.yml | 21 +++++++++++++++++++++ src/supabaseClient.js | 5 +++++ 4 files changed, 45 insertions(+) create mode 100644 Caddyfile create mode 100644 Dockerfile create mode 100644 docker-compose.app.yml diff --git a/Caddyfile b/Caddyfile new file mode 100644 index 0000000..90321ea --- /dev/null +++ b/Caddyfile @@ -0,0 +1,6 @@ +:80 + +root * /usr/share/caddy +file_server + +try_files {path} /index.html diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3b71083 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +# Build stage +FROM node:20-alpine AS build +WORKDIR /app +COPY package*.json ./ +RUN npm ci +COPY . . +RUN npm run build + +# Serve stage +FROM caddy:2-alpine +COPY --from=build /app/dist /usr/share/caddy +COPY Caddyfile /etc/caddy/Caddyfile +EXPOSE 80 diff --git a/docker-compose.app.yml b/docker-compose.app.yml new file mode 100644 index 0000000..545ba61 --- /dev/null +++ b/docker-compose.app.yml @@ -0,0 +1,21 @@ +services: + supersam-app: + build: + context: /opt/supersam + dockerfile: Dockerfile + container_name: supersam-app + restart: unless-stopped + networks: + - coolify + labels: + - traefik.enable=true + - traefik.http.routers.supersam-app.rule=Host(`dost.supersamsev.ru`) + - traefik.http.routers.supersam-app.entryPoints=https + - traefik.http.routers.supersam-app.tls=true + - traefik.http.routers.supersam-app.tls.certresolver=letsencrypt + - traefik.http.routers.supersam-app.service=supersam-app + - traefik.http.services.supersam-app.loadbalancer.server.port=80 + +networks: + coolify: + external: true diff --git a/src/supabaseClient.js b/src/supabaseClient.js index 8ed4adc..4553b3d 100644 --- a/src/supabaseClient.js +++ b/src/supabaseClient.js @@ -10,6 +10,11 @@ export const supabase = hasSupabaseConfig auth: { persistSession: true, autoRefreshToken: true, + detectSessionInUrl: false, + lock: navigator.locks ? undefined : 'no-lock', + }, + global: { + headers: { 'x-application-name': 'supersam' }, }, }) : null;