A proof of concept for accessing Windows shared drives (Z:) from Linux containers using a Windows file server container as an intermediary.
- Windows Container: File server that accesses Z:\ drive and exposes REST API
- Linux Container: ETL worker running Python/Celery that consumes the file server API
- Communication: REST API over Docker network
Click to expand project structure
```bash light-etl-windows-container-poc/ │ ├── README.md ├── .gitignore ├── .env.example ├── docker-compose.yml │ ├── fileserver/ # Windows container service │ ├── Dockerfile │ ├── fileserver.py │ └── requirements.txt │ ├── etl-worker/ # Linux container service │ ├── Dockerfile │ ├── requirements.txt │ ├── celery_config.py │ ├── etl_processor/ │ │ ├── __init__.py │ │ ├── celery_app.py │ │ ├── tasks.py │ │ ├── file_access.py │ │ └── utils.py │ └── tests/ │ ├── __init__.py │ └── test_file_access.py │ ├── shared_data/ # Local test data (not for production) │ └── sample.xlsx │ ├── scripts/ # Utility scripts │ ├── start-windows.ps1 │ ├── start-linux.sh │ └── test-connection.py │ └── docs/ ├── architecture.md └── setup-guide.md ```- Clone the repository
- Copy
.env.exampleto.envand configure - Ensure Z:\ drive is mounted on Windows host
- Run:
docker-compose up --build
fileserver: Windows container (port 5000) - File access APIetl-worker: Linux container - Celery worker for ETL processingredis: Redis for Celery broker
See docs/setup-guide.md for detailed instructions.