GoSƐ
GoSƐ is a modern file-uploader focusing on scalability and simplicity. It only depends on a S3 storage backend and hence scales horizontally without the need for additional databases or caches.
Directory Structure
- .env
- docker-compose.yml
docker-compose.yml
version: "3.7"
services:
minio:
image: minio/minio:RELEASE.2022-06-03T01-40-53Z.fips
command: server /mnt/data --console-address ":9001"
ports:
- 9000:9000 # API
- 9001:9001 # Webinterface
environment:
MINIO_ROOT_USER: "admin-user" # changeme!
MINIO_ROOT_PASSWORD: "admin-pass" # changeme!
MINIO_SERVER_URL: "http://localhost:9000"
MINIO_SITE_REGION: "s3"
volumes:
- ./minio-data:/mnt/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/ready"]
interval: 30s
timeout: 20s
retries: 3
gose:
image: ghcr.io/stv0g/gose:v0.4.0
build:
context: .
ports:
- 8080:8080
environment:
GOSE_LISTEN: ":8080"
GOSE_BASE_URL: "http://localhost:8080"
GOSE_BUCKET: "gose-uploads"
GOSE_ENDPOINT: "minio:9000"
GOSE_REGION: "s3"
GOSE_PATH_STYLE: "true"
GOSE_NO_SSL: "true"
GOSE_ACCESS_KEY: "admin-user" # changeme!
GOSE_SECRET_KEY: "admin-pass" # changeme!
GOSE_MAX_UPLOAD_SIZE: "50GB"
GOSE_PART_SIZE: "16MB"
depends_on:
- minio
restart: unless-stoppedResources
Website: https://gose.0l.de/
GitHub: https://github.com/stv0g/gose
GitHub Registry: https://github.com/stv0g/gose/pkgs/container/gose
Configuration: https://github.com/stv0g/gose#docker