web10 is a system for users to own their data on the internet.
the social experiences of the future
not public and permanent like blockchain, allows for private and temporary
demonopolizes the internet, breaks it up into modules.
bring your data with you across apps
web10 provides free databases for developers [users pay for plans]
make money as a web10 developer or web10 provider
Try a web10 app [contact manager] : https://crm.web10.app
The web10 inc. web10 node : https://web10.app
docs page [for developers] : https://docs.web10.app
web10 discord : https://discord.gg/Dbd4VEDznU
web10 deployment video tutorial : https://www.youtube.com/watch?v=DgiiakMRRyQ
This guide will :
-
Explain how to run the web10 system locally
-
Deploy the web10 system seamlessly to Google Cloud + MongoDB Atlas
-
Specify the web10 protocol
web10 is a system that any person can get running Locally + MongoDB Atlas in 15 minutes.
Step 1 : give the web10 repo a star :) [ join the web10 discord too :0 ]
Step 2 : fork the web10 repo
Step 3 : clone your fork of the web10 GitHub repo locally.
Step 4 : Make a Mongo DB Atlas account. start a free cluster.
Step 5 : Go to the /api/app directory. Duplicate settings_example.py file in the same location, and rename the duplicate to settings.py
Step 6 : In your settings.py, change the DB_URL to your Mongo DB atlas DB URL
# change this part in the settings.py file you made to your own DB_URL
DB_URL = "mongodb+srv://web10:jSol....."
Step 7 : Go to https://seanwasere.com/generate-random-hex/
Step 8 : Change PRIVATE_KEY to the number you generated on the website.
# change this part in the settings.py file you made to your own PRIVATE_KEY
PRIVATE_KEY = "8cbec8....."
Step 9 : Set BETA_REQUIRED, PAY_REQUIRED, and VERIFY REQUIRED How you please. If you set them all to "False", you can skip step 10.
# try setting these all to false. [or however you would like]
BETA_REQUIRED = False
VERIFY_REQUIRED = False
PAY_REQUIRED = False
Step 10 : Optionally, make Stripe and Twilio accounts for verification and payments and fill out the API keys. Optionally, set a beta code.
BETA_CODE = "web10betacode"
TWILIO_SERVICE = "VAbce...."
TWILIO_ACCOUNT_SID = "AC3594...."
TWILIO_AUTH_TOKEN = "460d....."
STRIPE_STATUS = "live"
STRIPE_TEST_KEY = "sk_test_51Khy....."
STRIPE_TEST_CREDIT_SUB_ID = "price_1Kh...."
STRIPE_TEST_SPACE_SUB_ID = "price_1Ki...."
STRIPE_LIVE_KEY = "sk_live_51Khyui......"
STRIPE_LIVE_CREDIT_SUB_ID = "price_1Kkb....."
STRIPE_LIVE_SPACE_SUB_ID = "price_1Kkb7....."
Step 12 : Go to the /auth/src directory. Duplicate config_example.js file in the same location, and rename the duplicate to config.js
Step 13 : In your config.js, Set BETA_REQUIRED, PAY_REQUIRED, and VERIFY REQUIRED to the same values as you did in step 9
var config = {
DEFAULT_API: "api.localhost",
/* change these 3 variables to match step 9 */
BETA_REQUIRED: false,
VERIFY_REQUIRED: false,
PAY_REQUIRED: false,
}
Step 12 : Install docker, in the main directory run
docker-compose up --build
Step 13 : Try running the web10 example application crm.localhost
Once successfully running the web10 system successfully locally, you can get web10 running successfully from google cloud.
Step 1: Install KubeCTL
Step 2 : Install Skaffold
Step 3 : Log into Google Cloud, Start a Google Cloud Kubernetes Autopilot Instance.
Step 4: Connect Google Cloud Kubernetes Autopilot to your computer's terminal by copy pasting the command from Google Cloud that they supply in the dashboard.
Step 5 : CD into the skaffold/folder
Step 6 : Make a copy of the run_example called run.
Step 7 : Change "pure-phalanx-344719" in the files of the run folder to match your google cloud project ID.
Step 8 : Go into the run folder and run the command "skaffold run"
Exposing the containers and configuring the skaffold files to the domain names / IP addresses of the containers.
Step 9 : Expose all the docker containers in the Kubernetes dashboard.
Step 10 : change the env vars in the yml files in the run folder to match the domains / IPs of the docker containers.
Have fun with web10, use it responsibly, and please give it a star!
feature | Description |
---|---|
Hosting Platform Portability | It is designed entirely through Docker + Kubernetes + Skaffold deployment mechanisms, meaning it can be ported to any cloud provider with Kubernetes, or deployed on bare metal. |
Provider Self Sufficiency | The web10 host has charging mechanisms to make sure that account holders pay the provider for the bandwidth and storage they use. |
Mongo DB Based | Web 10 nodes work off of the highly scalable mongo DB framework for Data storage. |
WebRTC | Web 10 makes it easy to use webRTC, and handles the initial identity verification needed to do webRTC properly. |
TBD [Phone as a Keychain encryption] | Encrypt data on web10 providers without those providers being able to access the data, because the keys are locally stored on your phone. |
Data interoperability | Developers can use data from other apps with web10 user permission. |
Free for Developers | Users / web10 providers bear the cloud costs. |