Docker startup fails due to interactive input in seed command
- Dominant language
- Python
- Stars
- 2k
- Forks
- 984
- Avg merge
- 2h 54m
- Merged PRs (30d)
- 14
Description
### Problem
When running EvalAI using Docker, the Django container fails to start due to an `EOFError` raised from an interactive `input()` call in the seed command.
This happens because `python manage.py seed` is executed automatically during container startup in a non-interactive environment.
### Steps to Reproduce
1. Clone the EvalAI repository
2. Run `docker compose up --build`
3. Observe the Django container exit with:
### Root Cause
The seed script prompts for user input when existing database data is detected. Docker containers are non-interactive, so `input()` raises `EOFError`.
### Expected Behavior
The seed command should not require interactive input in Docker or CI environments.
### Suggested Fix
Skip database reseeding safely in non-interactive environments instead of prompting for input or crashing.
Contributor guide
Research direction
Start with the `python manage.py seed` entry point and the Docker startup invoked by `docker compose up --build`. Trace the seed behavior when existing database data is detected, and verify that startup completes without interactive input or an `EOFError` in non-interactive environments.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- django, docker, python
- Domain
- backend, devops
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100