diff --git a/.gitignore b/.gitignore index 03dfc47..42dc2fc 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,4 @@ venv *.pyc __pycache__ *.log -data/ +data/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a27e208 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM python:3.11-slim + +# Set working directory +WORKDIR /app + +# Install system dependencies +RUN apt-get update && apt-get install -y \ + gcc \ + && rm -rf /var/lib/apt/lists/* + +# Copy requirements first for better caching +COPY requirements.txt . + +# Install Python dependencies +RUN pip install --no-cache-dir -r requirements.txt + +# Copy application code +COPY . . + +# Create data directory +RUN mkdir -p data + +# Set permissions for data directory +RUN chmod 755 data + +# Default command - run the scraper +CMD ["python", "save_iana_domains.py"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ae3b9e4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +version: '3.8' + +services: + iana-scraper: + build: . + container_name: iana-scraper + volumes: + - ./data:/app/data + environment: + - PYTHONUNBUFFERED=1 + restart: "no" + # Uncomment and adjust if you want to limit resources + # mem_limit: 512m + # cpus: 0.5