diff --git a/apps/backend/app/database.py b/apps/backend/app/database.py index 4fa351e..d18f07a 100644 --- a/apps/backend/app/database.py +++ b/apps/backend/app/database.py @@ -2,11 +2,8 @@ import os from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker, declarative_base -DB_DIR = os.getenv("DATA_DIR", os.path.abspath("../../data")) -os.makedirs(DB_DIR, exist_ok=True) - -DB_PATH = os.path.join(DB_DIR, "portfolio.db") -SQLALCHEMY_DATABASE_URL = f"sqlite:///{DB_PATH}" +DATA_DIR = os.getenv("DATA_DIR", "../../data") +SQLALCHEMY_DATABASE_URL = f"sqlite:///{DATA_DIR}/portfolio.db" engine = create_engine( SQLALCHEMY_DATABASE_URL, diff --git a/apps/backend/docker-compose.yml b/apps/backend/docker-compose.yml deleted file mode 100644 index 40af4bf..0000000 --- a/apps/backend/docker-compose.yml +++ /dev/null @@ -1,13 +0,0 @@ -version: "3.8" - -services: - backend: - build: ../.. - container_name: portfolio-backend - restart: unless-stopped - env_file: - - .env - ports: - - "8000:8000" - volumes: - - .:/app \ No newline at end of file diff --git a/apps/frontend/Dockerfile b/apps/frontend/Dockerfile new file mode 100644 index 0000000..34ab7ab --- /dev/null +++ b/apps/frontend/Dockerfile @@ -0,0 +1,12 @@ +FROM node:20-alpine AS builder + +WORKDIR /app + +COPY package*.json ./ +RUN npm ci + +COPY . . + +RUN npm run build + +CMD ["sh", "-c", "cp -rd /app/dist/* /out/"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..8cbac5a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,21 @@ +services: + backend: + build: + context: ./apps/backend + dockerfile: Dockerfile + container_name: portfolio-backend + restart: unless-stopped + ports: + - "8000:8000" + environment: + - DATA_DIR=/data + volumes: + - ./data:/data + + frontend-builder: + build: + context: ./apps/frontend + dockerfile: Dockerfile.prod + container_name: portfolio-frontend-builder + volumes: + - /srv/sites/portfolio:/out \ No newline at end of file