Adding Projects - pratikchaudhari64/personal_devserver GitHub Wiki
Adding Projects
Quick Guide
- Containerize your project
- Add to
docker-compose.yml - Add route to
nginx/default.conf - Restart services
Examples
React App
1. Create Dockerfile in ./my-react-app/:
FROM node:18-alpine
WORKDIR /app
COPY . .
RUN npm install && npm run build
CMD ["npm", "start"]
2. Add to docker-compose.yml:
my_react_app:
build: ./my-react-app
container_name: my_react_app
expose:
- "3000"
networks:
- app_network
3. Add to nginx/default.conf:
location /myapp/ {
proxy_pass http://my_react_app:3000/;
proxy_set_header Host $host;
}
4. Restart:
docker compose down
docker compose up -d
Python FastAPI
1. Structure:
my-api/
├── Dockerfile
├── requirements.txt
└── main.py
2. Dockerfile:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
3. Add to configs (same pattern as React)
Static Site
1. Add to nginx/default.conf:
location /docs/ {
alias /usr/share/nginx/html/docs/;
try_files $uri $uri/ =404;
}
2. Mount in docker-compose.yml:
nginx:
volumes:
- ./my-docs:/usr/share/nginx/html/docs:ro
Tips
- Use
exposenotportsfor internal services - Always add to
app_network - Check logs:
docker logs <container_name> - Test locally first:
curl http://localhost:8000/yourpath/