Overview
This AMI runs SeaweedFS, the open-source distributed file and object store, as a single server on Ubuntu 24.04 LTS: the master, a volume server, the filer and the S3 gateway in one container. The container image is pinned to chrislusf/seaweedfs 4.52 and baked into the AMI, so first start does not depend on a registry. SeaweedFS is an independent project and Perimattic is not affiliated with it.
Why SeaweedFS?
SeaweedFS stores objects and files in large volume files, which keeps metadata overhead small and reads fast, and it offers an S3-compatible API so that S3 SDKs and tools such as the AWS CLI can use it with a custom endpoint. The same software can grow into a multi-server cluster.
What Perimattic adds
Pinned, tested version: the image is fixed to 4.52, not 'latest', so a rebuild never changes the application behind your back.
Only the S3 API is exposed: SeaweedFS's master (9333), volume server (8080) and filer (8888) have no authentication of their own. Here they are not published at all; only the S3 gateway is published, on the loopback interface, and only through Apache over HTTPS. S3 access and secret keys are generated per instance (24 random characters each) at first login and written to an S3 identity file that only root can read. Setup then proves that anonymous requests and wrong keys are refused and that a signed request with the generated keys can create a bucket, store an object and read it back, before the endpoint is published. There are no default or shared credentials in the image.
HTTPS: Apache is configured as a reverse proxy in front of the S3 port, with a free Let's Encrypt certificate requested for your domain with certbot.
Patched base: Ubuntu 24.04 LTS built through an automated EC2 Image Builder pipeline, with security updates applied at build time.
Storage and limits
This is one server with one copy of each object and no replication: data lives in /opt/app/data on the instance's root volume, so choose the root EBS volume size for what you will store when you launch, and take EBS snapshots for backup. SeaweedFS marks volumes read-only when less than 10 percent of the disk is free. There is no web console; administer the cluster with weed shell inside the container. Path-style S3 addressing is required.
Licence
SeaweedFS is released under the Apache License 2.0. SeaweedFS Enterprise Edition, sold separately by the project, is not included.
Getting Started Launch the AMI with a root volume sized for your data, and open ports 22, 80 and 443 SSH in and answer the setup prompts (domain and admin email) Note the S3 endpoint, access key and secret key printed at the end of setup Use them with any S3 client, for example: aws --endpoint-url https://your-domain s3 ls
A domain name with an A record pointing at the instance is required, because the endpoint is served over HTTPS. SeaweedFS uses about 300 MB of memory when idle, so a t3.small (2 GB) is a good starting size; choose a larger instance and root volume as your data and request rate grow.
This AMI is built and supported by Perimattic.
Book a free setup consultation at https://cal.com/gaurav-pareek-perimattic/marketplace-setup-consultations or email us at aws-support@perimattic.com .
Support Managed and supported by Perimattic, a cloud infrastructure company with 13+ years of experience serving global clients. We offer free setup assistance, custom integrations, infrastructure consulting, and 24/7 support.
Highlights
- SeaweedFS 4.52 (Apache-2.0) pinned and pre-installed: master, volume server, filer and an S3-compatible API in one process, ready for the AWS CLI and S3 SDKs.
- Only the S3 API is exposed, over HTTPS through Apache. The unauthenticated master, volume and filer ports are never published; S3 keys are generated per instance and anonymous requests are refused.
- Built on patched Ubuntu 24.04 LTS and supported by Perimattic: free setup assistance at aws-support@perimattic.com.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
- ...
Dimension | Cost/hour |
|---|---|
t3.small Recommended | $0.03 |
t3.micro | $0.03 |
c3.2xlarge | $0.03 |
c3.4xlarge | $0.03 |
c3.8xlarge | $0.03 |
c3.large | $0.03 |
c3.xlarge | $0.03 |
c4.2xlarge | $0.03 |
c4.4xlarge | $0.03 |
c4.8xlarge | $0.03 |
Vendor refund policy
For any questions or concerns, please contact: Perimattic.com Email: aws-support@perimattic.com
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Initial release.
- Application: SeaweedFS 4.52 (container image pinned, baked into the AMI).
- Base: Ubuntu 24.04 LTS, fully patched at build time, built by an automated EC2 Image Builder pipeline.
- TLS: Apache reverse proxy with a Let's Encrypt certificate requested by certbot at first login.
- Credentials are generated on the instance at first login; none are present in the image.
- S3 access and secret keys are generated at first login and written to a root-only identity file; setup verifies that anonymous and wrong-key requests are refused and a signed request works before the endpoint is published. Only the S3 API is reachable; the unauthenticated master, volume and filer ports are not published.
- Application: SeaweedFS 4.52 (Apache-2.0, upstream chrislusf/seaweedfs image, pinned). Single server, one copy of each object, data in /opt/app/data on the root volume.
- Apache proxies the S3 API with encoded slashes preserved so that signed requests verify.
Additional details
Usage instructions
-
Launch an Instance
From AWS Marketplace, click Continue to Subscribe and then Continue to Configuration to launch the AMI.
-
Choose the Recommended Instance Type
t3.small (2 GB of memory) is the recommended starting size: SeaweedFS uses about 300 MB when idle. The root EBS volume holds your data, so size it when you launch; choose t3.medium or larger for heavy request rates.
-
Configure Security Group
Allow inbound traffic on the following ports:
- 22 (SSH) - terminal access for setup
- 80 (HTTP) - needed to validate your domain for the TLS certificate
- 443 (HTTPS) - access to SeaweedFS
-
Point a domain at the instance
Create a DNS A record (for example s3.example.com) pointing to the instance's public IP before you log in.
-
Connect to the Instance
ssh -i <your-key.pem> ubuntu@<public-ip>
-
First-Login Setup
The first SSH login runs a guided setup:
- Prompts for your domain and admin email and checks the DNS A record
- Generates a random 24-character S3 access key and secret key on your server and writes the S3 identity file (root only)
- Starts SeaweedFS and checks that anonymous requests and wrong keys are refused and that a signed request with the generated keys works
- Configures Apache as an HTTPS reverse proxy for the S3 API only and requests a Let's Encrypt certificate
- Prints the S3 endpoint, access key and secret key; they are also stored in /opt/app/access.txt (root only)
If a step fails, fix the problem shown and log in again: the setup resumes where it stopped.
-
Access SeaweedFS
Use the S3 endpoint, access key and secret key printed at the end of setup (view them again with: sudo cat /opt/app/access.txt) with any S3 client and path-style addressing, for example: aws --endpoint-url https://<your-domain> --region us-east-1 s3 mb s3://my-bucket
-
Credentials
Generated on your server, never shared between customers. View them again with:
sudo cat /opt/app/access.txt
-
Manage the Services
cd /opt/app sudo docker compose ps sudo docker compose restart
Data lives in /opt/app/data on the root volume (one copy, no replication): size the volume for your data and take EBS snapshots. Add S3 users by editing /opt/app/config/s3.json (root only) and running sudo docker compose restart. The master, volume server and filer are internal to the container and are not published; use sudo docker exec -it seaweedfs weed shell to administer.
Thank you for subscribing.
Need Support or Customization? Perimattic's team can help with setup issues, custom features and integrations:
Email us: aws-support@perimattic.com WhatsApp: +91-92142 66896 Learn more: <www.perimattic.com >
We offer free setup assistance, custom development and integrations, and infrastructure consulting.
Resources
Support
Vendor support
Support by Perimattic
Perimattic provides 24/7 support for all AWS Marketplace products. Our team has 13+ years of cloud infrastructure expertise serving global clients.
Contact Channels: Email: aws-support@perimattic.com WhatsApp: +91-92142 66896 Website: <www.perimattic.com >
What We Help With: Initial setup and configuration assistance (free) Troubleshooting connectivity, performance, and backup issues Custom development and integrations Infrastructure consulting and architecture review Migration planning from other solutions Automation solutions and scaling guidance
Instance Sizing Guidance: t2.medium or t3.medium: Development environments, small applications m5.large: Production workloads with moderate traffic m5.xlarge: High-traffic production deployments and larger datasets
For workload-specific sizing recommendations, contact our team for a free consultation.
Refunds and Issues: If you experience any issues or need to request a refund, contact us at aws-support@perimattic.com and we will respond promptly.
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.