A lightweight, local AWS S3-compatible service powered by LocalStack. Perfect for testing and development, this emulator allows you to simulate S3 operations locally without connecting to the cloud. Test your code, debug workflows, and ensure seamless integration with AWS S3—all from your localmachine.
Provides pre-built APIs to create, delete S3 Buckets/keys, upload & download files. S3 can be accessed using localhost:4566.
- Build the
Dockerfilewith names3-local-pydocker build -t s3-local-py . - Run
docker-composedocker-compose up -d
- Once the application starts running, you can access the swagger UI from http://localhost:8773/swagger

- Terminate the container when no longer needed.
docker-compose down
- Python version
3.10+required. - Start a python virtual environment (optional).
python -m venv .venv source .venv/Scripts/activate - Install required packages.
pip install -r requirements.txt
- Start the
FastApiapplicationThis starts the fast-api server on portuvicorn main:app --host 0.0.0.0 --port 8773 --reload
8773& with--reloadflag, host reloading is enabled. Once the application starts access the swagger UI from http://localhost:8773/swagger
NOTE: In localstack once the containers are terminated, the buckets & its data is lost.