Docker buid issue

This commit is contained in:
2025-10-17 10:54:34 +05:30
parent 1452aafb42
commit b0ffbe1d46
4 changed files with 31 additions and 4 deletions

View File

@ -6,14 +6,21 @@ PAYU_MERCHANT_SALT=DusXSSjqqSMTPSpw32hlFXF6LKY2Zm3y
PAYU_SUCCESS_URL=http://localhost:4200/payment-success
PAYU_FAILURE_URL=http://localhost:4200/payment-failure
# Flask Configuration
FLASK_ENV=production
FLASK_APP=run.py
# MySQL Configuration (for production/Docker)
MYSQL_HOST=db
MYSQL_USER=vendinguser
MYSQL_PASSWORD=vendingpass
MYSQL_DATABASE=vending
SQLITE_DB_PATH=machines
# SQLite Configuration (for development)
SQLITE_DB_PATH=machines.db
# SQLAlchemy Configuration
SQLALCHEMY_ECHO=False
BREVO_SMTP_EMAIL=smukeshsn2000@gmail.com
BREVO_SMTP_KEY=your-brevo-smtp-key

View File

@ -7,6 +7,11 @@ WORKDIR /app
# Prevent Python from buffering stdout/stderr
ENV PYTHONUNBUFFERED=1
# Install mysql-client for database connectivity checks
RUN apt-get update && \
apt-get install -y default-mysql-client curl && \
rm -rf /var/lib/apt/lists/*
# Copy requirements first for better caching
COPY requirements.txt .
@ -28,4 +33,4 @@ ENV FLASK_RUN_PORT=5000
EXPOSE 5000
# Use Gunicorn for production
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "run:app"]
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "run:app"]

View File

@ -42,8 +42,9 @@ def create_app():
if not all([mysql_host, mysql_user, mysql_password, mysql_db]):
raise ValueError("Missing required MySQL environment variables")
# FIXED: Use port 3306 (internal Docker port, not the host port 3307)
app.config['SQLALCHEMY_DATABASE_URI'] = (
f'mysql+pymysql://{mysql_user}:{mysql_password}@{mysql_host}:3307/{mysql_db}'
f'mysql+pymysql://{mysql_user}:{mysql_password}@{mysql_host}:3306/{mysql_db}'
)
else:
sqlite_db_path = os.getenv('SQLITE_DB_PATH', 'machines.db')