51 Commits

Author SHA1 Message Date
lunarfront-bot
5df914a40f chore: bump version to v0.0.28
All checks were successful
Build & Release / build (push) Has been skipped
2026-04-04 00:47:43 +00:00
Ryan Moon
1f8002629f fix: add libstdc++ to runtime image for bun compiled binary
All checks were successful
Build & Release / build (push) Successful in 1m52s
2026-04-03 19:45:48 -05:00
lunarfront-bot
ff2e4586f3 chore: bump version to v0.0.27
All checks were successful
Build & Release / build (push) Has been skipped
2026-04-04 00:36:04 +00:00
Ryan Moon
019867f1fa fix: update GIT_REMOTE to git.lunarfront.tech
Some checks failed
Build & Release / build (push) Has been cancelled
2026-04-03 19:35:45 -05:00
Ryan Moon
48d49a068a fix: include chart files in version bump commit to prevent rebase conflict
Some checks failed
Build & Release / build (push) Failing after 16s
2026-04-03 19:34:31 -05:00
11f81cfd8e Merge pull request 'feat: add Helm chart and switch image builds to DOCR' (#3) from fix/ci-only-on-pr into main
Some checks failed
Build & Release / build (push) Failing after 16s
Reviewed-on: #3
2026-04-03 23:56:55 +00:00
Ryan Moon
1601e0f849 feat: add Helm chart and switch image builds to DOCR
All checks were successful
CI / ci (pull_request) Successful in 18s
CI / e2e (pull_request) Successful in 1m1s
- Add chart/ with backend, frontend, valkey deployments, services, and ingress
- Update nginx.conf to use BACKEND_URL env var via envsubst
- Update Dockerfile.frontend to use nginx template mechanism
- Build.yml: switch Docker registry from Gitea to DOCR, add helm package+push step
2026-04-03 18:53:47 -05:00
lunarfront-bot
0e3a8d7504 chore: bump version to v0.0.26
All checks were successful
Build & Release / build (push) Has been skipped
2026-04-03 01:36:38 +00:00
Ryan Moon
87456e3aac fix: add DOCKER_HOST to build job env
Some checks failed
Build & Release / build (push) Has been cancelled
2026-04-02 20:28:27 -05:00
d7249088e9 Merge pull request 'fix: use REGISTRY and GIT_REMOTE vars, point to git2.lunarfront.tech' (#2) from fix/ci-only-on-pr into main
Some checks failed
Build & Release / build (push) Failing after 8s
Reviewed-on: https://git2.lunarfront.tech/ryan/lunarfront-app/pulls/2
2026-04-03 01:27:02 +00:00
Ryan Moon
59ea9557d1 fix: use REGISTRY and GIT_REMOTE vars, point to git2.lunarfront.tech
All checks were successful
CI / ci (pull_request) Successful in 1m27s
CI / e2e (pull_request) Successful in 1m18s
2026-04-02 19:50:53 -05:00
628c090dfd Merge pull request 'fix/ci-only-on-pr' (#1) from fix/ci-only-on-pr into main
Some checks failed
Build & Release / build (push) Failing after 7s
Reviewed-on: https://git2.lunarfront.tech/ryan/lunarfront-app/pulls/1
2026-04-03 00:47:43 +00:00
Ryan Moon
9fc42b7881 fix: set DOCKER_HOST for e2e job to use dind TCP endpoint
All checks were successful
CI / ci (pull_request) Successful in 29s
CI / e2e (pull_request) Successful in 58s
2026-04-02 19:09:30 -05:00
Ryan Moon
ce3ac3dfc0 fix: allow backend package.json through frontend dockerignore for workspace resolution 2026-04-02 07:01:21 -05:00
Ryan Moon
75bc10fe3c fix: add concurrency group to prevent build runs from cancelling each other 2026-04-02 06:53:24 -05:00
Ryan Moon
d821302439 fix: copy backend package.json in frontend Dockerfile for workspace resolution 2026-04-01 22:16:23 -05:00
Ryan Moon
8eb116a9a1 fix: move Docker builds before version bump commit to prevent self-cancellation 2026-04-01 22:14:10 -05:00
Ryan Moon
038ea22068 fix: exclude admin src from Docker context but keep package.json for workspace resolution 2026-04-01 22:10:54 -05:00
Ryan Moon
c236059ce1 fix: use --filter to install only backend workspace, avoiding missing admin package.json 2026-04-01 22:10:14 -05:00
Ryan Moon
67f8881b3c fix: copy admin package.json in backend Dockerfile for workspace resolution 2026-04-01 22:04:29 -05:00
Ryan Moon
1df4bb15a8 fix: remove redundant Docker CLI install — catthehacker image includes it 2026-04-01 21:55:58 -05:00
Ryan Moon
ddabcf19d1 fix: rebase before pushing version bump to avoid race with CI 2026-04-01 21:52:37 -05:00
Ryan Moon
9c8ceba461 fix: only run CI on pull requests, not on push to main 2026-04-01 21:47:20 -05:00
lunarfront-bot
384f985a77 chore: bump version to v0.0.25
Some checks failed
Build & Release / build (push) Has been skipped
CI / ci (push) Successful in 1m37s
CI / e2e (push) Failing after 5s
2026-04-02 02:45:21 +00:00
ryan
5b56a2c219 Merge pull request 'feat/ci-cd-pipeline' (#5) from feat/ci-cd-pipeline into main
Reviewed-on: #5
2026-04-02 02:45:05 +00:00
lunarfront-bot
97638b888e chore: bump version to v0.0.24 2026-04-02 01:07:20 +00:00
ryan
6852a79f87 Merge pull request 'fix: skip build workflow on version bump commits' (#3) from feat/ci-cd-pipeline into main
Reviewed-on: #3
2026-04-02 01:06:44 +00:00
lunarfront-bot
a561b184e1 chore: bump version to v0.0.23 2026-04-02 01:06:36 +00:00
lunarfront-bot
7864c07be1 chore: bump version to v0.0.22 2026-04-02 01:06:10 +00:00
lunarfront-bot
1e38d69b21 chore: bump version to v0.0.21 2026-04-02 01:05:45 +00:00
lunarfront-bot
eb9e669233 chore: bump version to v0.0.20 2026-04-02 01:05:20 +00:00
lunarfront-bot
13db5ce5f1 chore: bump version to v0.0.19 2026-04-02 01:04:52 +00:00
lunarfront-bot
babfccaa1b chore: bump version to v0.0.18 2026-04-02 01:04:24 +00:00
lunarfront-bot
1aa29dfb31 chore: bump version to v0.0.17 2026-04-02 01:04:02 +00:00
lunarfront-bot
efb55bc784 chore: bump version to v0.0.16 2026-04-02 01:03:40 +00:00
lunarfront-bot
9cdb2cf427 chore: bump version to v0.0.15 2026-04-02 01:03:19 +00:00
lunarfront-bot
135b88029a chore: bump version to v0.0.14 2026-04-02 01:02:59 +00:00
lunarfront-bot
23df7feaf1 chore: bump version to v0.0.13 2026-04-02 01:02:38 +00:00
lunarfront-bot
2e2832b1e3 chore: bump version to v0.0.12 2026-04-02 01:02:24 +00:00
lunarfront-bot
dd846bc86a chore: bump version to v0.0.11 2026-04-02 01:02:11 +00:00
lunarfront-bot
25e9177554 chore: bump version to v0.0.10 2026-04-02 01:01:51 +00:00
lunarfront-bot
cfd1561de9 chore: bump version to v0.0.9 2026-04-02 01:01:29 +00:00
lunarfront-bot
6304d14e56 chore: bump version to v0.0.8 2026-04-02 01:01:07 +00:00
lunarfront-bot
e4fe42c6ec chore: bump version to v0.0.7 2026-04-02 01:00:42 +00:00
lunarfront-bot
27a9900787 chore: bump version to v0.0.6 2026-04-02 01:00:15 +00:00
lunarfront-bot
90cbff0611 chore: bump version to v0.0.5 2026-04-02 00:59:46 +00:00
lunarfront-bot
ddae05dc3f chore: bump version to v0.0.4 2026-04-02 00:59:22 +00:00
lunarfront-bot
12fa36a7b0 chore: bump version to v0.0.3 2026-04-02 00:59:00 +00:00
lunarfront-bot
fc7d92e33f chore: bump version to v0.0.2 2026-04-02 00:58:35 +00:00
ryan
8f941381f9 Merge pull request 'fix: use node script for version bump instead of npm version' (#2) from feat/ci-cd-pipeline into main
Reviewed-on: #2
2026-04-02 00:58:19 +00:00
ryan
83b48cb3be Merge pull request 'feat: add CI/CD pipeline, production Dockerfile, and deployment architecture' (#1) from feat/ci-cd-pipeline into main
Reviewed-on: #1
2026-04-02 00:52:02 +00:00
18 changed files with 310 additions and 42 deletions

View File

@@ -6,6 +6,7 @@ planning
deploy deploy
infra infra
packages/admin packages/admin
!packages/admin/package.json
Dockerfile* Dockerfile*
docker-compose* docker-compose*
*.md *.md

View File

@@ -5,10 +5,18 @@ on:
branches: [main] branches: [main]
workflow_dispatch: workflow_dispatch:
concurrency:
group: build
cancel-in-progress: false
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: "!startsWith(github.event.head_commit.message, 'chore: bump version')" if: "!startsWith(github.event.head_commit.message, 'chore: bump version')"
env:
REGISTRY: registry.digitalocean.com/lunarfront
GIT_REMOTE: git.lunarfront.tech
DOCKER_HOST: tcp://localhost:2375
steps: steps:
- name: Checkout - name: Checkout
@@ -45,27 +53,8 @@ jobs:
") ")
echo "version=$VERSION" >> $GITHUB_OUTPUT echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Commit version bump - name: Login to DOCR
run: | run: echo "${{ secrets.DOCR_TOKEN }}" | docker login registry.digitalocean.com -u token --password-stdin
git config user.name "lunarfront-bot"
git config user.email "bot@lunarfront.tech"
git remote set-url origin https://lunarfront-bot:${{ secrets.BOT_TOKEN }}@git.lunarfront.tech/ryan/lunarfront-app.git
git add packages/backend/package.json
git commit -m "chore: bump version to v${{ steps.version.outputs.version }}"
git push origin main
- name: Install Docker CLI
run: |
apt-get update -qq
apt-get install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo $VERSION_CODENAME) stable" > /etc/apt/sources.list.d/docker.list
apt-get update -qq
apt-get install -y docker-ce-cli
- name: Login to registry
run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login registry.lunarfront.tech -u ryan --password-stdin
- name: Build and push backend - name: Build and push backend
run: | run: |
@@ -73,27 +62,53 @@ jobs:
SHA=$(git rev-parse --short HEAD) SHA=$(git rev-parse --short HEAD)
docker build \ docker build \
--build-arg APP_VERSION=$VERSION \ --build-arg APP_VERSION=$VERSION \
-t registry.lunarfront.tech/ryan/lunarfront-app:$VERSION \ -t $REGISTRY/lunarfront-app:$VERSION \
-t registry.lunarfront.tech/ryan/lunarfront-app:$SHA \ -t $REGISTRY/lunarfront-app:$SHA \
-t registry.lunarfront.tech/ryan/lunarfront-app:latest \ -t $REGISTRY/lunarfront-app:latest \
-f Dockerfile . -f Dockerfile .
docker push registry.lunarfront.tech/ryan/lunarfront-app:$VERSION docker push $REGISTRY/lunarfront-app:$VERSION
docker push registry.lunarfront.tech/ryan/lunarfront-app:$SHA docker push $REGISTRY/lunarfront-app:$SHA
docker push registry.lunarfront.tech/ryan/lunarfront-app:latest docker push $REGISTRY/lunarfront-app:latest
- name: Build and push frontend - name: Build and push frontend
run: | run: |
VERSION=${{ steps.version.outputs.version }} VERSION=${{ steps.version.outputs.version }}
SHA=$(git rev-parse --short HEAD) SHA=$(git rev-parse --short HEAD)
docker build \ docker build \
-t registry.lunarfront.tech/ryan/lunarfront-frontend:$VERSION \ -t $REGISTRY/lunarfront-frontend:$VERSION \
-t registry.lunarfront.tech/ryan/lunarfront-frontend:$SHA \ -t $REGISTRY/lunarfront-frontend:$SHA \
-t registry.lunarfront.tech/ryan/lunarfront-frontend:latest \ -t $REGISTRY/lunarfront-frontend:latest \
-f Dockerfile.frontend . -f Dockerfile.frontend .
docker push registry.lunarfront.tech/ryan/lunarfront-frontend:$VERSION docker push $REGISTRY/lunarfront-frontend:$VERSION
docker push registry.lunarfront.tech/ryan/lunarfront-frontend:$SHA docker push $REGISTRY/lunarfront-frontend:$SHA
docker push registry.lunarfront.tech/ryan/lunarfront-frontend:latest docker push $REGISTRY/lunarfront-frontend:latest
- name: Install Helm
run: |
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
- name: Package and push Helm chart
run: |
VERSION=${{ steps.version.outputs.version }}
# Update chart version to match app version
sed -i "s/^version:.*/version: $VERSION/" chart/Chart.yaml
sed -i "s/^appVersion:.*/appVersion: \"$VERSION\"/" chart/Chart.yaml
# Update default image tags in values.yaml to this version
sed -i "s|tag: latest|tag: $VERSION|g" chart/values.yaml
helm registry login registry.digitalocean.com -u token --password "${{ secrets.DOCR_TOKEN }}"
helm package chart/
helm push lunarfront-$VERSION.tgz oci://registry.digitalocean.com/lunarfront
- name: Commit version bump
run: |
git config user.name "lunarfront-bot"
git config user.email "bot@lunarfront.tech"
git remote set-url origin https://lunarfront-bot:${{ secrets.BOT_TOKEN }}@$GIT_REMOTE/ryan/lunarfront-app.git
git add packages/backend/package.json chart/Chart.yaml chart/values.yaml
git commit -m "chore: bump version to v${{ steps.version.outputs.version }}"
git pull --rebase origin main
git push origin main
- name: Logout - name: Logout
if: always() if: always()
run: docker logout registry.lunarfront.tech run: docker logout registry.digitalocean.com

View File

@@ -1,8 +1,6 @@
name: CI name: CI
on: on:
push:
branches: [main]
pull_request: pull_request:
branches: [main] branches: [main]
workflow_dispatch: workflow_dispatch:
@@ -32,6 +30,8 @@ jobs:
e2e: e2e:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: ci needs: ci
env:
DOCKER_HOST: tcp://localhost:2375
steps: steps:
- name: Checkout - name: Checkout

View File

@@ -3,6 +3,7 @@ WORKDIR /app
COPY package.json bun.lock ./ COPY package.json bun.lock ./
COPY packages/shared/package.json packages/shared/ COPY packages/shared/package.json packages/shared/
COPY packages/backend/package.json packages/backend/ COPY packages/backend/package.json packages/backend/
COPY packages/admin/package.json packages/admin/
RUN bun install --frozen-lockfile RUN bun install --frozen-lockfile
FROM oven/bun:1.3.11-alpine AS build FROM oven/bun:1.3.11-alpine AS build
@@ -20,7 +21,7 @@ RUN bun build src/main.ts --compile --outfile /app/server \
--define "process.env.APP_VERSION='${APP_VERSION}'" --define "process.env.APP_VERSION='${APP_VERSION}'"
FROM alpine:3.21 FROM alpine:3.21
RUN addgroup -S app && adduser -S app -G app RUN apk add --no-cache libstdc++ && addgroup -S app && adduser -S app -G app
WORKDIR /app WORKDIR /app
COPY --from=build /app/server ./server COPY --from=build /app/server ./server
COPY --from=build /app/packages/backend/src/db/migrations ./migrations COPY --from=build /app/packages/backend/src/db/migrations ./migrations

View File

@@ -3,6 +3,7 @@ WORKDIR /app
COPY package.json bun.lock ./ COPY package.json bun.lock ./
COPY packages/shared/package.json packages/shared/ COPY packages/shared/package.json packages/shared/
COPY packages/admin/package.json packages/admin/ COPY packages/admin/package.json packages/admin/
COPY packages/backend/package.json packages/backend/
RUN bun install --frozen-lockfile RUN bun install --frozen-lockfile
FROM oven/bun:1.3.11-alpine AS build FROM oven/bun:1.3.11-alpine AS build
@@ -19,6 +20,8 @@ RUN bun run build
FROM nginx:alpine FROM nginx:alpine
COPY --from=build /app/packages/admin/dist /usr/share/nginx/html COPY --from=build /app/packages/admin/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf # nginx docker image processes templates in /etc/nginx/templates/ with envsubst at startup
COPY nginx.conf /etc/nginx/templates/default.conf.template
ENV BACKEND_URL=http://localhost:8000
EXPOSE 80 EXPOSE 80
CMD ["nginx", "-g", "daemon off;"] CMD ["nginx", "-g", "daemon off;"]

View File

@@ -6,6 +6,7 @@ planning
deploy deploy
infra infra
packages/backend packages/backend
!packages/backend/package.json
Dockerfile* Dockerfile*
docker-compose* docker-compose*
*.md *.md

6
chart/Chart.yaml Normal file
View File

@@ -0,0 +1,6 @@
apiVersion: v2
name: lunarfront
description: LunarFront small business management platform
type: application
version: 0.0.28
appVersion: "0.0.28"

View File

@@ -0,0 +1,8 @@
{{- define "lunarfront.name" -}}
{{- .Release.Name }}
{{- end }}
{{- define "lunarfront.labels" -}}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}

View File

@@ -0,0 +1,59 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-backend
namespace: {{ .Release.Namespace }}
labels:
{{- include "lunarfront.labels" . | nindent 4 }}
spec:
replicas: 1
selector:
matchLabels:
app: {{ .Release.Name }}-backend
template:
metadata:
labels:
app: {{ .Release.Name }}-backend
spec:
imagePullSecrets:
{{- toYaml .Values.imagePullSecrets | nindent 8 }}
containers:
- name: backend
image: "{{ .Values.backend.image.repository }}:{{ .Values.backend.image.tag }}"
imagePullPolicy: {{ .Values.backend.image.pullPolicy }}
ports:
- containerPort: {{ .Values.backend.port }}
env:
- name: PORT
value: {{ .Values.backend.port | quote }}
- name: NODE_ENV
value: production
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: lunarfront-secrets
key: database-url
- name: REDIS_URL
valueFrom:
secretKeyRef:
name: lunarfront-secrets
key: redis-url
- name: JWT_SECRET
valueFrom:
secretKeyRef:
name: lunarfront-secrets
key: jwt-secret
livenessProbe:
httpGet:
path: /v1/health
port: {{ .Values.backend.port }}
initialDelaySeconds: 15
periodSeconds: 30
readinessProbe:
httpGet:
path: /v1/health
port: {{ .Values.backend.port }}
initialDelaySeconds: 5
periodSeconds: 10
resources:
{{- toYaml .Values.backend.resources | nindent 12 }}

View File

@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}-backend
namespace: {{ .Release.Namespace }}
labels:
{{- include "lunarfront.labels" . | nindent 4 }}
spec:
selector:
app: {{ .Release.Name }}-backend
ports:
- port: {{ .Values.backend.port }}
targetPort: {{ .Values.backend.port }}

View File

@@ -0,0 +1,30 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-frontend
namespace: {{ .Release.Namespace }}
labels:
{{- include "lunarfront.labels" . | nindent 4 }}
spec:
replicas: 1
selector:
matchLabels:
app: {{ .Release.Name }}-frontend
template:
metadata:
labels:
app: {{ .Release.Name }}-frontend
spec:
imagePullSecrets:
{{- toYaml .Values.imagePullSecrets | nindent 8 }}
containers:
- name: frontend
image: "{{ .Values.frontend.image.repository }}:{{ .Values.frontend.image.tag }}"
imagePullPolicy: {{ .Values.frontend.image.pullPolicy }}
ports:
- containerPort: {{ .Values.frontend.port }}
env:
- name: BACKEND_URL
value: "http://{{ .Release.Name }}-backend:{{ .Values.backend.port }}"
resources:
{{- toYaml .Values.frontend.resources | nindent 12 }}

View File

@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}-frontend
namespace: {{ .Release.Namespace }}
labels:
{{- include "lunarfront.labels" . | nindent 4 }}
spec:
selector:
app: {{ .Release.Name }}-frontend
ports:
- port: 80
targetPort: {{ .Values.frontend.port }}

View File

@@ -0,0 +1,29 @@
{{- if .Values.ingress.host }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ .Release.Name }}
namespace: {{ .Release.Namespace }}
labels:
{{- include "lunarfront.labels" . | nindent 4 }}
annotations:
kubernetes.io/ingress.class: {{ .Values.ingress.className }}
cert-manager.io/cluster-issuer: {{ .Values.ingress.tlsIssuer }}
spec:
ingressClassName: {{ .Values.ingress.className }}
tls:
- hosts:
- {{ .Values.ingress.host }}
secretName: {{ .Release.Name }}-tls
rules:
- host: {{ .Values.ingress.host }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ .Release.Name }}-frontend
port:
number: 80
{{- end }}

View File

@@ -0,0 +1,24 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-valkey
namespace: {{ .Release.Namespace }}
labels:
{{- include "lunarfront.labels" . | nindent 4 }}
spec:
replicas: 1
selector:
matchLabels:
app: {{ .Release.Name }}-valkey
template:
metadata:
labels:
app: {{ .Release.Name }}-valkey
spec:
containers:
- name: valkey
image: "{{ .Values.valkey.image.repository }}:{{ .Values.valkey.image.tag }}"
ports:
- containerPort: {{ .Values.valkey.port }}
resources:
{{- toYaml .Values.valkey.resources | nindent 12 }}

View File

@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}-valkey
namespace: {{ .Release.Namespace }}
labels:
{{- include "lunarfront.labels" . | nindent 4 }}
spec:
selector:
app: {{ .Release.Name }}-valkey
ports:
- port: {{ .Values.valkey.port }}
targetPort: {{ .Values.valkey.port }}

52
chart/values.yaml Normal file
View File

@@ -0,0 +1,52 @@
backend:
image:
repository: registry.digitalocean.com/lunarfront/lunarfront-app
tag: 0.0.27
pullPolicy: Always
port: 8000
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 1000m
memory: 512Mi
frontend:
image:
repository: registry.digitalocean.com/lunarfront/lunarfront-frontend
tag: 0.0.27
pullPolicy: Always
port: 80
resources:
requests:
cpu: 50m
memory: 64Mi
limits:
cpu: 200m
memory: 128Mi
valkey:
image:
repository: valkey/valkey
tag: "8"
port: 6379
resources:
requests:
cpu: 50m
memory: 64Mi
limits:
cpu: 200m
memory: 128Mi
ingress:
host: ""
className: nginx
tlsIssuer: letsencrypt
imagePullSecrets:
- name: registry-lunarfront
# Secrets are expected to exist in-namespace as 'lunarfront-secrets' with keys:
# database-url, jwt-secret, redis-url
# These are created by the manager during provisioning, not by this chart.

View File

@@ -3,9 +3,9 @@ server {
root /usr/share/nginx/html; root /usr/share/nginx/html;
index index.html; index index.html;
# Proxy API and WebDAV to backend # Proxy API and WebDAV to backend — BACKEND_URL injected at runtime via envsubst
location /v1/ { location /v1/ {
proxy_pass http://localhost:8000; proxy_pass ${BACKEND_URL};
proxy_http_version 1.1; proxy_http_version 1.1;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
@@ -14,7 +14,7 @@ server {
} }
location /webdav/ { location /webdav/ {
proxy_pass http://localhost:8000; proxy_pass ${BACKEND_URL};
proxy_http_version 1.1; proxy_http_version 1.1;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;

View File

@@ -1,6 +1,6 @@
{ {
"name": "@lunarfront/backend", "name": "@lunarfront/backend",
"version": "0.0.1", "version": "0.0.28",
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {