diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e4b84c5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM python:3.11-slim + +ENV PYTHONDONTWRITEBYTECODE=1 \ + PYTHONUNBUFFERED=1 + +WORKDIR /app + +RUN apt-get update && apt-get install -y \ + build-essential \ + libpq-dev \ + && rm -rf /var/lib/apt/lists/* + +COPY requirements.txt . +RUN pip install --upgrade pip +RUN pip install -r requirements.txt + +COPY . . + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..5775200 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,14 @@ +version: '3.9' + +services: + django-app: + build: . + container_name: django_app + ports: + - "${PORT:-8000}:8000" + env_file: + - ./warehouse_managment/warehouse_managment/.env + volumes: + - .:/app + working_dir: /app/warehouse_managment + restart: unless-stopped diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..e69cb1c --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +echo "⚙️ Applying migrations..." +python manage.py migrate + +echo "📦 PORT from .env is: $PORT" + +PORT=${PORT:-8000} +echo "🚀 Starting Django server on port $PORT..." +python manage.py runserver 0.0.0.0:$PORT diff --git a/warehouse_managment/.env.example b/warehouse_managment/.env.example new file mode 100644 index 0000000..237ede5 --- /dev/null +++ b/warehouse_managment/.env.example @@ -0,0 +1 @@ +PORT=8003 \ No newline at end of file diff --git a/warehouse_managment/warehouse_managment/.env.example b/warehouse_managment/warehouse_managment/.env.example new file mode 100644 index 0000000..a4c9bad --- /dev/null +++ b/warehouse_managment/warehouse_managment/.env.example @@ -0,0 +1,12 @@ +# Django +DJANGO_SECRET_KEY=your-secret-key-here +DJANGO_DEBUG=True +DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1 + +# POSTGRES_DB=warehouse_inventory +# POSTGRES_USER=admin +# POSTGRES_PASSWORD=admin +# POSTGRES_PORT=5432 +# POSTGRES_HOST=localhost + +DATABASE_URL=your_db_url