Deployment Strategy: 4 environments + Docker setup

- Development: localhost (API:3002, UI:3003)
- Integration: AI model validation
- Pilot: pilot.landvex.com (Docker Compose)
- Production: app.landvex.com
- Intelligence Lab: lab.landvex.internal

Docker Compose:
- API (Node.js)
- UI (Nginx)
- PostgreSQL
- MinIO (object storage)

Next: Deploy pilot environment
This commit is contained in:
Bernt
2026-07-02 16:53:10 +00:00
parent 4edc1d89a7
commit 6c2b5ee340
6 changed files with 224 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
# LandveX API Environment Variables
# Server
PORT=3002
NODE_ENV=development
# Database (PostgreSQL - for PR-003B)
# DATABASE_URL=postgresql://user:pass@localhost:5432/landvex
# Object Storage (S3/R2 - for PR-003B)
# STORAGE_ENDPOINT=
# STORAGE_BUCKET=
# STORAGE_ACCESS_KEY=
# STORAGE_SECRET_KEY=
# Authentication (for PR-004B)
# JWT_SECRET=
# AUTH_ISSUER=
# Monitoring
# LOG_LEVEL=info
+18
View File
@@ -0,0 +1,18 @@
FROM node:20-alpine
WORKDIR /app
# Copy package files
COPY package*.json ./
RUN npm install --production
# Copy source
COPY . .
RUN npm run build
# Create uploads directory
RUN mkdir -p uploads
EXPOSE 3002
CMD ["node", "dist/index.js"]
+15
View File
@@ -0,0 +1,15 @@
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
+19
View File
@@ -0,0 +1,19 @@
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass http://api:3002;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}