Skip to content

RustFSΒ #2131

Description

@MickLesk

Name of the Script

RustFS

Script Type

CT (LXC Container)

Does this script support arm64?

arm64 supported

πŸ“‹ Script Details

S3-compatible object storage in Rust β€” S3 core API, versioning, bucket replication, bitrot protection, multi-tenancy. The most-requested MinIO alternative. Requested in discussion #10488.

The blocker from the earlier assessment is solved. RustFS publishes tags but no GitHub release assets, so fetch_and_deploy_gh_release cannot be used. Reading their install_rustfs.sh turned up a stable artifact path that needs no hardcoded version:

https://dl.rustfs.com/artifacts/rustfs/release/rustfs-linux-{x86_64,aarch64}-gnu-latest.zip

Verified HTTP 200; the archive contains a single ~200 MB rustfs binary. Updates simply re-fetch the same URL, so anti-pattern 18 is not violated.

  • No separate console build. rustfs/console exists as its own repo, but the binary serves the UI itself via RUSTFS_CONSOLE_ENABLE=true β€” 9000 for the S3 API, 9001 for the console.
  • Configuration through /etc/default/rustfs (the path upstream's own installer uses), with generated RUSTFS_ACCESS_KEY / RUSTFS_SECRET_KEY.
  • Data in /opt/rustfs_data/data, logs in /opt/rustfs_data/logs, LimitNOFILE=65536.
  • Note: distributed mode and lifecycle management are marked "under testing" upstream; single-node is the supported path.
  • Upstream's installer is interactive (prompts for ports and data directory), so it was not used directly β€” its logic was reproduced non-interactively.

Source: https://github.com/rustfs/rustfs

Activity

  1. github-actions commented on Aug 4, 2026

    @github-actions
    Contributor

    The RustFS script is ready for testing:

    bash -c "$(curl -fsSL https://github.com/community-scripts/ProxmoxVED/raw/main/ct/rustfs.sh)"
    

    Access key and secret key are generated at install and stored in /etc/default/rustfs. Use them to log into the console on port 9001 and for any S3 client.
    Two ports: 9000 serves the S3 API, 9001 the web console. Object data lives in /opt/rustfs_data/data - back that up, or better, give the container a dedicated disk and point RUSTFS_VOLUMES at it.
    Distributed mode and lifecycle management are marked as under testing upstream. Single-node operation is the supported path today.
    The binary comes from the official artifact server at dl.rustfs.com rather than GitHub, because the project publishes tags but no release assets. The URL is a stable 'latest' path, so updates just re-download it.

    Note: This is not in the official repo yetβ€”it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.

    Discord testing thread: https://discord.com/channels/1302816934508630047/1534080527995244585

  2. MickLesk commented on Aug 4, 2026

    @MickLesk
    MemberAuthor

    For users who aren't familiar with this:
    -> Access Key => Account
    -> Secret Key => Password

  3. wopner commented on Aug 15, 2026

    @wopner

    Seems to be an issue today going from 1.0.0-rc.1 to rc.2-preview.1.

    I did manually grab that release archive and threw it in /opt/rustfs/rustfs, to no avail:

    Update available: rustfs 1.0.0-rc.1 -> 1.0.0-rc.2-preview.1
    Stopped Service
    No asset matching 'rustfs-linux-x86_64-gnu-latest.zip' found
    in line 1980: exit code 252 (App: Required file or resource not found): while executing command return 252
    
      --- Last 20 lines of log ---
    [2026-08-15 12:40:12] [INFO] Checking for update: rustfs
    [2026-08-15 12:40:14] [OK] Update available: rustfs 1.0.0-rc.1 -> 1.0.0-rc.2-preview.1
    [2026-08-15 12:40:14] [INFO] Stopping Service
    [2026-08-15 12:40:14] [OK] Stopped Service
    [2026-08-15 12:40:15] [INFO] Fetching github release: rustfs (1.0.0-rc.2-preview.1)
    [2026-08-15 12:40:17] [ERROR] No asset matching 'rustfs-linux-x86_64-gnu-latest.zip' found
    [2026-08-15 12:40:17] [ERROR] in line 1980: exit code 252 (App: Required file or resource not found): while executing command return 252
      -----------------------------------
    
  4. MickLesk commented on Aug 17, 2026

    @MickLesk
    MemberAuthor

    the zip files sometimes need some time to upload, the file is available

  5. bass6153 commented on Aug 19, 2026

    @bass6153

    works for me.

  6. wopner commented on Aug 19, 2026

    @wopner

    Seems to be an issue today going from 1.0.0-rc.1 to rc.2-preview.1.

    I did manually grab that release archive and threw it in /opt/rustfs/rustfs, to no avail:

    Update available: rustfs 1.0.0-rc.1 -> 1.0.0-rc.2-preview.1
    Stopped Service
    No asset matching 'rustfs-linux-x86_64-gnu-latest.zip' found
    in line 1980: exit code 252 (App: Required file or resource not found): while executing command return 252
    
      --- Last 20 lines of log ---
    [2026-08-15 12:40:12] [INFO] Checking for update: rustfs
    [2026-08-15 12:40:14] [OK] Update available: rustfs 1.0.0-rc.1 -> 1.0.0-rc.2-preview.1
    [2026-08-15 12:40:14] [INFO] Stopping Service
    [2026-08-15 12:40:14] [OK] Stopped Service
    [2026-08-15 12:40:15] [INFO] Fetching github release: rustfs (1.0.0-rc.2-preview.1)
    [2026-08-15 12:40:17] [ERROR] No asset matching 'rustfs-linux-x86_64-gnu-latest.zip' found
    [2026-08-15 12:40:17] [ERROR] in line 1980: exit code 252 (App: Required file or resource not found): while executing command return 252
      -----------------------------------
    

    Confirmed that it's working currently on this side as well, just fysa!

  7. github-actions commented on Sep 25, 2026

    @github-actions
    Contributor

    A PR has been created for rustfs: community-scripts/ProxmoxVE#17499

  8. MickLesk commented on Sep 25, 2026

    @MickLesk
    MemberAuthor

    Merged with #17499 in ProxmoxVE

  9. github-actions commented on Sep 25, 2026

    @github-actions
    Contributor

    Files deleted with PR #2310

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions