Add docker stuff
This commit is contained in:
parent
991fd13184
commit
c010ea4ea7
36
docker/Dockerfile
Normal file
36
docker/Dockerfile
Normal file
@ -0,0 +1,36 @@
|
||||
# Stage 1: Build the project
|
||||
FROM node:18 as builder
|
||||
|
||||
# Set the working directory in the container
|
||||
WORKDIR /app
|
||||
|
||||
# Copy package.json and pnpm-lock.yaml or package-lock.json (if using npm) to the working directory
|
||||
COPY ../package.json ../pnpm-lock.yaml ./
|
||||
|
||||
# Install dependencies
|
||||
RUN npm install -g pnpm
|
||||
RUN pnpm install
|
||||
|
||||
# Copy project files into the docker image
|
||||
COPY ../ .
|
||||
|
||||
# Build the project
|
||||
RUN pnpm run build
|
||||
|
||||
# Stage 2: Serve the app using a lightweight node image
|
||||
FROM node:16-alpine
|
||||
|
||||
# Install a simple http server
|
||||
RUN npm install -g serve
|
||||
|
||||
# Set the working directory to /app
|
||||
WORKDIR /app
|
||||
|
||||
# Copy built assets from the builder stage
|
||||
COPY --from=builder /app/dist /app
|
||||
|
||||
# Expose port 5000 for the server
|
||||
EXPOSE 5000
|
||||
|
||||
# Start the server using the `serve` package
|
||||
CMD ["serve", "-s", ".", "-l", "5000"]
|
23
docker/docker-compose.yml
Normal file
23
docker/docker-compose.yml
Normal file
@ -0,0 +1,23 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
bang-web-server:
|
||||
build:
|
||||
context: ../ # point to the parent directory where package.json and source code reside
|
||||
dockerfile: docker/Dockerfile # specific path to the Dockerfile
|
||||
container_name: bang
|
||||
domainname: bang.gbrown.org
|
||||
hostname: bang
|
||||
networks:
|
||||
- node_apps
|
||||
ports:
|
||||
- "5000:5000"
|
||||
tty: true
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ../:/app # mount the parent directory to /app in the container
|
||||
command: serve -s /app -l 5000
|
||||
|
||||
networks:
|
||||
node_apps:
|
||||
external: true
|
Loading…
x
Reference in New Issue
Block a user