diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..aae9b9a --- /dev/null +++ b/.dockerignore @@ -0,0 +1,23 @@ +# Exclude common Python files and directories +venv/ +__pycache__/ +*.pyc +*.pyo +*.pyd +*.pyz +*.pyw +*.pyi +*.egg-info/ + +# Exclude development and local files +.env +.env.* +*.log +*.db + +# Exclude version control system files +.git/ +.gitignore +.svn/ + +storage/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d6002bf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +# Use an official Python runtime as a parent image +FROM python:3.10-slim + +# Set the working directory in the container +WORKDIR /usr/src/app + +# Install system dependencies +RUN apt-get update && apt-get install -y \ + git \ + imagemagick \ + && rm -rf /var/lib/apt/lists/* + +# Copy the current directory contents into the container at /usr/src/app +COPY . . + +# Install Python dependencies +RUN pip install --no-cache-dir -r requirements.txt + +# Expose the port the app runs on +EXPOSE 8080 + +# Command to run the application +CMD ["python", "main.py"] + +# At runtime, mount the config.toml file from the host into the container +# using Docker volumes. Example usage: +# docker run -v /path/to/your/config.toml:/usr/src/app/config.toml -p 8080:8080 moneyprinterturbo