This is a simple web application for uploading images and getting a public link. It uses Go for the backend, MinIO for object storage, and Docker for containerization.
- Image upload through a simple web interface.
- Generates a unique, shareable link for each uploaded image.
- Uses MinIO for scalable and reliable object storage.
- Fully containerized with Docker and Docker Compose for easy deployment.
- Docker
- Docker Compose
-
Clone the repository:
git clone https://github.com/gemini/blobs cd blobs -
Configure MinIO credentials:
Open the
docker-compose.ymlfile and replace the placeholder values forMINIO_ACCESS_KEY,MINIO_SECRET_KEY,MINIO_ROOT_USERandMINIO_ROOT_PASSWORDwith your own secure credentials. -
Build and run the application:
docker-compose up --build
-
Access the application:
Open your web browser and navigate to
http://localhost:8080.
- The Go application serves a simple HTML page with an upload form.
- When an image is uploaded, the application generates a unique filename and uploads it to the configured MinIO bucket.
- The application then returns a public link to the uploaded image.
- The
/uploads/:filenameendpoint serves the images directly from the MinIO bucket.
.
├── docker-compose.yml
├── Dockerfile
├── go.mod
├── go.sum
├── main.go
├── README.md
└── templates
└── index.html