Akash Network

A core goal of 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.

What is Akash?

Akash is an open source Cloud platform that lets you quickly deploy a Docker container to the Cloud provider of your choice for less than the cost of AWS, right from the command-line.

  • Define your Docker image, CPU, Memory, and Storage in a deploy.yaml file.

  • Set your price, receive bids from providers in seconds, and select the lowest price.

  • Deploy your application without having to set up, configure, or manage servers.

  • Scale your application from a single container to hundreds of deployments.

Community Projects

What does this mean?

Through this partnership, developers and enterprises now have the ability to pair dWeb applications with the thousands of existing backup tools, application SDKs and frameworks that they already know and love. By offering open-source dWeb compute and petabyte-scale object storage,

Akash and Filebase can help to reduce cloud costs by up to 85 percent, compared to traditional cloud services.

Access Decentralized Compute and Storage together, as one.

Receive $100 in Akash Credit and 1TB of S3 Compatible Object Storage by visiting https://filebase.com/akash

Below is a short setup guide that will help you to quickly configure and setup Akash for success. For more questions pleas visit the Akash documentation site

Setup 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 cluster.ewr1p0.mainnet.akashian.io:31234

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.

For example:

services:

app:

image: myappimage:v1

depends_on:

- service: postgres

cron:

image: ghcr.io/ovrclk/akash-postgres-restore:v0.0.4

env:

- POSTGRES_PASSWORD=password

...

depends_on:

- service: postgres

postgres:

image: postgres:12.6

env:

- POSTGRES_PASSWORD=password

expose:

- port: 5432

to:

- service: app

- service: cron

Environment variables

  • 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

Development

You can run the application locally using Docker compose. Copy the .env.sample file to .env and populateRun docker-compose up to build and run the application