DevOps Config
This commit is contained in:
4
.dockerignore
Normal file
4
.dockerignore
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
node_modules
|
||||||
|
dist
|
||||||
|
.env
|
||||||
|
.git
|
||||||
35
.gitignore
vendored
Normal file
35
.gitignore
vendored
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
|
||||||
|
# Dependencies
|
||||||
|
node_modules/
|
||||||
|
.bun/
|
||||||
|
bun.lockb # Optional: Keep this if you want consistent versions across team,
|
||||||
|
# but ignore if you want Bun to regenerate it locally.
|
||||||
|
|
||||||
|
# Build output
|
||||||
|
dist/
|
||||||
|
dist-ssr/
|
||||||
|
*.local
|
||||||
|
|
||||||
|
# Environment variables (Crucial for security!)
|
||||||
|
.env
|
||||||
|
.env.local
|
||||||
|
.env.*.local
|
||||||
|
|
||||||
|
# Docker logs and data
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
data/
|
||||||
|
letsencrypt/
|
||||||
|
mih_monitor/
|
||||||
|
|
||||||
|
# IDE / System files
|
||||||
|
.DS_Store
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.sw?
|
||||||
18
Dockerfile
Normal file
18
Dockerfile
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Stage 1: Build the app
|
||||||
|
FROM oven/bun:latest AS builder
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY package.json bun.lockb ./
|
||||||
|
RUN bun install
|
||||||
|
#--frozen-lockfile
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
RUN bun run build
|
||||||
|
|
||||||
|
# Stage 2: Serve with Nginx
|
||||||
|
FROM nginx:alpine
|
||||||
|
# Copy the build output from Vite (usually the 'dist' folder)
|
||||||
|
COPY --from=builder /app/dist /usr/share/nginx/html
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
41
docker-compose.yml
Normal file
41
docker-compose.yml
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
#============== React Application ====================================================================
|
||||||
|
app-frontend:
|
||||||
|
build: .
|
||||||
|
container_name: golden-silk-app
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "8080:80" # This allows access via http://localhost:8080
|
||||||
|
networks:
|
||||||
|
- taylor-network
|
||||||
|
#============== Proxy Manager ====================================================================
|
||||||
|
nginx-proxy:
|
||||||
|
image: 'jc21/nginx-proxy-manager:latest'
|
||||||
|
container_name: nginx-proxy-manager
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- '80:80' # Public HTTP
|
||||||
|
- '443:443' # Public HTTPS
|
||||||
|
- '81:81' # Admin UI
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
- ./letsencrypt:/etc/letsencrypt
|
||||||
|
networks:
|
||||||
|
- taylor-network
|
||||||
|
#============== MIH-Monitor Portainer ====================================================================
|
||||||
|
mih-monitor:
|
||||||
|
container_name: mih-monitor
|
||||||
|
image: portainer/portainer-ce:2.20.3
|
||||||
|
ports:
|
||||||
|
- 9444:9443
|
||||||
|
volumes:
|
||||||
|
- ./mih_monitor/data:/data
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- taylor-network
|
||||||
|
networks:
|
||||||
|
taylor-network:
|
||||||
|
driver: bridge
|
||||||
Reference in New Issue
Block a user