add dockerfile
This commit is contained in:
parent
c386e48dcf
commit
9c9b773007
@ -0,0 +1,37 @@
|
|||||||
|
# Use Node 22 base image
|
||||||
|
FROM node:22-slim
|
||||||
|
|
||||||
|
# Set working directory
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Install system-level dependencies
|
||||||
|
RUN apt-get update -y && \
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
build-essential \
|
||||||
|
git \
|
||||||
|
inotify-tools \
|
||||||
|
ffmpeg \
|
||||||
|
mktorrent \
|
||||||
|
python3 \
|
||||||
|
python3-pip \
|
||||||
|
&& pip install --no-cache-dir torrentfile ultralytics \
|
||||||
|
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# Enable corepack
|
||||||
|
RUN corepack enable && corepack prepare pnpm@latest --activate
|
||||||
|
|
||||||
|
# Copy and install dependencies
|
||||||
|
COPY package.json pnpm-lock.yaml ./
|
||||||
|
RUN pnpm install --frozen-lockfile --prod
|
||||||
|
|
||||||
|
# Copy the rest of the code
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# Build the app
|
||||||
|
RUN pnpm run build
|
||||||
|
|
||||||
|
# Expose the port
|
||||||
|
EXPOSE 5000
|
||||||
|
|
||||||
|
# Start the app
|
||||||
|
CMD ["pnpm", "start"]
|
@ -42,7 +42,15 @@ services:
|
|||||||
|
|
||||||
|
|
||||||
our:
|
our:
|
||||||
image:
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
container_name: our-app
|
||||||
|
ports:
|
||||||
|
- "5000:5000"
|
||||||
|
env_file: .env.production ## @see ./src/config/env.ts for all env var names.
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
pgdata:
|
pgdata:
|
Loading…
x
Reference in New Issue
Block a user