CONFIG: preparar dockerfile y compose para gitea vps

This commit is contained in:
Nachou-u
2026-09-09 08:35:08 -03:00
parent 29c447c23e
commit d1c4855962
4 changed files with 22 additions and 24 deletions
+3 -3
View File
@@ -1,9 +1,9 @@
# ========================================
# Variables de Entorno (Plantilla)
# ========================================
DEBUG=True
SECRET_KEY=django-insecure-r9n6j1_h%@uqoz0bjz^mq=t72o0t*j@84jpl%_i4^qu%&+**u7
ALLOWED_HOSTS=*
DEBUG=False
SECRET_KEY=coloca_aqui_una_clave_larga_y_secreta
ALLOWED_HOSTS=midominio.com,localhost,127.0.0.1
# === CONFIGURACIÓN LOCAL (Para usar start.sh sin Docker) ===
# Deja estas variables vacías o comentadas para usar SQLite y Memory Channel.
+7 -2
View File
@@ -23,5 +23,10 @@ COPY . /app/
# Exponer el puerto
EXPOSE 8000
# Comando por defecto para iniciar Daphne (ASGI)
CMD ["daphne", "-b", "0.0.0.0", "-p", "8000", "config.asgi:application"]
# Crear un usuario no-root por seguridad
RUN adduser --disabled-password --no-create-home djangouser
RUN chown -R djangouser:djangouser /app
USER djangouser
# Comando por defecto para iniciar Gunicorn con Uvicorn workers (Producción)
CMD ["gunicorn", "config.asgi:application", "-k", "uvicorn.workers.UvicornWorker", "--bind", "0.0.0.0:8000", "--workers", "3"]
+10 -19
View File
@@ -1,18 +1,6 @@
version: '3.8'
services:
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: efintel_db
POSTGRES_USER: efintel_user
POSTGRES_PASSWORD: efintel_password
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
redis:
image: redis:7-alpine
ports:
@@ -20,10 +8,12 @@ services:
volumes:
- redis_data:/data
restart: unless-stopped
mem_limit: 512m # Limita Redis a 512MB de memoria RAM
web:
build: .
command: daphne -b 0.0.0.0 -p 8000 config.asgi:application
# Se sobrescribe el comando para asegurarnos que usa Gunicorn (así esté en el Dockerfile)
command: gunicorn config.asgi:application -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000 --workers 3
volumes:
- .:/app
ports:
@@ -31,32 +21,33 @@ services:
env_file:
- .env
environment:
DATABASE_URL: postgres://efintel_user:efintel_password@db:5432/efintel_db
# Ya no conectamos a una DB local, lee el DATABASE_URL del .env
REDIS_URL: redis://redis:6379/0
depends_on:
- db
- redis
restart: unless-stopped
mem_limit: 1g # Limita Gunicorn a 1GB
tax-api:
build: ./tax_api
ports:
- "8001:8000"
restart: unless-stopped
mem_limit: 256m
celery:
build: .
command: celery -A config worker -l info
command: celery -A config worker -l info --concurrency=2
volumes:
- .:/app
env_file:
- .env
environment:
DATABASE_URL: postgres://efintel_user:efintel_password@db:5432/efintel_db
REDIS_URL: redis://redis:6379/0
depends_on:
- db
- redis
restart: unless-stopped
mem_limit: 512m # Limita Celery a 512MB
volumes:
postgres_data:
redis_data:
+2
View File
@@ -55,3 +55,5 @@ whitenoise==6.7.0
django-storages==2.14.2
boto3==1.34.69
requests==2.31.0
uvicorn[standard]
gunicorn