Installation¶
Prerequisites¶
- Docker and Docker Compose (v2)
- aws-cli or MinIO Client (mc) (optional, for S3 CLI operations)
- Git
Clone and Build¶
This builds the production Docker image — a minimal scratch-based container containing only the statically-linked arca binary and the default configuration file.
Development Image¶
For debugging, build the development image which includes a shell (debian-slim based):
Or start the development image directly:
Console Image¶
Build the web console image separately:
Or build and start it directly:
Verify¶
Start the server:
Tip
Drop the -d flag to run in the foreground and see logs in real time. Press Ctrl+C to stop the server.
Check that it's running:
Arca auto-generates a root credential on first startup and prints it to the logs. Set the credentials and verify with your S3 client of choice:
Standalone Binary¶
Extract the statically-linked Linux binary for deployment on servers (without Docker):
# Build for host architecture
bin/build --binary
# Cross-compile for a specific architecture
bin/build --binary --arch amd64
bin/build --binary --arch arm64
The binary is written to build/arca-<arch> (e.g., build/arca-arm64). These are Linux ELF binaries, they cannot run on macOS directly.
Docker Images¶
| Build Target | Base | Use Case |
|---|---|---|
production (default) |
scratch |
Production deployments — minimal attack surface |
development |
Debian slim | Debugging — includes shell, coreutils |
Both are produced by an Alpine-based Rust builder stage. Every image Arca
distributes — these two and the console — pins its base image to an exact
version tag, so rebuilding months later yields the same toolchain and the same
runtime packages. Auxiliary test and tooling images are intentionally left on
floating tags. The exact tags in force are the ones in docker/Dockerfile and
console/Dockerfile.
Switch between them using BUILD_TARGET:
Running Tests¶
# All tests (unit + integration)
bin/test
# Unit tests only
bin/test unit
# Integration tests only (server must be running)
bin/test integration
# Ceph s3-tests compatibility suite (server must be running)
bin/s3-tests
The Ceph s3-tests suite runs 829 industry-standard S3 compatibility tests. Results are saved to s3-tests/results.xml, an HTML report to s3-tests/report.html, and a machine-readable summary to s3-tests/summary.json.
Next Steps¶
- Quick Start — create buckets and upload objects
- Configuration — customize server settings