build: add comprehensive docker files for frontend & backend

Update docker-compose.yml to include new Dockerfiles
This commit is contained in:
2026-02-22 21:38:43 +00:00
parent ab943be44e
commit fe097c8ee7
3 changed files with 57 additions and 3 deletions

View File

@@ -1,9 +1,8 @@
version: '3.8'
services: services:
postgres: postgres:
image: postgres:15 image: postgres:15
container_name: my_postgres container_name: vod_postgres
environment: environment:
POSTGRES_USER: myuser POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword POSTGRES_PASSWORD: mypassword
@@ -13,6 +12,31 @@ services:
volumes: volumes:
- postgres_data:/var/lib/postgresql/data - postgres_data:/var/lib/postgresql/data
backend:
build:
context: .
dockerfile: src/main/Dockerfile
container_name: vod_backend
depends_on:
- postgres
env_file:
- .env
ports:
- "8080:8080"
restart: unless-stopped
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: vod_frontend
env_file:
- .env
depends_on:
- backend
ports:
- "5173:5173"
restart: unless-stopped
volumes: volumes:
postgres_data: postgres_data:

9
frontend/Dockerfile Normal file
View File

@@ -0,0 +1,9 @@
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 5173
CMD ["npm", "run", "dev"]

21
src/main/Dockerfile Normal file
View File

@@ -0,0 +1,21 @@
# Build stage
FROM maven:3.9.6-eclipse-temurin-21 AS builder
WORKDIR /app
COPY pom.xml .
COPY src ./src
RUN mvn clean package -DskipTests
# Run stage
FROM eclipse-temurin:21-jdk
# dependencies
RUN apt-get update && \
apt-get install -y ffmpeg && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=builder /app/target/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]