diff --git a/README.md b/README.md index a9dad0b..e1954e1 100644 --- a/README.md +++ b/README.md @@ -128,6 +128,9 @@ After Saving you should be able to use extension now. | Saved Chats | All your saved chats.| | Settings | If you want to update your Open API key.| +### Docker Support +Afer setting SurfSense-Frontend/.env and backend/.env run `docker-compose build --no-cache`. After building image run `docker-compose up -d` + ## Screenshots #### Playground diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..664f31b --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,19 @@ +# Use official Python image +FROM python:3.10-slim + +# Set working directory +WORKDIR /app + +# Copy backend source code +COPY . /app + +# Install dependencies +RUN apt-get update && apt-get install -y gcc libpq-dev +RUN pip install --upgrade pip +RUN pip install -r requirements.txt + +# Expose backend port +EXPOSE 8000 + +# Run FastAPI using uvicorn +CMD ["uvicorn", "server:app", "--host", "0.0.0.0", "--port", "8000"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..037cb6a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,47 @@ +version: '3.8' + +services: + # PostgreSQL Database + db: + image: postgres:13 + environment: + POSTGRES_USER: your_postgres_user + POSTGRES_PASSWORD: your_postgres_password + POSTGRES_DB: surfsense_db + volumes: + - postgres_data:/var/lib/postgresql/data + networks: + - surfsense-network + + # Backend Service (FastAPI) + backend: + build: + context: ./backend + ports: + - "8000:8000" + env_file: + - ./backend/.env + depends_on: + - db + networks: + - surfsense-network + + # Frontend Service (Next.js) + frontend: + build: + context: ./SurfSense-Frontend + ports: + - "3000:3000" + env_file: + - ./SurfSense-Frontend/.env + networks: + - surfsense-network + +# Volumes for persistent storage +volumes: + postgres_data: + +# Docker network +networks: + surfsense-network: + driver: bridge