#51 chore(coolify): eliminar variante docker-compose, deploy por imagen del registry
This commit is contained in:
@@ -1,15 +0,0 @@
|
||||
# Dockerfile dedicado para el despliegue en Coolify.
|
||||
# No toca django.Dockerfile (que usan los compose dev/staging/prod locales).
|
||||
# Diferencias: copia el código de tienda_ilusion/ dentro de la imagen (Coolify
|
||||
# no monta el directorio local) y expone PYTHONUNBUFFERED para logs en tiempo real.
|
||||
FROM python:3.12-slim
|
||||
|
||||
ENV PYTHONDONTWRITEBYTECODE=1 \
|
||||
PYTHONUNBUFFERED=1
|
||||
|
||||
WORKDIR /app/
|
||||
|
||||
COPY requirements.txt ./
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
COPY tienda_ilusion/ /app/
|
||||
@@ -1,71 +0,0 @@
|
||||
# Docker Compose para despliegue en Coolify.
|
||||
# Copia este stack tal cual: Coolify lo clona y parsea (Build Pack: Docker Compose).
|
||||
# En Coolify indica:
|
||||
# - Docker Compose Location: docker-compose.coolify.yaml
|
||||
# - Service 'django' -> Domain: https://api.tudominio.com (puerto interno 8000)
|
||||
# - Environment Variables se crean solas a partir de los ${VAR} de abajo.
|
||||
# NO usa env_file (.env.production): las variables se definen en la UI de Coolify.
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:15-alpine
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=${DB_USER:?Define DB_USER en Coolify}
|
||||
- POSTGRES_PASSWORD=${DB_PASSWORD:?Define DB_PASSWORD en Coolify}
|
||||
- POSTGRES_DB=${DB_NAME:?Define DB_NAME en Coolify}
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
django:
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: django.coolify.Dockerfile
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- DJANGO_ENV=production
|
||||
- DEBUG=${DEBUG:-False}
|
||||
- SECRET_KEY=${SECRET_KEY:?Define SECRET_KEY en Coolify}
|
||||
- ALLOWED_HOSTS=${ALLOWED_HOSTS:?Define ALLOWED_HOSTS en Coolify}
|
||||
- CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:?Define CORS_ALLOWED_ORIGINS en Coolify}
|
||||
- CSRF_TRUSTED_ORIGINS=${CSRF_TRUSTED_ORIGINS:?Define CSRF_TRUSTED_ORIGINS en Coolify}
|
||||
- DB_HOST=postgres
|
||||
- DB_PORT=5432
|
||||
- DB_NAME=${DB_NAME:?Define DB_NAME en Coolify}
|
||||
- DB_USER=${DB_USER:?Define DB_USER en Coolify}
|
||||
- DB_PASSWORD=${DB_PASSWORD:?Define DB_PASSWORD en Coolify}
|
||||
- EMAIL_HOST=${EMAIL_HOST:-smtp.gmail.com}
|
||||
- EMAIL_PORT=${EMAIL_PORT:-587}
|
||||
- EMAIL_USE_TLS=${EMAIL_USE_TLS:-True}
|
||||
- EMAIL_HOST_USER=${EMAIL_HOST_USER:-}
|
||||
- EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD:-}
|
||||
- DEFAULT_FROM_EMAIL=${DEFAULT_FROM_EMAIL:-noreply@tiendailusion.com}
|
||||
- ADMIN_EMAIL=${ADMIN_EMAIL:-admin@tiendailusion.com}
|
||||
- TRYTON_HOST=${TRYTON_HOST:?Define TRYTON_HOST en Coolify}
|
||||
- TRYTON_DATABASE=${TRYTON_DATABASE:?Define TRYTON_DATABASE en Coolify}
|
||||
- TRYTON_USERNAME=${TRYTON_USERNAME:?Define TRYTON_USERNAME en Coolify}
|
||||
- TRYTON_PASSWORD=${TRYTON_PASSWORD:?Define TRYTON_PASSWORD en Coolify}
|
||||
expose:
|
||||
- "8000"
|
||||
volumes:
|
||||
- static_volume:/app/staticfiles
|
||||
- media_volume:/app/media
|
||||
- logs_volume:/app/logs
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
command: >
|
||||
sh -c "python manage.py migrate &&
|
||||
python manage.py collectstatic --noinput &&
|
||||
gunicorn config.wsgi:application --bind 0.0.0.0:8000 --workers 4 --timeout 120"
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
static_volume:
|
||||
media_volume:
|
||||
logs_volume:
|
||||
Reference in New Issue
Block a user