My plan was to build a fully decentralized forum using Discourse, hosted on Akash, and using Handshake for the domain and mail server. I’m also running Windows, so a significant amount of early work went into getting the Akash installation process right for Windows.
Since starting work, the main wall I ran into was figuring out what to include in my deploy.yaml
file - Discourse has a lot of specific environment variables and commands required to finish setup after deploying to a cloud instance. Because a manifest isn’t accepted by a provider if it won’t work and the lease is closed (rightfully so to prevent people from spending unnecessarily), it made it challenging for me to troubleshoot and tweak my deploy file.
I have the mail server and domain set up and ready to go (with traditional backups in case Handshake doesn’t work out initially), but because I’m still working on the deploy file, I’m not sure if the Handshake domain / mail server work.
My next steps:
- Set Discourse config values as env variables in
deploy.yaml
- Figure out & set commands in
deploy.yaml
to map variables to corresponding Discourse config prompts - Test deployment until manifest successfully uploaded to provider and can deploy
- Get provider IP address & add A record to DNS settings for the domain
Once the deploy.yaml
file is correct and I can successfully complete bootstrapping, the Discourse server should be accessible through a web browser via the Handshake domain name used during configuration.
Hopefully, then, I’ll have a fully decentralized forum running.
Current iteration of deploy.yaml
file:
---
version: "2.0"
services:
web:
image: discourse/base
env:
- Hostname="hmail.app"
- ADMIN_EMAIL="admin@boatmeal"
- SMTP_ADDRESS="hmail.app"
- SMTP_PORT="465"
- SMTP_USERNAME="admin@boatmeal
- SMTP_PW="coca2113"
- NOTIF__EMAIL="admin@boatmeal"
command:
- ./discourse-setup
expose:
- port: 3000
as: 80
to:
- global: true
profiles:
compute:
web:
resources:
cpu:
units: 0.1
memory:
size: 1Gi
storage:
size: 4Gi
placement:
westcoast:
attributes:
host: akash
signedBy:
anyOf:
- "akash1365yvmc4s7awdyj3n2sav7xfx76adc6dnmlx63"
pricing:
web:
denom: uakt
amount: 1000
deployment:
web:
westcoast:
profile: web
count: 1