Colin Pollen| Jul 27, 2021| 4 min read
Akash and Filebase Replace S3 with Multi-Cloud dWeb Providers
A core goal of the decentralized web, also known as dWeb, is to help people and organizations regain control of their computing and storage.
To break down barriers when it comes to building the dWeb, Akash Network, an open-source, decentralized cloud has teamed up with Filebase. Filebase is the world’s first object-based storage platform to deliver multi-cloud and dWeb storage options for developers and enterprises.
Decentralized storage networks take advantage of smart, yet complex software which needs to be constantly fed to ensure that storage contracts have enough cryptocurrency. Filebase abstracts away all of that process, making things painless for the end-user.
If you’re using the traditional cloud today, their dashboard should look very familiar to you:
Together with Filebase and Akash, developers and enterprises can now quickly migrate from Amazon Web Services (AWS), Google Cloud, and Microsoft Azure, onto a decentralized network of cloud providers at a reduced cost of up to 85%. By offering open-source dWeb compute and petabyte-scale object storage, developers and enterprises will now have the ability to pair dWeb applications with thousands of existing backup tools, application SDKs, and frameworks that they already know and love.
“The Filebase API is S3 compatible, which allows developers to seamlessly leverage multiple decentralized storage networks for the first time,” said Joshua Noble, CEO and Co-founder of Filebase. “We’re excited to pair our S3 compatible access layer to decentralized storage networks, with the power and flexibility of Akash Network. We can’t wait to see what our ecosystem builds through the pairing of dWeb compute and multi-cloud storage as one.”
Today, we’re highlighting several open-source projects featuring this integration:
Things Are Getting Pinteresting
The first integration with Filebase was launched months before this partnership. The Pinterest app on Rails can be seen live on pin.akash.host and features adorable and adoptable animals in a pinterest like view. The web app streams images from decentralized storage using Filebase’s S3 Compatible API. Backups are also stored using the same API.
Through this integration with Filebase, apps running on Akash can now backup, restore, and migrate a database by connecting the containers running on Akash to persistent storage on Sia, Skynet, or Storj.
An Easy Onramp: Flowing Data onto the Decentralized Web
“Decentralized, blockchain-based infrastructure services are quickly establishing themselves as foundational elements for the potential next generation of cloud IaaS," said Andrew Smith, Research Manager, Cloud Infrastructure Services at IDC. "These services bring differentiated technology to market which is applicable to real-world use cases like storage and compute cost reduction, data compliance, backup, archive, and long-term cold storage. The partnership between Filebase and Akash highlights the continued evolution and improvements to this emerging market segment."
How To Use Filebase with Akash
This is a short setup guide that will help you to quickly configure and setup both Akash and Filebase for success.
Step 1: Register for a Filebase account (Promo code: AKASH).
Step 2: Login and navigate to your Buckets page.
Step 3: Create and name your bucket, select the dWeb network of your choice.
Step 4: Navigate to “Access Keys” and copy your API Endpoint “https://s3.filebase.com”, Access Key and Secret Key - We will use them next with Akash.
Step 1: Set the environment variables in the deploy.yml and deploy on Akash
Step 2: use the URL and port Akash gives you to connect to the Postgres server, with the credentials you provided in the environment variables. For example
Using with an App Container
Alternatively, you can add your own app container to the deploy.yml and expose the Postgres 5432 port to your application only for a local server.
- service: postgres
- service: postgres
- port: 5432
- service: app
- service: cron
POSTGRES_USER=postgres- your Postgres server username
POSTGRES_PASSWORD=password- your Postgres server password
POSTGRES_HOST=postgres- Postgres server host (this will be whatever you named it in deploy.yml)
POSTGRES_PORT=5432- Postgres port, will be 5432 unless you aliased it in deploy.yml
POSTGRES_DATABASE=akash_postgres- name of your database
BACKUP_PATH=bucketname/path- bucket and path for your deployments (make sure directories exist first)
BACKUP_KEY=key- your Filebase access key
BACKUP_SECRET=secret- your Filebase secret
BACKUP_PASSPHRASE=secret- a passphrase to encrypt your backups with
BACKUP_HOST=https://s3.filebase.com- the S3 backup host, this defaults to Filebase but can be any S3 compatible host
BACKUP_SCHEDULE=*/15 * * * *- the cron schedule for backups (defaults to every 15 minutes)
BACKUP_RETAIN=7 days- how many days to keep backups for
You can run the application locally using Docker compose.
.env.sample file to
.env and populate
Run docker-compose up to build and run the application