Replace MinIO with S3-compatible storage (Garage)#90
Merged
Conversation
- Updated configuration and environment variables to transition from MinIO to S3 storage, including changes to .env.example and Docker Compose files. - Introduced a new S3Config class for managing S3 settings and removed the MinIO configuration. - Refactored file management and state archival services to utilize the S3 client, ensuring compatibility with S3 operations. - Adjusted health checks and service dependencies to reflect the new S3 storage integration. - Updated documentation and comments throughout the codebase to replace references to MinIO with S3.
- Changed S3 access and secret keys in .env.example and test configuration to new values. - Updated Docker Compose files to reflect the new S3 access keys and added default bucket environment variable. - Modified health check command in Docker Compose to use the new status command for better service monitoring. - Added RPC settings in garage.toml for improved service configuration.
- Enhanced functional tests to verify that edits to mounted files produce new outputs with unique file_ids instead of in-place overwrites. - Updated test descriptions for clarity on expected behavior regarding modified files. - Introduced a helper function to locate modified files based on the original file_id, ensuring accurate assertions in test cases.
…etup - Added a temporary filesystem configuration for /tmp with size and mode settings in both Docker Compose files. - Changed the directory for empty_proc from /tmp to /var/lib/code-interpreter in the Dockerfile and related service files. - Updated the sandbox execution commands to reflect the new empty_proc path and incorporated dynamic tmpfs size settings.
- Updated tmpfs mount options for /tmp in Docker Compose files to include noexec, nosuid, and nodev for improved security. - Refactored sandbox execution commands to apply the new tmpfs settings consistently across service files. - Introduced dynamic handling of skill dependencies with updated mount options to enhance security and isolation.
usnavy13
added a commit
that referenced
this pull request
May 7, 2026
…tale files The repo had unnecessary docker-compose.prod.yml and docker-compose.local-test.yml files. docker-compose.yml is now the single production-ready base (pulls published GHCR image by default), and docker-compose.override.example.yml handles local dev overrides. All MinIO references across 10+ docs updated to S3/Garage to match the migration completed in #90. Removed stale Reference/ directory and placeholder AGENTS.md. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
noexec,nosuid,nodevto/tmptmpfs mounts and relocatesempty_procto/var/lib/code-interpreterfor better sandbox isolationChanges
S3Config(replacesMinIOConfig) with standard S3 env vars (S3_ENDPOINT,S3_ACCESS_KEY, etc.)FileServiceandStateArchivalServiceto use boto3 S3 clientgarage.tomlfor local dev Garage configurationoriginal_filenamefield toFileInfomodel and plumbed through upload/list flowssanitize_filenamewith LibreChat's Unicode handling (NFC normalize, emoji preservation)Test plan
pytest tests/unit/)pytest tests/integration/)🤖 Generated with Claude Code