Unstoppable Domains: Deploy a Decentralized Blog Using Unstoppable Domains, Akash, and IPFS
Learn how to deploy a decentralized blog using Unstoppable Domains and Filebase.

What are Unstoppable Domains?

Unstoppable Domains are NFT domains that are associated with a crypto wallet and minted on blockchain networks, just like other forms of NFTs like image or music files. Unstoppable Domains can be used with DNS CNAME records like traditional domain names, meaning you can use an Unstoppable Domain as a domain name for a personal website or blog.

What is Akash?

Akash is an open-source cloud platform that lets you quickly deploy a Docker container to any cloud provider of your choice. Akash is a compute partner to Filebase, providing developers and enterprises with the ability to create decentralized applications connected to Filebase.
Read below to learn how to deploy a decentralized blog using Unstoppable Domains, Akash, and Filebase.
This guide was created and tested using Ubuntu 20.04. Commands and workflow may vary depending on your operating system.

Prerequisites:

  • Have Your Filebase Access and Secret Keys. Learn how to view your access keys here.

1. Login to the Unstoppable Domains web dashboard.

Select ‘Domains’ then ‘Domain Search’.

2. Search for your desired domain name.

Select the one you’d like to purchase.

3. Once purchased, your domain will be listed under the ‘My Domains’ tab.

Select ‘Free Mint’ to mint your domain on the Polygon network.
Minting is the process of converting a digital file into a crypto collectible or digital asset on a blockchain network. In this case, we are minting our digital asset, our domain, on the Polygon blockchain network.

4. Select ‘Continue’ to begin the minting process.

5. Choose the crypto wallet you’d like to mint your domain to.

In this tutorial, we’ll use MetaMask.

6. Accept and sign the signature request through the MetaMask plugin.

7. Choose the wallet to mint to.

8. Confirm that the wallet address is correct and that the domain name is the desired domain to be minted.

9. The minting process can take a few minutes.

Select “Track Progress” to view the status of your minting transaction.

10. Once the transaction has been completed, your domain has been minted.

11. Next, open a terminal window. Create a working directory:

mkdir .akash-ui

12. Create a Docker container using the tombeynon/akash-deploy image.

This image uses the Akash network.
docker run -v ~/.akash-ui:/root/akash -p 3000:3000 --rm -it tombeynon/akash-deploy

13. Navigate to localhost:3000.

If you want to create a new Akash wallet, enter a Keyring password. If you already have an Akash wallet you’d like to use, enter the wallet’s Recovery phrase.

14. You will be brought to a screen displaying your wallet address and its current balance.

You will need to have some AKT to use Akash. Learn more about how to buy or trade AKT here.

15. Select ‘Deployments’ from the top navigation bar. Then select ‘Create New’.

16. Input the following information for your deployment:

Special thanks to Medium User @zJ_ for this custom deployment
1
---
2
version: "2.0"
3
services:
4
db:
5
image: mysql/mysql-server:latest
6
env:
7
- MYSQL_ROOT_PASSWORD=ROOTPASSWORD
8
- MYSQL_DATABASE=DATABASE
9
- MYSQL_USER=USERNAME
10
- MYSQL_PASSWORD=PASSWORD
11
expose:
12
- port: 3306
13
to:
14
- service: wordpress
15
wordpress:
16
depends-on:
17
- db
18
image: zjuuu/akash-wphns:latest
19
env:
20
- WORDPRESS_DB_HOST=db
21
- WORDPRESS_DB_NAME=DATABASE
22
- WORDPRESS_DB_USER=USERNAME
23
- WORDPRESS_DB_PASSWORD=PASSWORD
24
- WORDPRESS_TABLE_PREFIX=wp_
25
expose:
26
- port: 80
27
accept:
28
- UNSTOPPABLE-DO
29
to:
30
- global: true
31
profiles:
32
compute:
33
wordpress:
34
resources:
35
cpu:
36
units: 1
37
memory:
38
size: 2Gi
39
storage:
40
size: 2Gi
41
db:
42
resources:
43
cpu:
44
units: 1
45
memory:
46
size: 1Gi
47
storage:
48
size: 1Gi
49
placement:
50
westcoast:
51
pricing:
52
wordpress:
53
denom: uakt
54
amount: 5000
55
db:
56
denom: uakt
57
amount: 5000
58
deployment:
59
wordpress:
60
westcoast:
61
profile: wordpress
62
count: 1
63
db:
64
westcoast:
65
profile: db
66
count: 1
Copied!
Replace the following variables:
  • MYSQL_ROOT_PASSWORD=ROOTPASSWORD
  • MYSQL_DATABASE=DATABASE
  • MYSQL_USER=USERNAME
  • MYSQL_PASSWORD=PASSWORD
  • WORDPRESS_DB_HOST=db
  • WORDPRESS_DB_NAME=DATABASE
  • WORDPRESS_DB_USER=USERNAME
  • WORDPRESS_DB_PASSWORD=PASSWORD
  • WORDPRESS_TABLE_PREFIX=wp_
  • UNSTOPPABLE-DOMAIN
After submitting the deployment, you will need to accept the offer from a Provider, then send the deployment manifest. After that, your Wordpress blog will be available at the supplied .ingress..mainnet.akashian.io URL.

17. Now we need a Filebase IPFS bucket.

To do this, navigate to console.filebase.com. If you don’t have an account already, sign up, then log in.

18. Select ‘Buckets’ from the left side bar menu, or navigate to console.filebase.com/buckets.

Select ‘Create Bucket’ in the top right corner to create a new bucket.

19. Enter a bucket name and choose the IPFS storage network to create the bucket.

In this guide, we’re calling the bucket filebase-IPFS.
Typically, IPFS pinned files are stored on centralized cloud providers, like AWS. On Filebase, all files that are pinned onto IPFS are actually being stored on the Sia network. This creates an environment where the data storage layer for Filebase IPFS nodes is highly available, and most importantly, geo-redundant.
Bucket names must be unique across all Filebase users, be between 3 and 63 characters long, and can contain only lowercase characters, numbers, and dashes.

20. From your Wordpress dashboard, select your Wordpress site, then select ‘Plugins’ from the left side bar menu.

21. Search for the ‘Media Cloud’ plugin.

22. Install the Media Cloud plugin.

23. After the plugin has been installed, manage the plugin.

24. Alternatively, you can also select the plugin from the left side bar menu.

25. Once in the configuration screen, select the ‘Cloud Storage’ toggle option to toggle it on, then select ‘Settings’ to configure your Filebase account for use with Media Cloud.

26. Toggle ‘Enable Cloud Storage’, then under the ‘Storage Provider’ menu, choose ‘Other S3 Compatible Service’

27. Scroll down to ‘Provider Settings’. Configure the following information:

  • Access Key: Filebase Access Key
  • Secret: Filebase Secret Key
  • Bucket: Filebase Bucket Name
  • Region: US East (N. Virginia)
  • Custom Endpoint: s3.filebase.com
  • Path Style Endpoint: Toggle On
Save the configuration settings.

28. Verify your configuration. Under ‘Media Cloud’ on the left side bar menu, select ‘System Tests’.

Run all tests and confirm that the sample file uploads to Filebase successfully.

29. Finally, let’s add our Unstoppable Domain to our Wordpress blog.

Create a text file on your computer called index.html with the following content:
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<title>HTML Meta Tag</title>
5
<meta http-equiv = "refresh" content = "1; url = AKASH_URL" />
6
</head>
7
<body>
8
<p>BLOG DESCRIPTION</p>
9
</body>
10
</html>
Copied!
Replace AKASH_URL with your Akash http://*.ingress.*.mainnet.akashian.io URL, and replace BLOG DESCRIPTION with the desired description of your WordPress site.

30. Head back to the Unstoppable Domain dashboard.

Select ‘Domains’ > ‘My Domains’, then select ‘Manage’ for the domain you’re using for your blog.

31. Select ‘Website’, then select ‘Upload Website Files’.

Then upload your newly created index.html file.
Once you’ve completed this step, your blog is ready to be accessed through your Unstoppable Domain name! You’ve now created a decentralized blog powered by 3 different Web3 technologies!
If you have any questions, please join our Discord server, or send us an email at [email protected]
Copy link
Contents
What are Unstoppable Domains?
What is Akash?
1. Login to the Unstoppable Domains web dashboard.
2. Search for your desired domain name.
3. Once purchased, your domain will be listed under the ‘My Domains’ tab.
4. Select ‘Continue’ to begin the minting process.
5. Choose the crypto wallet you’d like to mint your domain to.
6. Accept and sign the signature request through the MetaMask plugin.
7. Choose the wallet to mint to.
8. Confirm that the wallet address is correct and that the domain name is the desired domain to be minted.
9. The minting process can take a few minutes.
10. Once the transaction has been completed, your domain has been minted.
11. Next, open a terminal window. Create a working directory:
12. Create a Docker container using the tombeynon/akash-deploy image.
13. Navigate to localhost:3000.
14. You will be brought to a screen displaying your wallet address and its current balance.
15. Select ‘Deployments’ from the top navigation bar. Then select ‘Create New’.
16. Input the following information for your deployment:
17. Now we need a Filebase IPFS bucket.
18. Select ‘Buckets’ from the left side bar menu, or navigate to console.filebase.com/buckets.
19. Enter a bucket name and choose the IPFS storage network to create the bucket.
20. From your Wordpress dashboard, select your Wordpress site, then select ‘Plugins’ from the left side bar menu.
21. Search for the ‘Media Cloud’ plugin.
22. Install the Media Cloud plugin.
23. After the plugin has been installed, manage the plugin.
24. Alternatively, you can also select the plugin from the left side bar menu.
25. Once in the configuration screen, select the ‘Cloud Storage’ toggle option to toggle it on, then select ‘Settings’ to configure your Filebase account for use with Media Cloud.
26. Toggle ‘Enable Cloud Storage’, then under the ‘Storage Provider’ menu, choose ‘Other S3 Compatible Service’
27. Scroll down to ‘Provider Settings’. Configure the following information:
28. Verify your configuration. Under ‘Media Cloud’ on the left side bar menu, select ‘System Tests’.
29. Finally, let’s add our Unstoppable Domain to our Wordpress blog.
30. Head back to the Unstoppable Domain dashboard.
31. Select ‘Website’, then select ‘Upload Website Files’.