Resources: https://awesomeopensource.com/project/gdamdam/awesome-decentralized-web
Element Repos: https://github.com/vector-im
https://github.com/tartaria-nova/RSS-3.0
The goal of this project is to provide a Dockerized Ubuntu/CentOS image that Creators can easily setup. This will automatically install & connect to multiple distributed content networks listed below, provide an Admin UI/CMS running on port 80(Like Wordpress) & serve a website/portal for public or members only content. The Creator may add plugins/modules for payments or subscriptions, themes, etc.
All content will be stored/accessed via distributed networks.
There are multiple decentralized content delivery networks. The following is a few to look into & that we may or may not end up using. Please give feedback/suggestions if there are alternatives that would better serve the goals of this project. A Node.js/npm package will be created as a wrapper to interact with the various network APIs running on the Creator's instance
Matrix: https://matrix.org/docs/develop | https://github.com/matrix-org/dendrite
Diaspora: https://github.com/diaspora/diaspora
Mastdon: https://github.com/tootsuite/mastodon
Peertube: https://github.com/Chocobozzz/PeerTube | https://docs.joinpeertube.org/install-docker
LBRY: https://lbry.com/
- NGINX & PHP-FPM containers running alongside network/service containers on the Creator's instance(s).
- Supports creation & management of cluster/nodes via host APIs &/or https://code-ready.github.io/crc/
PWA: https://ionicframework.com/docs/vue/pwa
Ionic Framework: https://ionicframework.com/docs/vue/overview
Electron: https://www.electronjs.org/ (cross-platform desktop apps)
Getting started using the Fediverse is VERY simple & straight forward. Creators can use our One-Click/Marketplace app on popular hosts like DigitalOcean, Heroku & Linods to automatically install everything they need. Advanced users may install with Docker (e.g. docker pull fediverse:10.04
) or simply by pulling this repo & running docker-compose up -d
Anyone who has ever used applications like cPanel & the included One-Click Apps like WordPress will be comfortable with the process. We will provide easy to follow guides, video tutorials, community support/forum & for those who want more hands on support or managed hosting we may provide those services in the future for a fee. (any/all profits should go into philanthropy & supporting the continued development of this project.
- Digital Ocean
- Marketplace App https://docs.digitalocean.com/products/app-platform/how-to/create-apps/
- Easy "Deploy to" Button: https://docs.digitalocean.com/products/app-platform/how-to/add-deploy-do-button/
- Linode
- Marketplace App https://github.com/linode/Marketplace-Apps
- Vultr
- One-Click App: https://www.vultr.com/features/one-click-apps/
- Heroku
- Container Registry https://devcenter.heroku.com/articles/container-registry-and-runtime
- Custom install
- Downloadable ISO/img
- Github repo to pull/clone & then use
docker-compose up
to start all services.
- Goto https://cloud.digitalocean.com/droplets/new
- Under
Choose an image
select theMarketplace
tab, search for & selectFediverse
?? - Select {min-requirements} & Create Droplet!
- Navigate to https://NEW_DROPLET_IP
- Login with default
user
andpassword
& complete the setup wizard.
Define list/specification of goals/problems to solve.Fediverse/MetaNet spec sheet- Determine the best tech stack, libraries & decentralized content networks to use.
- Create Dockerfile/docker-compose.yml to install/launch networks & services.
- Setup Docker registry: https://docs.docker.com/registry/deploying/
- Docker Hub account/repo setup: https://docs.docker.com/docker-hub/repos/
- Become vendor/partner for 1-Click-Apps: https://github.com/digitalocean/marketplace-partners
- Create
Deploy to..
button: https://docs.digitalocean.com/products/app-platform/how-to/add-deploy-do-button/
- Build a RESTful JSON API (wrapper for all service APIs + additional Fediverse specific methods)
- Build packages/plugins for Node.js (Vue store), PHP/composer & others.
- Create Admin UI used to manage server(s) & content.
- Create Setup Wizard
- Create front-end consumption UI(reader) to serve & display creator content.
- Create modules/plugins, themes, 3rd party integrations & any other initially required features.