chore(root): remove docker-compose.yml

Docker Compose moved to Dockerfile and entrypoint for streamlined deployment.
This commit is contained in:
sankalp committed 2026-06-28 15:07:59 +05:45
1 parent c29c2c4be8
commit 829dc626c2
4 files changed
+107 -30

No files matched your search

+22 -15
View File
@@ -1,23 +1,30 @@
# Django settings
DJANGO_SETTINGS_MODULE=config.settings.development
SECRET_KEY=your-secret-key
ALLOWED_HOSTS=api.your-domain.com,www.your-domain.com
ALLOWED_HOSTS=localhost,127.0.0.1
# Database (individual parameters)
DB_NAME=
DB_USER=
DB_PASSWORD=
DB_HOST=
DB_PORT=
# Database (MySQL)
DB_NAME=project_management
DB_USER=project_user
DB_PASSWORD=project_password
DB_HOST=localhost
DB_PORT=3306
# Frontend URL
FRONTEND_URL=https://frontend.your-domain.com,https://www.frontend.your-domain.com
# Site
BASE_URL=http://localhost:8000
SITE_NAME=Project Management
# Email settings
EMAIL_HOST=
EMAIL_PORT=
EMAIL_USE_TLS=
# Frontend (CORS)
FRONTEND_URL=http://localhost:8000
# Email (SMTP)
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USE_TLS=True
EMAIL_HOST_USER=
EMAIL_HOST_PASSWORD=
DEFAULT_FROM_EMAIL=
SERVER_EMAIL=
# Google OAuth
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI=http://localhost:8000/api/auth/google/callback/
+23 -15
View File
@@ -1,35 +1,43 @@
FROM python:3.13-slim
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV PIP_NO_CACHE_DIR=1
ENV PIP_DISABLE_PIP_VERSION_CHECK=1
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1 \
PIP_DISABLE_PIP_VERSION_CHECK=1 \
NODE_VERSION=20
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends \
default-libmysqlclient-dev \
build-essential \
&& rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
&& rm -rf /var/lib/apt/lists/*
ENV NODE_VERSION=20
RUN curl -fsSL https://deb.nodesource.com/setup_${NODE_VERSION}.x | bash - \
&& curl -fsSL https://deb.nodesource.com/setup_${NODE_VERSION}.x | bash - \
&& apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/*
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
RUN python manage.py tailwind install
COPY . .
RUN python manage.py collectstatic --noinput || true
ARG DJANGO_SETTINGS_MODULE=config.settings.production
ENV DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE}
ARG SECRET_KEY
ENV SECRET_KEY=${SECRET_KEY}
RUN python manage.py tailwind install && python manage.py collectstatic --noinput
RUN addgroup --system --gid 1001 app && \
adduser --system --uid 1001 --gid 1001 app && \
chown -R app:app /app
EXPOSE 8000
CMD ["gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000"]
COPY --chown=app:app docker-entrypoint.sh /docker-entrypoint.sh
RUN chmod +x /docker-entrypoint.sh
USER app
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000"]
+56
View File
@@ -0,0 +1,56 @@
services:
db:
image: mysql:8.0
volumes:
- mysql_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-rootpassword}
MYSQL_DATABASE: ${DB_NAME:-project_management}
MYSQL_USER: ${DB_USER:-project_user}
MYSQL_PASSWORD: ${DB_PASSWORD:-project_password}
ports:
- "3306:3306"
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
timeout: 5s
retries: 10
app:
build:
context: .
args:
DJANGO_SETTINGS_MODULE: ${DJANGO_SETTINGS_MODULE:-config.settings.production}
SECRET_KEY: ${SECRET_KEY}
volumes:
- static_volume:/app/staticfiles
- media_volume:/app/media
ports:
- "8000:8000"
environment:
DJANGO_SETTINGS_MODULE: ${DJANGO_SETTINGS_MODULE:-config.settings.production}
SECRET_KEY: ${SECRET_KEY}
ALLOWED_HOSTS: ${ALLOWED_HOSTS:-localhost,127.0.0.1}
DB_NAME: ${DB_NAME:-project_management}
DB_USER: ${DB_USER:-project_user}
DB_PASSWORD: ${DB_PASSWORD:-project_password}
DB_HOST: db
DB_PORT: ${DB_PORT:-3306}
BASE_URL: ${BASE_URL:-http://localhost:8000}
SITE_NAME: ${SITE_NAME:-Project Management}
FRONTEND_URL: ${FRONTEND_URL:-http://localhost:8000}
GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID:-}
GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET:-}
GOOGLE_REDIRECT_URI: ${GOOGLE_REDIRECT_URI:-}
EMAIL_HOST: ${EMAIL_HOST:-}
EMAIL_PORT: ${EMAIL_PORT:-}
EMAIL_USE_TLS: ${EMAIL_USE_TLS:-}
EMAIL_HOST_USER: ${EMAIL_HOST_USER:-}
EMAIL_HOST_PASSWORD: ${EMAIL_HOST_PASSWORD:-}
depends_on:
db:
condition: service_healthy
volumes:
mysql_data:
static_volume:
media_volume:
+6
View File
@@ -0,0 +1,6 @@
#!/bin/sh
set -e
python manage.py migrate --noinput
exec "$@"