services: objectstore: build: . image: lunarsky-objectstore:local restart: unless-stopped environment: S3_ACCESS_KEY: ${S3_ACCESS_KEY:?Set S3_ACCESS_KEY in .env} S3_SECRET_KEY: ${S3_SECRET_KEY:?Set S3_SECRET_KEY in .env} S3_BUCKET: ${S3_BUCKET:-objects} S3_REGION: ${S3_REGION:-us-east-1} S3_CREDENTIALS_FILE: ${S3_CREDENTIALS_FILE:-} MAX_OBJECT_BYTES: ${MAX_OBJECT_BYTES:-134217728} MAX_TOTAL_BYTES: ${MAX_TOTAL_BYTES:-2147483648} PUBLIC_REQUESTS_PER_SECOND: ${PUBLIC_REQUESTS_PER_SECOND:-0} PUBLIC_REQUEST_BURST: ${PUBLIC_REQUEST_BURST:-} PUBLIC_BYTES_PER_SECOND: ${PUBLIC_BYTES_PER_SECOND:-0} PUBLIC_BYTE_BURST: ${PUBLIC_BYTE_BURST:-} PUBLIC_MAX_IN_FLIGHT_PER_IP: ${PUBLIC_MAX_IN_FLIGHT_PER_IP:-} PUBLIC_TRUSTED_PROXY_IPS: ${PUBLIC_TRUSTED_PROXY_IPS:-} ports: - "127.0.0.1:${HOST_PORT:-9000}:9000" volumes: - object-data:/data healthcheck: test: ["CMD", "wget", "-qO-", "http://127.0.0.1:9000/health"] interval: 15s timeout: 3s retries: 3 start_period: 10s mem_limit: 384m security_opt: - no-new-privileges:true cap_drop: - ALL volumes: object-data: