✨feature: Add docker support files
This commit is contained in:
5
.dockerignore
Normal file
5
.dockerignore
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
node_modules
|
||||||
|
dist
|
||||||
|
.env
|
||||||
|
.DS_Store
|
||||||
|
.vscode
|
||||||
19
Dockerfile
Normal file
19
Dockerfile
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# Dockerfile
|
||||||
|
FROM node:20-alpine
|
||||||
|
|
||||||
|
# Set working directory
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
COPY app/package*.json ./
|
||||||
|
RUN npm install
|
||||||
|
|
||||||
|
# Copy source
|
||||||
|
COPY app .
|
||||||
|
|
||||||
|
# Build the static site
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
# Serve with a lightweight server (e.g., serve)
|
||||||
|
RUN npm install -g serve
|
||||||
|
CMD ["serve", "dist", "-l", "3000"]
|
||||||
31
docker-compose.yml
Normal file
31
docker-compose.yml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
frontend:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
ports:
|
||||||
|
- "3333:3000"
|
||||||
|
volumes:
|
||||||
|
- ./app:/app
|
||||||
|
- ./app/node_modules
|
||||||
|
- ./.env:/app/.env:ro # Bind-mount .env as read-only
|
||||||
|
environment:
|
||||||
|
- NODE_ENV=production
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
supabase:
|
||||||
|
image: supabase/postgres:15
|
||||||
|
ports:
|
||||||
|
- "54322:5432"
|
||||||
|
volumes:
|
||||||
|
- supabase-data:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
POSTGRES_PASSWORD: ${SUPABASE_DB_PASSWORD}
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_DB: postgres
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
supabase-data:
|
||||||
Reference in New Issue
Block a user