diff --git a/books/info_grid/SUMMARY.md b/books/info_grid/SUMMARY.md index c3308f8..6ba90c9 100644 --- a/books/info_grid/SUMMARY.md +++ b/books/info_grid/SUMMARY.md @@ -1,2 +1,52 @@ - [Introduction](intro/intro_readme.md) -- [Documentation](documentation/documentation.md) \ No newline at end of file +- [Documentation](documentation/documentation.md) + - [Dashboard](documentation/dashboard/dashboard.md) + - [Wallet Connector](documentation/dashboard/wallet_connector.md) + - [TFGrid](documentation/dashboard/tfgrid/tfgrid.md) + - [Grid Status](documentation/dashboard/tfgrid/grid_status.md) + - [Node Statistics](documentation/dashboard/tfgrid/node_statistics.md) + - [Node Monitoring](documentation/dashboard/tfgrid/node_monitoring.md) + - [Deploy](documentation/dashboard/deploy/deploy.md) + - [Pricing Calculator](documentation/dashboard/deploy/pricing_calculator.md) + - [Node Finder](documentation/dashboard/deploy/node_finder.md) + - [Virtual Machines](documentation/dashboard/solutions/vm_intro.md) + - [Micro and Full VM Differences ](documentation/dashboard/solutions/vm_differences.md) + - [Full Virtual Machine](documentation/dashboard/solutions/fullVm.md) + - [Micro Virtual Machine](documentation/dashboard/solutions/vm.md) + - [Nixos MicroVM](documentation/dashboard/solutions/nixos_micro.md) + - [Add a Domain](documentation/dashboard/solutions/add_domain.md) + - [Orchestrators](documentation/dashboard/deploy/orchestrators.md) + - [Kubernetes](documentation/dashboard/solutions/k8s.md) + - [Caprover](documentation/dashboard/solutions/caprover.md) + - [Caprover Admin](documentation/dashboard/solutions/caprover_admin.md) + - [Caprover Worker](documentation/dashboard/solutions/caprover_worker.md) + - [Dedicated Machines](documentation/dashboard/deploy/dedicated_machines.md) + - [Applications](documentation/dashboard/deploy/applications.md) + - [Algorand](documentation/dashboard/solutions/algorand.md) + - [CasperLabs](documentation/dashboard/solutions/casper.md) + - [Discourse](documentation/dashboard/solutions/discourse.md) + - [Funkwhale](documentation/dashboard/solutions/funkwhale.md) + - [Mattermost](documentation/dashboard/solutions/mattermost.md) + - [Nextcloud](documentation/dashboard/solutions/nextcloud.md) + - [Node Pilot](documentation/dashboard/solutions/nodepilot.md) + - [ownCloud](documentation/dashboard/solutions/owncloud.md) + - [Peertube](documentation/dashboard/solutions/peertube.md) + - [Presearch](documentation/dashboard/solutions/presearch.md) + - [Subsquid](documentation/dashboard/solutions/subsquid.md) + - [Taiga](documentation/dashboard/solutions/taiga.md) + - [Umbrel](documentation/dashboard/solutions/umbrel.md) + - [WordPress](documentation/dashboard/solutions/wordpress.md) + - [Your Contracts](documentation/dashboard/deploy/your_contracts.md) + - [Images](documentation/dashboard/deploy/images.md) + - [SSH Keys](documentation/dashboard/deploy/ssh_keys.md) + - [Farms](documentation/dashboard/farms/farms.md) + - [Your Farms](documentation/dashboard/farms/your_farms.md) + - [Farm Finder](documentation/dashboard/farms/farms_finder.md) + - [Node Installer](documentation/dashboard/farms/node_installer.md) + - [Simulator](documentation/dashboard/farms/simulator.md) + - [TFChain](documentation/dashboard/tfchain/tfchain.md) + - [Your Profile](documentation/dashboard/tfchain/your_profile.md) + - [TF DAO](documentation/dashboard/tfchain/tf_dao.md) + - [TF Token Bridge](documentation/dashboard/tfchain/tf_token_bridge.md) + - [TF Token Transfer](documentation/dashboard/tfchain/tf_token_transfer.md) + - [TF Minting Reports](documentation/dashboard/tfchain/tf_minting_reports.md) \ No newline at end of file diff --git a/collections/documentation/dashboard/dashboard.md b/collections/documentation/dashboard/dashboard.md new file mode 100644 index 0000000..991b189 --- /dev/null +++ b/collections/documentation/dashboard/dashboard.md @@ -0,0 +1,43 @@ +

ThreeFold Dashboard

+ +Explore, control, and manage your ThreeFold Grid resources effortlessly through our integrated Dashboard. Deploy solutions seamlessly while gaining full control, all within a unified interface. + +The ThreeFold Dashboard is a revolutionary platform that simplifies the deployment process, allowing users to effortlessly interact with the TFGrid using intuitive web components known as weblets. + +## What is the ThreeFold Dashboard? + +The ThreeFold Dashboard is a dynamic environment designed for both seasoned developers and newcomers alike. It offers a seamless and accessible browser experience, making it easy to deploy solutions on the TFGrid through the use of weblets. + +In the context of the Dashboard, a weblet is a compiled JavaScript web component that can be effortlessly embedded within the HTML page of a web application. This modular approach allows for flexible and intuitive interactions, facilitating a user-friendly deployment process. + +The backend for the weblets is introduced with the [Javascript Client](../developers/javascript/grid3_javascript_readme.md) which communicates to TFChain over RMB. + +

Table of Contents

+ +- [Wallet Connector](./wallet_connector.md) +- [TFGrid](./tfgrid/tfgrid.md) +- [Deploy](./deploy/deploy.md) +- [Farms](./farms/farms.md) +- [TFChain](./tfchain/tfchain.md) + +## Advantages + +- It is a non-code easy way to deploy a whole solution on the TFGrid. +- It is 100% decentralized, there is no server involved. +- It is powerful tool designed to empower individuals and organizations with seamless control and management over their ThreeFold Grid resources. +- It provides an intuitive web-based interface that allows users to effortlessly deploy, monitor, and scale their workloads on the decentralized and sustainable ThreeFold Grid infrastructure. + +## Dashboard + +You can access the ThreeFold Dashboard on different TF Chain networks. + +- [https://dashboard.dev.grid.tf](https://dashboard.dev.grid.tf) for Dev net +- [https://dashboard.qa.grid.tf](https://dashboard.qa.grid.tf) for QA net +- [https://dashboard.test.grid.tf](https://dashboard.test.grid.tf) for Test net +- [https://dashboard.grid.tf](https://dashboard.grid.tf) for Main net + +## Limitations + +- Regarding browser support, we're only supporting Google Chrome browser (and thus Brave browser) at the moment with more browsers to be supported soon. +- Deploys one thing at a time. +- Might take sometime to deploy a solution like Peertube, so you should wait a little bit until it's fully running. diff --git a/collections/documentation/dashboard/deploy/applications.md b/collections/documentation/dashboard/deploy/applications.md new file mode 100644 index 0000000..ca16e19 --- /dev/null +++ b/collections/documentation/dashboard/deploy/applications.md @@ -0,0 +1,24 @@ +

Ready Community Applications

+ +Easily deploy your favourite applications on the ThreeFold grid with a click of a button. + +![](../img/applications_landing.png) + +*** + +

Table of Contents

+ +- [Algorand](../solutions/algorand.md) +- [CasperLabs](../solutions/casper.md) +- [Discourse](../solutions/discourse.md) +- [Funkwhale](../solutions/funkwhale.md) +- [Mattermost](../solutions/mattermost.md) +- [Nextcloud](../solutions/nextcloud.md) +- [Node Pilot](../solutions/nodepilot.md) +- [ownCloud](../solutions/owncloud.md) +- [Peertube](../solutions/peertube.md) +- [Presearch](../solutions/presearch.md) +- [Subsquid](../solutions/subsquid.md) +- [Taiga](../solutions/taiga.md) +- [Umbrel](../solutions/umbrel.md) +- [WordPress](../solutions/wordpress.md) \ No newline at end of file diff --git a/collections/documentation/dashboard/deploy/dedicated_machines.md b/collections/documentation/dashboard/deploy/dedicated_machines.md new file mode 100644 index 0000000..24f4dbb --- /dev/null +++ b/collections/documentation/dashboard/deploy/dedicated_machines.md @@ -0,0 +1,93 @@ +

Dedicated Machines

+ +

Table of Contents

+ +- [What is a Dedicated Machine?](#what-is-a-dedicated-machine) +- [Description](#description) +- [Billing \& Pricing](#billing--pricing) +- [Discounts](#discounts) +- [Usage](#usage) +- [GPU Support](#gpu-support) +- [Filter and Reserve a GPU Node](#filter-and-reserve-a-gpu-node) + - [Filter Nodes](#filter-nodes) + - [Reserve a Node](#reserve-a-node) +- [GPU Support Links](#gpu-support-links) + +*** + +## What is a Dedicated Machine? + +Dedicated machines are 3Nodes that can be reserved and rented entirely by one user. The user can thus reserve an entire node and use it exclusively to deploy solutions. This feature is ideal for users who want to host heavy deployments with the benefits of high reliability and cost effectiveness. + +## Description + +- Node reserved with deploying a `RentContract` on this node. node can has only one rentContract. +- When a user create a RentContract against a node, the grid validate that there are no other active contracts on that node on the creation. +- Once a RentContract is created, the grid can only accept contracts on this node from the tenant. +- Only workloads from the tenant are accepted + +## Billing & Pricing + +- Once a node is rented, there is a fixed charge billed to the tenant regardless of deployed workloads. +- Any subsequent NodeContract deployed on a node where a rentContract is active (and the same user is creating the nodeContracts) can be excluded from billing (apart from public ip and network usage). +- Billing rates are calculated hourly on the TFGrid. + - While some of the documentation mentions a monthly price, the chain expresses pricing per hour. The monthly price shown within the manual is offered as a convenience to users, as it provides a simple way to estimate costs. + +## Discounts + +- Received Discounts for renting a node on TFGrid internet capacity + - 50% for dedicated node (TF Pricing policies) + - A second level discount up to 60% for balance level see [Discount Levels](../../../knowledge_base/cloud/pricing/staking_discount_levels.md) +- Discounts are calculated every time the grid bills by checking the available TFT balance on the user wallet and seeing if it is sufficient to receive a discount. As a result, if the user balance drops below the treshold of a given discount, the deployment price increases. + +## Usage + +- See list of all dedicated node on `Dedicated Machines` tab on the portal. + + ![ ](../img/dedicated_machines.png) + + - Hover over the price to see the applied discounts + + ![](../img/dashboard_dedicated_nodes_discounts.png) + + - Expand row to see more info on the node: + + ![ ](../img/dashboard_dedicated_nodes_details.png) + - Resources + - Location + - Possible Public Ips *this depends on the farm it belongs to* + + - You can see the nodes in 2 states: + - Free + - Reserved *Owned by current twin* +- Reserve a node: + - If node is not rented by another twin you can simply click reserve. + + +- Unreserve a node: + - Simply as reserving but another check will be done to check you don't have any active workloads on the node before unreserving. + +## GPU Support + +To use a GPU on the TFGrid, users need to rent a dedicated node. Once they have rented a dedicated node equipped with a GPU, users can deploy workloads on their dedicated GPU node. + +## Filter and Reserve a GPU Node + +You can filter and reserve a GPU node using the [Dedicated Machines section](https://dashboard.grid.tf/#/deploy/dedicated-nodes/) of the **Dashboard**. + +### Filter Nodes + +- Filter nodes using the vendor name + - In **Filters**, select **GPU's vendor name** + - Write the name of the vendor desired (e.g. **nvidia**, **amd**) +- Filter nodes using the device name + - In **Filters**, select **GPU's device name** + - Write the name of the device desired (e.g. **GT218**) + +### Reserve a Node + +When you have decided which node to reserve, click on **Reserve** under the column named **Actions**. Once you've rented a dedicated node that has a GPU, you can deploy GPU workloads. + +## GPU Support Links + +The ThreeFold Manual covers many ways to use a GPU node on the TFGrid. Read [this section](../../system_administrators/gpu/gpu_toc.md) to learn more. \ No newline at end of file diff --git a/collections/documentation/dashboard/deploy/deploy.md b/collections/documentation/dashboard/deploy/deploy.md new file mode 100644 index 0000000..a96decc --- /dev/null +++ b/collections/documentation/dashboard/deploy/deploy.md @@ -0,0 +1,27 @@ +# Deploy + +Here you will find everything related to deployments on the ThreeFold grid. This includes: + +- Checking the cost of a deployment using [Pricing Calculator](./pricing_calculator.md) +- Finding a node to deploy on using the [Node Finder](./node_finder.md) +- Deploying your desired workload from [Virtual Machines](../solutions/vm_intro.md), [Orchestrators](./orchestrators.md), or [Applictions](./applications.md) +- Renting your own node on the ThreeFold grid from [Dedicated Machines](./dedicated_machines.md) +- Consulting [Your Contracts](./your_contracts.md) on the TFGrid +- Finding or publishing Flists from [Images](./images.md) +- Updating or generating your SSH key from [SSH Keys](./ssh_keys.md) + + ![](../img/sidebar_2.png) + +*** + +## Table of Content + +- [Pricing Calculator](./pricing_calculator.md) +- [Node Finder](./node_finder.md) +- [Virtual Machines](../solutions/vm_intro.md) +- [Orchestrators](./orchestrators.md) +- [Dedicated Machines](./dedicated_machines.md) +- [Applications](./applications.md) +- [Your Contracts](./your_contracts.md) +- [Images](./images.md) +- [SSH Keys](./ssh_keys.md) \ No newline at end of file diff --git a/collections/documentation/dashboard/deploy/images.md b/collections/documentation/dashboard/deploy/images.md new file mode 100644 index 0000000..2c27966 --- /dev/null +++ b/collections/documentation/dashboard/deploy/images.md @@ -0,0 +1,5 @@ +# Images + +Find or Publish your Flist from [Zero-OS Hub](https://hub.grid.tf/) + +![](../img/0_hub.png) \ No newline at end of file diff --git a/collections/documentation/dashboard/deploy/node_finder.md b/collections/documentation/dashboard/deploy/node_finder.md new file mode 100644 index 0000000..dd93347 --- /dev/null +++ b/collections/documentation/dashboard/deploy/node_finder.md @@ -0,0 +1,40 @@ +

Node Finder

+ +

Table of Contents

+ +- [Nodes](#nodes) +- [GPU Support](#gpu-support) + +*** + +## Nodes + +The Node Finder page provides a more detailed view for the nodes available on the ThreeFold grid With detailed information and statistics about any of the available nodes. + +![](../img/nodes.png) + +You can get a node with the desired specifications using the filters available in the nodes page. + +![](../img/nodes_filters.png) + +You can see all of the node details by clicking on a node record. + +![](../img/nodes_details.png) + +## GPU Support + +![GPU support](../img/gpu_filter.png) + +- A new filter for GPU supported node is now available on the Nodes page. +- GPU count +- Filtering capabilities based on the model / device + +On the details pages is shown the card information and its status (`reserved` or `available`) also the ID that’s needed to be used during deployments is easily accessible and has a copy to clipboard button. + +![GPU details](../img/gpu_details.png) + +Here’s an example of how it looks in case of reserved + +![GPU details](../img/gpu_details_reserved.png) + +The TF Dashboard is where to reserve the nodes the farmer should be able to set the extra fees on the form and the user also should be able to reserve and get the details of the node (cost including the extrafees, GPU informations). diff --git a/collections/documentation/dashboard/deploy/node_finder_gpu_support.md b/collections/documentation/dashboard/deploy/node_finder_gpu_support.md new file mode 100644 index 0000000..7002630 --- /dev/null +++ b/collections/documentation/dashboard/deploy/node_finder_gpu_support.md @@ -0,0 +1,19 @@ +

GPU Support

+ +*** + +![GPU support](../img/gpu_filter.png) + +- A new filter for GPU supported node is now available on the Nodes page. +- GPU count +- Filtering capabilities based on the model / device + +On the details pages is shown the card information and its status (`reserved` or `available`) also the ID that’s needed to be used during deployments is easily accessible and has a copy to clipboard button. + +![GPU details](../img/gpu_details.png) + +Here’s an example of how it looks in case of reserved + +![GPU details](../img/gpu_details_reserved.png) + +The TF Dashboard is where to reserve the nodes the farmer should be able to set the extra fees on the form and the user also should be able to reserve and get the details of the node (cost including the extrafees, GPU informations). diff --git a/collections/documentation/dashboard/deploy/orchestrators.md b/collections/documentation/dashboard/deploy/orchestrators.md new file mode 100644 index 0000000..47282a6 --- /dev/null +++ b/collections/documentation/dashboard/deploy/orchestrators.md @@ -0,0 +1,14 @@ +# Orchestrators + +Deploy your favorite orchestrating services and enjoy the seamless coordination and automation of various software applications and services. + +![](../img/orchestrator_landing.png) + +*** + +## Table of Contnet + +- [Kubernetes](../solutions/k8s.md) +- [Caprover](../solutions/caprover.md) + - [Caprover Admin](../solutions/caprover_admin.md) + - [Caprover Worker](../solutions/caprover_worker.md) \ No newline at end of file diff --git a/collections/documentation/dashboard/deploy/pricing_calculator.md b/collections/documentation/dashboard/deploy/pricing_calculator.md new file mode 100644 index 0000000..a050215 --- /dev/null +++ b/collections/documentation/dashboard/deploy/pricing_calculator.md @@ -0,0 +1,6 @@ +# TF Resource Calculator + +A tool provided by ThreeFold that allows users to estimate and calculate potential cost of a deployment on the ThreeFold grid. The resource calculator takes into account various factors, including deployment resources, node certification, currnet balance, and in return it displays an accurate estimate for the deployment in terms of ThreeFold Tokens (TFT) and in USD per month. + + +![](../img/pricing_calculator.png) \ No newline at end of file diff --git a/collections/documentation/dashboard/deploy/ssh_keys.md b/collections/documentation/dashboard/deploy/ssh_keys.md new file mode 100644 index 0000000..4e2cecb --- /dev/null +++ b/collections/documentation/dashboard/deploy/ssh_keys.md @@ -0,0 +1,5 @@ +# SSH Keys + +Add, update or generate your SSH key with a click of a button. + +![](../img/SSH_Key.png) \ No newline at end of file diff --git a/collections/documentation/dashboard/deploy/vm.md b/collections/documentation/dashboard/deploy/vm.md new file mode 100644 index 0000000..5a22576 --- /dev/null +++ b/collections/documentation/dashboard/deploy/vm.md @@ -0,0 +1,13 @@ +

Virtual Machines

+ +On the TFGrid, you can deploy both micro and full virtual machines. + +![](../img/vm_landing.png) + +*** + +

Table of Contents

+ +- [Micro and Full VM Differences ](../solutions/vm_differences.md) +- [Full Virtual Machine](../solutions/fullVm.md) +- [Micro Virtual Machine](../solutions/vm.md) diff --git a/collections/documentation/dashboard/deploy/your_contracts.md b/collections/documentation/dashboard/deploy/your_contracts.md new file mode 100644 index 0000000..c7cb4a6 --- /dev/null +++ b/collections/documentation/dashboard/deploy/your_contracts.md @@ -0,0 +1,49 @@ +# Contracts + +From the Contracts section you can check your contracts by navigating to the `Deploy` then `Your Contracts` tab from the sidebar. + +From there you will see the `Contracts List`, the list is split into three different sections. these sections are: + +### Node contracts + +![image](../img/node_contracts.png) + +### Name contracts + +![image](../img/name_contracts.png) + +### Rent contracts + +![image](../img/rent_contracts.png) + + + +This list includes the following information about each contract. + +- Contract ID. +- Contract Type. +- Contract State (Created, Deleted, GracePeriod). +- Solution Typw +- Billing Rate (in TFT/Hour). +- Solution Name. +- Created At. +- Expiration (Only appears if the contract is in GracePeriod). +- Node ID +- Node Status (Up, Down, Standby). +- Show Details (This button will display the detailed information of the desired contract). + + ![image](../img/contract_details.png) + + +## Cancel Contract + +You can also cancel the target contract/s by select the contract you want to cancel + +- Click on the checkbox on the left side of the contract row +- Click on the delete button in the bottom right of the table +- Review the contract/s ID then click on *Delete* button + +Note: + +>- You can Cancel all you contracts by clicking on the checkbox on the left side of the table header then click on *Delete* button. +>- It is advisable to remove the contract from its solution page, especially when multiple contracts may be linked to the same instance. diff --git a/collections/documentation/dashboard/farms/farms.md b/collections/documentation/dashboard/farms/farms.md new file mode 100644 index 0000000..7faedd3 --- /dev/null +++ b/collections/documentation/dashboard/farms/farms.md @@ -0,0 +1,19 @@ +# Farms + +Here you will find everything farming related. this includes: + +- Monitoring, creating, and updating your farms from the [Your Farms](./your_farms.md) section where you can also check your nodes and update multiple things like the public configuration and extra fees of the node. +- Exploring and finding farms that are available on the ThreeFold grid from the [Farm Finder](./farms_finder.md) section. +- Generating your own boot device for your system from the [Node Installer](./node_installer.md) section. +- Estimating and calculating potential earnings from farming on the ThreeFold Grid from the [Simulator](./simulator.md) section. + + ![](../img/sidebar_3.png) + +*** + +## Table of Content + +- [Your Farms](./your_farms.md) +- [Farm Finder](./farms_finder.md) +- [Node Installer](./node_installer.md) +- [Simulator](./simulator.md) \ No newline at end of file diff --git a/collections/documentation/dashboard/farms/farms_finder.md b/collections/documentation/dashboard/farms/farms_finder.md new file mode 100644 index 0000000..252aa73 --- /dev/null +++ b/collections/documentation/dashboard/farms/farms_finder.md @@ -0,0 +1,13 @@ +# Farms + +The farms page provides a more detailed view for the farms available on the ThreeFold grid With detailed information about any of the available farms. + +![](../img/farms.png) + +You can search for a specific farm using the farms filters. + +![](../img/farms_filters.png) + +You can see all of the farm details by clicking on a farm record. + +![](../img/farms_details.png) diff --git a/collections/documentation/dashboard/farms/node_installer.md b/collections/documentation/dashboard/farms/node_installer.md new file mode 100644 index 0000000..903e10e --- /dev/null +++ b/collections/documentation/dashboard/farms/node_installer.md @@ -0,0 +1,5 @@ +# Node Installer + +Generate your own boot device for your system and download Zero-OS Images from [Zero-OS Bootstrap](https://bootstrap.grid.tf/) + +![](../img/0_Bootstrap.png) \ No newline at end of file diff --git a/collections/documentation/dashboard/farms/simulator.md b/collections/documentation/dashboard/farms/simulator.md new file mode 100644 index 0000000..3d5b594 --- /dev/null +++ b/collections/documentation/dashboard/farms/simulator.md @@ -0,0 +1,5 @@ +# Simulator + +A tool provided by ThreeFold that allows users to estimate and calculate potential earnings from farming on the ThreeFold Grid. Farming refers to the process of providing computing resources, such as storage and processing power, to the ThreeFold Grid and earning tokens in return. The tf-farming-calculator takes into account various factors, including the amount of resources contributed, the duration of farming, and the current market conditions, to provide users with an estimate of their potential earnings in terms of ThreeFold Tokens (TFT). + +![](../img/simulator.png) \ No newline at end of file diff --git a/collections/documentation/dashboard/farms/your_farms.md b/collections/documentation/dashboard/farms/your_farms.md new file mode 100644 index 0000000..8afc756 --- /dev/null +++ b/collections/documentation/dashboard/farms/your_farms.md @@ -0,0 +1,134 @@ +# Farms + +This comprehensive guide aims to provide users with detailed instructions and insights into efficiently managing their _Farms_. Farms encompass servers and storage devices contributing computational and storage capabilities to the grid, empowering users to oversee, maintain, and optimize their resources effectively. + +- [Getting started](#getting-started) +- [Create a new Farm](#create-a-new-farm) +- [Manage Your Farms](#manage-your-farms) + - [Add a public IP to your Farm](#add-a-public-ip-to-your-farm) + - [Add a Stellar address for payout](#add-a-stellar-address-for-payout) + - [Generate your node bootstrap image](#generate-your-node-bootstrap-image) + - [Additional information](#additional-information) +- [Manage Your Nodes](#manage-your-nodes) + - [Node information](#node-information) + - [Extra Fees](#extra-fees) + - [Public Configuration](#public-configuration) + - [The Difference Between IPs Assigned to Nodes Versus a Farm](#the-difference-between-ips-assigned-to-nodes-versus-a-farm) + +## Getting started + +After logging in to the TF Dashboard, on the sidebar click on **Dashboard** then _Your Farms_ . + +## Create a new Farm + +If you want to start farming, you need a farmID, the ID of the farm that is owning the hardware node(s) you connect to the TFGrid. + +**Currently on**: + +- [Devnet](https://dashboard.dev.grid.tf/) +- [Qanet](https://dashboard.qa.grid.tf/) +- [Testnet](https://dashboard.test.grid.tf/) +- [Mainnet](https://dashboard.grid.tf/) + +Click `Create Farm` and choose a name. + +![ ](../img/dashboard_farms.png) + +![ ](../img/dashboard_farms_create.png) + +Click on `Create`. + +The farm is by default set up as 'DIY'. A farm can become certified through certification program. +Also a pricing policy is defined. Pricing policy is currently the same for all farms, the field is created for future use. + +## Manage Your Farms + +You can browse your Farms in _Farms_ table; Farms table contains all your own farms and its your entry point to manage your farm as in the following sections. + +![](../img/dashboard_farms_farms_table.png) + +### Add a public IP to your Farm + +If you have public IPv4 addresses available that can be used for usage on the TFGrid, you can add them in your farm. +Click `ADD IP`, specify the addresses, the gateway and click `CREATE`. +You can add them one by one or using range of IPs. + +**Some notes about adding a new IPs**: + +- Be careful not to create a new IP range that contains an IP address that already exists; doing so will result in an error. +- Verify that both the gateway address and the IP address are correct. +- Be careful not to include the same gateway address in a new IP range. + +![ ](../img/dashboard_farms_farm_details.png) + +![ ](../img/dashboard_farms_add_ip_single.png) + +![ ](../img/dashboard_farms_add_ip_range.png) + +Deleting IPv4 addresses is also possible here. The `Deployed Contract ID` gives an indication of whether an IP is currently used. If it is 0, it is safe to remove it. + +![ ](../img/dashboard_farms_ip_details.png) + +### Add a Stellar address for payout + +In a first phase, farming of tokens still results in payout on the Stellar network. So to get the farming reward, a Stellar address needs to be provided. + +![ ](../img/dashboard_farms_farm_details.png) + +![ ](../img/dashboard_farms_stellar_address.png) + +You can read about different ways to store TFT [here](../../threefold_token/storing_tft/storing_tft.md). Make sure to use a Stellar wallet for your farming rewards. + +### Generate your node bootstrap image + +Once you know your farmID, you can set up your node on TFGrid3. Click on `Bootstrap Node Image`. + +![dashboard_bootstrap_farm](../img/dashboard_bootstrap_farm.png) + +Read more Zero-OS bootstrap image [here](../../farmers/3node_building/2_bootstrap_image.md). + +### Additional information + +After booting a node, the info will become available in `Your Nodes` table, including the status info along with the minting and fixup receipts. + +![ ](../img/dashboard_farms_node_details.png) + +Clicking on the node statistics will open up a calendar where you can view the periods the node was minting or undergoing a fixup. Clicking on the periods will show a popup with the start and end datetimes, receipt hash and the amount of TFTs minted (if it is a minting receipt). + +![ ](../img/dashboard_portal_ui_nodes_minting.png) + +You can also download a single node's receipts using the `Download Receipts` button within the node statistics. Moreover, you can download all of the nodes' receipts using the `Download Receipts` button on the top left corner of the farm nodes table. + +## Manage Your Nodes + +as in farms table _Nodes_ table contains all your own nodes and its your entry point to manage your farm as in the following sections. + +### Node information + +Expand your node information by clicking on the expand button in the target node row. + +### Extra Fees + +You can set a price for the special hardware you’re providing e.g. GPUs while renting. + +![](../img/dashboard_farms_extra_fee.png) + +- Under the **Your Nodes** table, locate the target node and click **Set Additional Fees** under **Actions** +- Set a monthly fee (in USD) and click **Save** + +### Public Configuration + +To configure public IP addresses to a specific Node + +![](../img/dashboard_farms_public_config.png) + +- Under the **Your Nodes** table, locate the target node and click **Add a public config** under **Actions** +- Fill in the necessary information and click save. Only the IPv4 address and gateway are necessary. + +> The IPv6 address and the Domain are optional but if you provide The IPv6 you have to provide its Domain. + +#### The Difference Between IPs Assigned to Nodes Versus a Farm + +--- + +IPs assigned to a farm are available to be rented by workloads. They can be assigned to virtual machines for example. IPs assigned to nodes enable each node to become a gateway. diff --git a/collections/documentation/dashboard/home.md b/collections/documentation/dashboard/home.md new file mode 100644 index 0000000..d14fd9a --- /dev/null +++ b/collections/documentation/dashboard/home.md @@ -0,0 +1,43 @@ +

ThreeFold Dashboard

+ +Explore, control, and manage your ThreeFold Grid resources effortlessly through our integrated Dashboard. Deploy solutions seamlessly while gaining full control, all within a unified interface. + +The ThreeFold Dashboard is a revolutionary platform that simplifies the deployment process, allowing users to effortlessly interact with the TFGrid using intuitive web components known as weblets. + +## What is the ThreeFold Dashboard? + +The ThreeFold Dashboard is a dynamic environment designed for both seasoned developers and newcomers alike. It offers a seamless and accessible browser experience, making it easy to deploy solutions on the TFGrid through the use of weblets. + +In the context of the Dashboard, a weblet is a compiled JavaScript web component that can be effortlessly embedded within the HTML page of a web application. This modular approach allows for flexible and intuitive interactions, facilitating a user-friendly deployment process. + +The backend for the weblets is introduced with the [Javascript Client](../javascript/grid3_javascript_readme.md) which communicates to TFChain over RMB. + +

Table of Contents

+ +- [Wallet Connector](./wallet_connector.md) +- [TFGrid](./tfgrid/tfgrid.md) +- [Deploy](./deploy/deploy.md) +- [Farms](./farms/farms.md) +- [TFChain](./tfchain/tfchain.md) + +## Advantages + +- It is a non-code easy way to deploy a whole solution on the TFGrid. +- It is 100% decentralized, there is no server involved. +- It is powerful tool designed to empower individuals and organizations with seamless control and management over their ThreeFold Grid resources. +- It provides an intuitive web-based interface that allows users to effortlessly deploy, monitor, and scale their workloads on the decentralized and sustainable ThreeFold Grid infrastructure. + +## Dashboard + +You can access the ThreeFold Dashboard on different TF Chain networks. + +- [https://dashboard.dev.grid.tf](https://dashboard.dev.grid.tf) for Dev net. +- [https://dashboard.qa.grid.tf](https://dashboard.qa.grid.tf) for QA net. +- [https://dashboard.test.grid.tf](https://dashboard.test.grid.tf) for Test net. +- [https://dashboard.grid.tf](https://dashboard.grid.tf) for Main net. + +## Limitations + +- Regarding browser support, we're only supporting Google Chrome browser (and thus Brave browser) at the moment with more browsers to be supported soon. +- Deploys one thing at a time. +- Might take sometime to deploy a solution like Peertube, so you should wait a little bit until it's fully running. diff --git a/collections/documentation/dashboard/img/0_Bootstrap.png b/collections/documentation/dashboard/img/0_Bootstrap.png new file mode 100644 index 0000000..dedec1b Binary files /dev/null and b/collections/documentation/dashboard/img/0_Bootstrap.png differ diff --git a/collections/documentation/dashboard/img/0_hub.png b/collections/documentation/dashboard/img/0_hub.png new file mode 100644 index 0000000..da7faf5 Binary files /dev/null and b/collections/documentation/dashboard/img/0_hub.png differ diff --git a/collections/documentation/dashboard/img/Minting.png b/collections/documentation/dashboard/img/Minting.png new file mode 100644 index 0000000..b7de134 Binary files /dev/null and b/collections/documentation/dashboard/img/Minting.png differ diff --git a/collections/documentation/dashboard/img/Monitoring.png b/collections/documentation/dashboard/img/Monitoring.png new file mode 100644 index 0000000..1cda446 Binary files /dev/null and b/collections/documentation/dashboard/img/Monitoring.png differ diff --git a/collections/documentation/dashboard/img/SSH_Key.png b/collections/documentation/dashboard/img/SSH_Key.png new file mode 100644 index 0000000..7d22832 Binary files /dev/null and b/collections/documentation/dashboard/img/SSH_Key.png differ diff --git a/collections/documentation/dashboard/img/add_domain_10.png b/collections/documentation/dashboard/img/add_domain_10.png new file mode 100644 index 0000000..aabe5de Binary files /dev/null and b/collections/documentation/dashboard/img/add_domain_10.png differ diff --git a/collections/documentation/dashboard/img/add_domain_11.png b/collections/documentation/dashboard/img/add_domain_11.png new file mode 100644 index 0000000..8540ce8 Binary files /dev/null and b/collections/documentation/dashboard/img/add_domain_11.png differ diff --git a/collections/documentation/dashboard/img/add_domain_6.png b/collections/documentation/dashboard/img/add_domain_6.png new file mode 100644 index 0000000..05611ef Binary files /dev/null and b/collections/documentation/dashboard/img/add_domain_6.png differ diff --git a/collections/documentation/dashboard/img/add_domain_8.png b/collections/documentation/dashboard/img/add_domain_8.png new file mode 100644 index 0000000..3a35803 Binary files /dev/null and b/collections/documentation/dashboard/img/add_domain_8.png differ diff --git a/collections/documentation/dashboard/img/add_domain_9.png b/collections/documentation/dashboard/img/add_domain_9.png new file mode 100644 index 0000000..346009b Binary files /dev/null and b/collections/documentation/dashboard/img/add_domain_9.png differ diff --git a/collections/documentation/dashboard/img/add_new_domain_success.png b/collections/documentation/dashboard/img/add_new_domain_success.png new file mode 100644 index 0000000..3b23776 Binary files /dev/null and b/collections/documentation/dashboard/img/add_new_domain_success.png differ diff --git a/collections/documentation/dashboard/img/applications_landing.png b/collections/documentation/dashboard/img/applications_landing.png new file mode 100644 index 0000000..e4117a5 Binary files /dev/null and b/collections/documentation/dashboard/img/applications_landing.png differ diff --git a/collections/documentation/dashboard/img/bridge.png b/collections/documentation/dashboard/img/bridge.png new file mode 100644 index 0000000..269dead Binary files /dev/null and b/collections/documentation/dashboard/img/bridge.png differ diff --git a/collections/documentation/dashboard/img/bridge_deposit.png b/collections/documentation/dashboard/img/bridge_deposit.png new file mode 100644 index 0000000..97619cc Binary files /dev/null and b/collections/documentation/dashboard/img/bridge_deposit.png differ diff --git a/collections/documentation/dashboard/img/bridge_withdraw.png b/collections/documentation/dashboard/img/bridge_withdraw.png new file mode 100644 index 0000000..461a80d Binary files /dev/null and b/collections/documentation/dashboard/img/bridge_withdraw.png differ diff --git a/collections/documentation/dashboard/img/contract_details.png b/collections/documentation/dashboard/img/contract_details.png new file mode 100644 index 0000000..286c87a Binary files /dev/null and b/collections/documentation/dashboard/img/contract_details.png differ diff --git a/collections/documentation/dashboard/img/dashboard_T&C.png b/collections/documentation/dashboard/img/dashboard_T&C.png new file mode 100644 index 0000000..6173f1a Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_T&C.png differ diff --git a/collections/documentation/dashboard/img/dashboard_bootstrap_farm.png b/collections/documentation/dashboard/img/dashboard_bootstrap_farm.png new file mode 100644 index 0000000..82f8759 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_bootstrap_farm.png differ diff --git a/collections/documentation/dashboard/img/dashboard_bridge.png b/collections/documentation/dashboard/img/dashboard_bridge.png new file mode 100644 index 0000000..111ef91 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_bridge.png differ diff --git a/collections/documentation/dashboard/img/dashboard_connect.png b/collections/documentation/dashboard/img/dashboard_connect.png new file mode 100644 index 0000000..289b2e8 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_connect.png differ diff --git a/collections/documentation/dashboard/img/dashboard_dao.png b/collections/documentation/dashboard/img/dashboard_dao.png new file mode 100644 index 0000000..37fb232 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_dao.png differ diff --git a/collections/documentation/dashboard/img/dashboard_dedicated_nodes_details.png b/collections/documentation/dashboard/img/dashboard_dedicated_nodes_details.png new file mode 100644 index 0000000..649f7c9 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_dedicated_nodes_details.png differ diff --git a/collections/documentation/dashboard/img/dashboard_dedicated_nodes_discounts.png b/collections/documentation/dashboard/img/dashboard_dedicated_nodes_discounts.png new file mode 100644 index 0000000..fe66434 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_dedicated_nodes_discounts.png differ diff --git a/collections/documentation/dashboard/img/dashboard_explorer_farms.png b/collections/documentation/dashboard/img/dashboard_explorer_farms.png new file mode 100644 index 0000000..58d3305 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_explorer_farms.png differ diff --git a/collections/documentation/dashboard/img/dashboard_explorer_nodes.png b/collections/documentation/dashboard/img/dashboard_explorer_nodes.png new file mode 100644 index 0000000..963730e Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_explorer_nodes.png differ diff --git a/collections/documentation/dashboard/img/dashboard_explorer_statistics.png b/collections/documentation/dashboard/img/dashboard_explorer_statistics.png new file mode 100644 index 0000000..0d81f19 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_explorer_statistics.png differ diff --git a/collections/documentation/dashboard/img/dashboard_farms.png b/collections/documentation/dashboard/img/dashboard_farms.png new file mode 100644 index 0000000..bebffe2 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_farms.png differ diff --git a/collections/documentation/dashboard/img/dashboard_farms_add_ip_range.png b/collections/documentation/dashboard/img/dashboard_farms_add_ip_range.png new file mode 100644 index 0000000..30d6dcc Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_farms_add_ip_range.png differ diff --git a/collections/documentation/dashboard/img/dashboard_farms_add_ip_single.png b/collections/documentation/dashboard/img/dashboard_farms_add_ip_single.png new file mode 100644 index 0000000..26f80e4 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_farms_add_ip_single.png differ diff --git a/collections/documentation/dashboard/img/dashboard_farms_create.png b/collections/documentation/dashboard/img/dashboard_farms_create.png new file mode 100644 index 0000000..684dfbb Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_farms_create.png differ diff --git a/collections/documentation/dashboard/img/dashboard_farms_extra_fee.png b/collections/documentation/dashboard/img/dashboard_farms_extra_fee.png new file mode 100644 index 0000000..2800f03 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_farms_extra_fee.png differ diff --git a/collections/documentation/dashboard/img/dashboard_farms_farm_details.png b/collections/documentation/dashboard/img/dashboard_farms_farm_details.png new file mode 100644 index 0000000..5de107e Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_farms_farm_details.png differ diff --git a/collections/documentation/dashboard/img/dashboard_farms_farms_table.png b/collections/documentation/dashboard/img/dashboard_farms_farms_table.png new file mode 100644 index 0000000..dd92e0b Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_farms_farms_table.png differ diff --git a/collections/documentation/dashboard/img/dashboard_farms_ip_details.png b/collections/documentation/dashboard/img/dashboard_farms_ip_details.png new file mode 100644 index 0000000..025d9b5 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_farms_ip_details.png differ diff --git a/collections/documentation/dashboard/img/dashboard_farms_node_details.png b/collections/documentation/dashboard/img/dashboard_farms_node_details.png new file mode 100644 index 0000000..c95e3fc Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_farms_node_details.png differ diff --git a/collections/documentation/dashboard/img/dashboard_farms_public_config.png b/collections/documentation/dashboard/img/dashboard_farms_public_config.png new file mode 100644 index 0000000..cf1e8f5 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_farms_public_config.png differ diff --git a/collections/documentation/dashboard/img/dashboard_farms_stellar_address.png b/collections/documentation/dashboard/img/dashboard_farms_stellar_address.png new file mode 100644 index 0000000..0ba6efd Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_farms_stellar_address.png differ diff --git a/collections/documentation/dashboard/img/dashboard_generate_account.png b/collections/documentation/dashboard/img/dashboard_generate_account.png new file mode 100644 index 0000000..c0433dc Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_generate_account.png differ diff --git a/collections/documentation/dashboard/img/dashboard_login.png b/collections/documentation/dashboard/img/dashboard_login.png new file mode 100644 index 0000000..c119ac3 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_login.png differ diff --git a/collections/documentation/dashboard/img/dashboard_portal_account.png b/collections/documentation/dashboard/img/dashboard_portal_account.png new file mode 100644 index 0000000..be66b4e Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_portal_account.png differ diff --git a/collections/documentation/dashboard/img/dashboard_portal_create_account_1.png b/collections/documentation/dashboard/img/dashboard_portal_create_account_1.png new file mode 100644 index 0000000..4024e7d Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_portal_create_account_1.png differ diff --git a/collections/documentation/dashboard/img/dashboard_portal_create_account_2.png b/collections/documentation/dashboard/img/dashboard_portal_create_account_2.png new file mode 100644 index 0000000..5f1b4e5 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_portal_create_account_2.png differ diff --git a/collections/documentation/dashboard/img/dashboard_portal_create_twin.png b/collections/documentation/dashboard/img/dashboard_portal_create_twin.png new file mode 100644 index 0000000..776a27e Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_portal_create_twin.png differ diff --git a/collections/documentation/dashboard/img/dashboard_portal_deposit_tft.png b/collections/documentation/dashboard/img/dashboard_portal_deposit_tft.png new file mode 100644 index 0000000..97782e3 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_portal_deposit_tft.png differ diff --git a/collections/documentation/dashboard/img/dashboard_portal_farms.png b/collections/documentation/dashboard/img/dashboard_portal_farms.png new file mode 100644 index 0000000..3272e64 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_portal_farms.png differ diff --git a/collections/documentation/dashboard/img/dashboard_portal_fill_ipv6.png b/collections/documentation/dashboard/img/dashboard_portal_fill_ipv6.png new file mode 100644 index 0000000..c2ddd0c Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_portal_fill_ipv6.png differ diff --git a/collections/documentation/dashboard/img/dashboard_portal_terms_conditions.png b/collections/documentation/dashboard/img/dashboard_portal_terms_conditions.png new file mode 100644 index 0000000..82f6c3e Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_portal_terms_conditions.png differ diff --git a/collections/documentation/dashboard/img/dashboard_portal_transaction_sign.png b/collections/documentation/dashboard/img/dashboard_portal_transaction_sign.png new file mode 100644 index 0000000..62b4219 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_portal_transaction_sign.png differ diff --git a/collections/documentation/dashboard/img/dashboard_portal_transfer_detail.png b/collections/documentation/dashboard/img/dashboard_portal_transfer_detail.png new file mode 100644 index 0000000..919303c Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_portal_transfer_detail.png differ diff --git a/collections/documentation/dashboard/img/dashboard_portal_twin_created.png b/collections/documentation/dashboard/img/dashboard_portal_twin_created.png new file mode 100644 index 0000000..0d9b470 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_portal_twin_created.png differ diff --git a/collections/documentation/dashboard/img/dashboard_portal_ui_nodes_minting.png b/collections/documentation/dashboard/img/dashboard_portal_ui_nodes_minting.png new file mode 100644 index 0000000..fc925e2 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_portal_ui_nodes_minting.png differ diff --git a/collections/documentation/dashboard/img/dashboard_portal_withdraw_tft.png b/collections/documentation/dashboard/img/dashboard_portal_withdraw_tft.png new file mode 100644 index 0000000..5493694 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_portal_withdraw_tft.png differ diff --git a/collections/documentation/dashboard/img/dashboard_sidebar_portal.png b/collections/documentation/dashboard/img/dashboard_sidebar_portal.png new file mode 100644 index 0000000..9639032 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_sidebar_portal.png differ diff --git a/collections/documentation/dashboard/img/dashboard_statistics.png b/collections/documentation/dashboard/img/dashboard_statistics.png new file mode 100644 index 0000000..8badd4c Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_statistics.png differ diff --git a/collections/documentation/dashboard/img/dashboard_swap.png b/collections/documentation/dashboard/img/dashboard_swap.png new file mode 100644 index 0000000..dbda2ba Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_swap.png differ diff --git a/collections/documentation/dashboard/img/dashboard_transfer_address.png b/collections/documentation/dashboard/img/dashboard_transfer_address.png new file mode 100644 index 0000000..2a389e9 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_transfer_address.png differ diff --git a/collections/documentation/dashboard/img/dashboard_transfer_twin.png b/collections/documentation/dashboard/img/dashboard_transfer_twin.png new file mode 100644 index 0000000..7bff8ca Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_transfer_twin.png differ diff --git a/collections/documentation/dashboard/img/dashboard_uptime.png b/collections/documentation/dashboard/img/dashboard_uptime.png new file mode 100644 index 0000000..21920e7 Binary files /dev/null and b/collections/documentation/dashboard/img/dashboard_uptime.png differ diff --git a/collections/documentation/dashboard/img/dedicated_machines.png b/collections/documentation/dashboard/img/dedicated_machines.png new file mode 100644 index 0000000..e832be5 Binary files /dev/null and b/collections/documentation/dashboard/img/dedicated_machines.png differ diff --git a/collections/documentation/dashboard/img/explorer_basics_.png b/collections/documentation/dashboard/img/explorer_basics_.png new file mode 100644 index 0000000..d8635ea Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_basics_.png differ diff --git a/collections/documentation/dashboard/img/explorer_basics_2.png b/collections/documentation/dashboard/img/explorer_basics_2.png new file mode 100644 index 0000000..8af783c Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_basics_2.png differ diff --git a/collections/documentation/dashboard/img/explorer_darkmode.png b/collections/documentation/dashboard/img/explorer_darkmode.png new file mode 100644 index 0000000..54cce34 Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_darkmode.png differ diff --git a/collections/documentation/dashboard/img/explorer_farm_details.png b/collections/documentation/dashboard/img/explorer_farm_details.png new file mode 100644 index 0000000..17f5f88 Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_farm_details.png differ diff --git a/collections/documentation/dashboard/img/explorer_farms.png b/collections/documentation/dashboard/img/explorer_farms.png new file mode 100644 index 0000000..73ddb75 Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_farms.png differ diff --git a/collections/documentation/dashboard/img/explorer_find_country_pubip.png b/collections/documentation/dashboard/img/explorer_find_country_pubip.png new file mode 100644 index 0000000..54b7ab6 Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_find_country_pubip.png differ diff --git a/collections/documentation/dashboard/img/explorer_gpu.png b/collections/documentation/dashboard/img/explorer_gpu.png new file mode 100644 index 0000000..6df7394 Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_gpu.png differ diff --git a/collections/documentation/dashboard/img/explorer_grafana.png b/collections/documentation/dashboard/img/explorer_grafana.png new file mode 100644 index 0000000..9a702fb Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_grafana.png differ diff --git a/collections/documentation/dashboard/img/explorer_node_details.png b/collections/documentation/dashboard/img/explorer_node_details.png new file mode 100644 index 0000000..e6fd8c1 Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_node_details.png differ diff --git a/collections/documentation/dashboard/img/explorer_node_example_1.png b/collections/documentation/dashboard/img/explorer_node_example_1.png new file mode 100644 index 0000000..712a8da Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_node_example_1.png differ diff --git a/collections/documentation/dashboard/img/explorer_node_example_2.png b/collections/documentation/dashboard/img/explorer_node_example_2.png new file mode 100644 index 0000000..7a0e46b Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_node_example_2.png differ diff --git a/collections/documentation/dashboard/img/explorer_node_resources_1.png b/collections/documentation/dashboard/img/explorer_node_resources_1.png new file mode 100644 index 0000000..51e44a0 Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_node_resources_1.png differ diff --git a/collections/documentation/dashboard/img/explorer_node_resources_2.png b/collections/documentation/dashboard/img/explorer_node_resources_2.png new file mode 100644 index 0000000..0c406f3 Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_node_resources_2.png differ diff --git a/collections/documentation/dashboard/img/explorer_node_resources_3.png b/collections/documentation/dashboard/img/explorer_node_resources_3.png new file mode 100644 index 0000000..47af607 Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_node_resources_3.png differ diff --git a/collections/documentation/dashboard/img/explorer_nodes.png b/collections/documentation/dashboard/img/explorer_nodes.png new file mode 100644 index 0000000..d99a011 Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_nodes.png differ diff --git a/collections/documentation/dashboard/img/explorer_nodes_distribution.png b/collections/documentation/dashboard/img/explorer_nodes_distribution.png new file mode 100644 index 0000000..90cd664 Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_nodes_distribution.png differ diff --git a/collections/documentation/dashboard/img/explorer_statistics.png b/collections/documentation/dashboard/img/explorer_statistics.png new file mode 100644 index 0000000..9821a1d Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_statistics.png differ diff --git a/collections/documentation/dashboard/img/explorer_status.png b/collections/documentation/dashboard/img/explorer_status.png new file mode 100644 index 0000000..821d4ca Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_status.png differ diff --git a/collections/documentation/dashboard/img/explorer_toggle_gateways.png b/collections/documentation/dashboard/img/explorer_toggle_gateways.png new file mode 100644 index 0000000..6ce6c9f Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_toggle_gateways.png differ diff --git a/collections/documentation/dashboard/img/explorer_toggle_gpu.png b/collections/documentation/dashboard/img/explorer_toggle_gpu.png new file mode 100644 index 0000000..7ee4d6f Binary files /dev/null and b/collections/documentation/dashboard/img/explorer_toggle_gpu.png differ diff --git a/collections/documentation/dashboard/img/farms.png b/collections/documentation/dashboard/img/farms.png new file mode 100644 index 0000000..5280633 Binary files /dev/null and b/collections/documentation/dashboard/img/farms.png differ diff --git a/collections/documentation/dashboard/img/farms_details.png b/collections/documentation/dashboard/img/farms_details.png new file mode 100644 index 0000000..744fde4 Binary files /dev/null and b/collections/documentation/dashboard/img/farms_details.png differ diff --git a/collections/documentation/dashboard/img/farms_filters.png b/collections/documentation/dashboard/img/farms_filters.png new file mode 100644 index 0000000..8eca69f Binary files /dev/null and b/collections/documentation/dashboard/img/farms_filters.png differ diff --git a/collections/documentation/dashboard/img/gpu_details.png b/collections/documentation/dashboard/img/gpu_details.png new file mode 100644 index 0000000..83314cb Binary files /dev/null and b/collections/documentation/dashboard/img/gpu_details.png differ diff --git a/collections/documentation/dashboard/img/gpu_details_reserved.png b/collections/documentation/dashboard/img/gpu_details_reserved.png new file mode 100644 index 0000000..84ab221 Binary files /dev/null and b/collections/documentation/dashboard/img/gpu_details_reserved.png differ diff --git a/collections/documentation/dashboard/img/gpu_filter.png b/collections/documentation/dashboard/img/gpu_filter.png new file mode 100644 index 0000000..3a3657d Binary files /dev/null and b/collections/documentation/dashboard/img/gpu_filter.png differ diff --git a/collections/documentation/dashboard/img/grid_health.png b/collections/documentation/dashboard/img/grid_health.png new file mode 100644 index 0000000..2c5d9ee Binary files /dev/null and b/collections/documentation/dashboard/img/grid_health.png differ diff --git a/collections/documentation/dashboard/img/list_domains.png b/collections/documentation/dashboard/img/list_domains.png new file mode 100644 index 0000000..9144a76 Binary files /dev/null and b/collections/documentation/dashboard/img/list_domains.png differ diff --git a/collections/documentation/dashboard/img/manage_domains_button.png b/collections/documentation/dashboard/img/manage_domains_button.png new file mode 100644 index 0000000..891110b Binary files /dev/null and b/collections/documentation/dashboard/img/manage_domains_button.png differ diff --git a/collections/documentation/dashboard/img/name_contracts.png b/collections/documentation/dashboard/img/name_contracts.png new file mode 100644 index 0000000..35f1217 Binary files /dev/null and b/collections/documentation/dashboard/img/name_contracts.png differ diff --git a/collections/documentation/dashboard/img/node_contracts.png b/collections/documentation/dashboard/img/node_contracts.png new file mode 100644 index 0000000..b785b21 Binary files /dev/null and b/collections/documentation/dashboard/img/node_contracts.png differ diff --git a/collections/documentation/dashboard/img/node_detail_.png b/collections/documentation/dashboard/img/node_detail_.png new file mode 100644 index 0000000..1e06f9a Binary files /dev/null and b/collections/documentation/dashboard/img/node_detail_.png differ diff --git a/collections/documentation/dashboard/img/node_detail_1.png b/collections/documentation/dashboard/img/node_detail_1.png new file mode 100644 index 0000000..6747192 Binary files /dev/null and b/collections/documentation/dashboard/img/node_detail_1.png differ diff --git a/collections/documentation/dashboard/img/nodes.png b/collections/documentation/dashboard/img/nodes.png new file mode 100644 index 0000000..be29183 Binary files /dev/null and b/collections/documentation/dashboard/img/nodes.png differ diff --git a/collections/documentation/dashboard/img/nodes_details.png b/collections/documentation/dashboard/img/nodes_details.png new file mode 100644 index 0000000..f5c4e8b Binary files /dev/null and b/collections/documentation/dashboard/img/nodes_details.png differ diff --git a/collections/documentation/dashboard/img/nodes_filters.png b/collections/documentation/dashboard/img/nodes_filters.png new file mode 100644 index 0000000..68257c2 Binary files /dev/null and b/collections/documentation/dashboard/img/nodes_filters.png differ diff --git a/collections/documentation/dashboard/img/orchestrator_landing.png b/collections/documentation/dashboard/img/orchestrator_landing.png new file mode 100644 index 0000000..4770f40 Binary files /dev/null and b/collections/documentation/dashboard/img/orchestrator_landing.png differ diff --git a/collections/documentation/dashboard/img/owncloud_create_user.png b/collections/documentation/dashboard/img/owncloud_create_user.png new file mode 100644 index 0000000..ba0badc Binary files /dev/null and b/collections/documentation/dashboard/img/owncloud_create_user.png differ diff --git a/collections/documentation/dashboard/img/owncloud_credentials.png b/collections/documentation/dashboard/img/owncloud_credentials.png new file mode 100644 index 0000000..8f1ad29 Binary files /dev/null and b/collections/documentation/dashboard/img/owncloud_credentials.png differ diff --git a/collections/documentation/dashboard/img/owncloud_details.png b/collections/documentation/dashboard/img/owncloud_details.png new file mode 100644 index 0000000..efe6136 Binary files /dev/null and b/collections/documentation/dashboard/img/owncloud_details.png differ diff --git a/collections/documentation/dashboard/img/owncloud_enabled.png b/collections/documentation/dashboard/img/owncloud_enabled.png new file mode 100644 index 0000000..8877f6b Binary files /dev/null and b/collections/documentation/dashboard/img/owncloud_enabled.png differ diff --git a/collections/documentation/dashboard/img/owncloud_logo.svg b/collections/documentation/dashboard/img/owncloud_logo.svg new file mode 100644 index 0000000..4959a9f --- /dev/null +++ b/collections/documentation/dashboard/img/owncloud_logo.svg @@ -0,0 +1,159 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/collections/documentation/dashboard/img/owncloud_logout.png b/collections/documentation/dashboard/img/owncloud_logout.png new file mode 100644 index 0000000..ba21a9f Binary files /dev/null and b/collections/documentation/dashboard/img/owncloud_logout.png differ diff --git a/collections/documentation/dashboard/img/owncloud_show.png b/collections/documentation/dashboard/img/owncloud_show.png new file mode 100644 index 0000000..6b16ee3 Binary files /dev/null and b/collections/documentation/dashboard/img/owncloud_show.png differ diff --git a/collections/documentation/dashboard/img/owncloud_tfconnect.png b/collections/documentation/dashboard/img/owncloud_tfconnect.png new file mode 100644 index 0000000..d386991 Binary files /dev/null and b/collections/documentation/dashboard/img/owncloud_tfconnect.png differ diff --git a/collections/documentation/dashboard/img/owncloud_users.png b/collections/documentation/dashboard/img/owncloud_users.png new file mode 100644 index 0000000..aec7c03 Binary files /dev/null and b/collections/documentation/dashboard/img/owncloud_users.png differ diff --git a/collections/documentation/dashboard/img/owncloud_visit.png b/collections/documentation/dashboard/img/owncloud_visit.png new file mode 100644 index 0000000..5624e89 Binary files /dev/null and b/collections/documentation/dashboard/img/owncloud_visit.png differ diff --git a/collections/documentation/dashboard/img/polkadot_extension_.png b/collections/documentation/dashboard/img/polkadot_extension_.png new file mode 100644 index 0000000..bf3f6fd Binary files /dev/null and b/collections/documentation/dashboard/img/polkadot_extension_.png differ diff --git a/collections/documentation/dashboard/img/pricing_calculator.png b/collections/documentation/dashboard/img/pricing_calculator.png new file mode 100644 index 0000000..31f21eb Binary files /dev/null and b/collections/documentation/dashboard/img/pricing_calculator.png differ diff --git a/collections/documentation/dashboard/img/pro_manager5.png b/collections/documentation/dashboard/img/pro_manager5.png new file mode 100644 index 0000000..791dae0 Binary files /dev/null and b/collections/documentation/dashboard/img/pro_manager5.png differ diff --git a/collections/documentation/dashboard/img/pro_manager6.png b/collections/documentation/dashboard/img/pro_manager6.png new file mode 100644 index 0000000..2b77950 Binary files /dev/null and b/collections/documentation/dashboard/img/pro_manager6.png differ diff --git a/collections/documentation/dashboard/img/profile_manager1.png b/collections/documentation/dashboard/img/profile_manager1.png new file mode 100644 index 0000000..73d59d5 Binary files /dev/null and b/collections/documentation/dashboard/img/profile_manager1.png differ diff --git a/collections/documentation/dashboard/img/profile_manager2.png b/collections/documentation/dashboard/img/profile_manager2.png new file mode 100644 index 0000000..98f2154 Binary files /dev/null and b/collections/documentation/dashboard/img/profile_manager2.png differ diff --git a/collections/documentation/dashboard/img/profile_manager3.png b/collections/documentation/dashboard/img/profile_manager3.png new file mode 100644 index 0000000..407780c Binary files /dev/null and b/collections/documentation/dashboard/img/profile_manager3.png differ diff --git a/collections/documentation/dashboard/img/rent_contracts.png b/collections/documentation/dashboard/img/rent_contracts.png new file mode 100644 index 0000000..170ca57 Binary files /dev/null and b/collections/documentation/dashboard/img/rent_contracts.png differ diff --git a/collections/documentation/dashboard/img/select_to_delete_domain.png b/collections/documentation/dashboard/img/select_to_delete_domain.png new file mode 100644 index 0000000..1ae8ce8 Binary files /dev/null and b/collections/documentation/dashboard/img/select_to_delete_domain.png differ diff --git a/collections/documentation/dashboard/img/sidebar_1 (copy)_full.png b/collections/documentation/dashboard/img/sidebar_1 (copy)_full.png new file mode 100644 index 0000000..9e01af9 Binary files /dev/null and b/collections/documentation/dashboard/img/sidebar_1 (copy)_full.png differ diff --git a/collections/documentation/dashboard/img/sidebar_1.png b/collections/documentation/dashboard/img/sidebar_1.png new file mode 100644 index 0000000..4779b4c Binary files /dev/null and b/collections/documentation/dashboard/img/sidebar_1.png differ diff --git a/collections/documentation/dashboard/img/sidebar_2 (copy)_full.png b/collections/documentation/dashboard/img/sidebar_2 (copy)_full.png new file mode 100644 index 0000000..f7d8600 Binary files /dev/null and b/collections/documentation/dashboard/img/sidebar_2 (copy)_full.png differ diff --git a/collections/documentation/dashboard/img/sidebar_2.png b/collections/documentation/dashboard/img/sidebar_2.png new file mode 100644 index 0000000..58e913b Binary files /dev/null and b/collections/documentation/dashboard/img/sidebar_2.png differ diff --git a/collections/documentation/dashboard/img/sidebar_3 (copy)_full.png b/collections/documentation/dashboard/img/sidebar_3 (copy)_full.png new file mode 100644 index 0000000..8924f42 Binary files /dev/null and b/collections/documentation/dashboard/img/sidebar_3 (copy)_full.png differ diff --git a/collections/documentation/dashboard/img/sidebar_3.png b/collections/documentation/dashboard/img/sidebar_3.png new file mode 100644 index 0000000..565715d Binary files /dev/null and b/collections/documentation/dashboard/img/sidebar_3.png differ diff --git a/collections/documentation/dashboard/img/sidebar_4 (copy)_full.png b/collections/documentation/dashboard/img/sidebar_4 (copy)_full.png new file mode 100644 index 0000000..7a7e165 Binary files /dev/null and b/collections/documentation/dashboard/img/sidebar_4 (copy)_full.png differ diff --git a/collections/documentation/dashboard/img/sidebar_4.png b/collections/documentation/dashboard/img/sidebar_4.png new file mode 100644 index 0000000..8f94e9e Binary files /dev/null and b/collections/documentation/dashboard/img/sidebar_4.png differ diff --git a/collections/documentation/dashboard/img/simulator.png b/collections/documentation/dashboard/img/simulator.png new file mode 100644 index 0000000..b85a528 Binary files /dev/null and b/collections/documentation/dashboard/img/simulator.png differ diff --git a/collections/documentation/dashboard/img/statistics.png b/collections/documentation/dashboard/img/statistics.png new file mode 100644 index 0000000..a216231 Binary files /dev/null and b/collections/documentation/dashboard/img/statistics.png differ diff --git a/collections/documentation/dashboard/img/twin.png b/collections/documentation/dashboard/img/twin.png new file mode 100644 index 0000000..1e62185 Binary files /dev/null and b/collections/documentation/dashboard/img/twin.png differ diff --git a/collections/documentation/dashboard/img/vm_landing.png b/collections/documentation/dashboard/img/vm_landing.png new file mode 100644 index 0000000..21211a3 Binary files /dev/null and b/collections/documentation/dashboard/img/vm_landing.png differ diff --git a/collections/documentation/dashboard/play_go.md b/collections/documentation/dashboard/play_go.md new file mode 100644 index 0000000..5bb8332 --- /dev/null +++ b/collections/documentation/dashboard/play_go.md @@ -0,0 +1,5 @@ +- Choose one of the networks: + - https://dashboard.dev.grid.tf for Devnet. + - https://dashboard.qa.grid.tf for QAnet. + - https://dashboard.test.grid.tf for Testnet. + - https://dashboard.grid.tf for Mainnet. \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/add_domain.md b/collections/documentation/dashboard/solutions/add_domain.md new file mode 100644 index 0000000..6883c97 --- /dev/null +++ b/collections/documentation/dashboard/solutions/add_domain.md @@ -0,0 +1,107 @@ +

Add a Domain to a VM

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Preparation](#preparation) +- [Add New Domain](#add-new-domain) +- [Domains List](#domains-list) +- [Delete a Domain](#delete-a-domain) +- [Questions and Feedback](#questions-and-feedback) + +*** + +## Introduction + +We cover the overall process to add a domain to a virtual machine running on the ThreeFold Grid. + +## Preparation + +- Deploy a virtual machine +- Click on the button **Manage Domains** under **Actions** + +![](../img/add_domain_6.png) + +- Open the **Add New Domain** tab + +![](../img/add_domain_10.png) + +## Add New Domain + +We cover the different domain parameters presented in the **Add New Domain** tab. + +- **Subdomain** + - The subdomain is used to reference to the complete domain name. It is randomly generated, but the user can write a specific subdomain name. + - The subdomain prefix (e.g. **fvm3748domainguide**) is decided as follows: + - Solution name (e.g. **fvm**) + - Twin ID (e.g. **3748**) + - Deployment name (e.g. **domainguide**) + - The complete subdomain is thus composed of the subdomain prefix mentioned above and the subdomain entered in the **Subdomain** field. +- **Custom domain name** + - You can also use a custom domain. + - In this case, instead of having a gateway subdomain and a gateway name as your domain, the domain will be the custom domain entered in this field. + - If you select **Custom domain**, make sure to set a DNS A record pointing to the gateway IP address on your domain name registrar. + +![Custom Domain Name](../img/add_domain_8.png) + +- **Select domain** + - Choose a gateway for your domain. + +- **Port** + - Choose the port that exposes your application instance on the virtual machine which the domain will point to. + - By default, it is set to **80**. + +- **TLS Passthrough** + - Disabling TLS passthrough will let the gateway terminate the traffic. + - Enabling TLS passthrough will let the backend service terminate the traffic. + +- **Network Name** + - This is the name of the WireGuard interface network (read-only field). + +- **IP Address** + - This is the WireGuard IP address (read-only field). + +Once you've filled the domain parameters, click on the **Add** button. The message **Successfully deployed gateway** will be presented once the domain is properly added. + +![Success Domain](../img/add_new_domain_success.png) + +## Domains List + +Once your domain is set, you can access the **Domains List** tab to consult its parameters. To visit the domain, simply click on the **Visit** button under **Actions**. + +![List Domain For VM](../img/add_domain_9.png) + +* **Name** + * The name is the subdomain (without the prefix) +* **Contract ID** + * Contract ID of the domain +* **Domain** + * Without a custom domain (default) + * The complete domain name (e.g. `fvm3748domainguidextebgpt.gent01.dev.grid.tf`) is composed of the subdomain prefix, the subdomain and the gateway domain. + - The subdomain prefix (e.g. `fvm3748domainguide`), as mentioned above. + - The subdomain (e.g. `xtebgpt`), chosen during the domain creation. + - The gateway domain (e.g. `gent01.dev.grid.tf`), based on the chosen gateway. + - With a custom domain + - The domain will be your custom domain (`e.g. threefold.pro`). +* **TLS Passthrough** + * The TLS passthrough status can be either **Yes** or **No**. +* **Backend** + * The WireGuard IP and the chosen port of the domain (e.g. `http://10.20.4.2:80`). +* **Status** + * **OK** is displayed when the domain is properly set. +* **Actions** + * Use the **Visit** button to open the domain URL. + +At all time, you can click on **Reload** to reload the Domains List parameters. + +## Delete a Domain + +To delete a domain, open the **Manage Domains** window, in the tab **Domains lists** select the domain you wish to delete and click **Delete**. + +![Select To Delete Domain](../img/add_domain_11.png) + +By clicking the **Delete** button, the deletion will start and the domain will be deleted from this virtual machine. + +## Questions and Feedback + +If you have any questions, you can ask the ThreeFold community for help on the [ThreeFold Forum](http://forum.threefold.io/) or on the [ThreeFold Grid Tester Community](https://t.me/threefoldtesting) on Telegram. \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/algorand.md b/collections/documentation/dashboard/solutions/algorand.md new file mode 100644 index 0000000..21c25c7 --- /dev/null +++ b/collections/documentation/dashboard/solutions/algorand.md @@ -0,0 +1,97 @@ +

Algorand

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) + - [Algorand Structure](#algorand-structure) +- [Run Default Node](#run-default-node) +- [Run Relay Node](#run-relay-node) +- [Run Participant Node](#run-participant-node) +- [Run Indexer Node](#run-indexer-node) +- [Select Capacity](#select-capacity) + +*** + +## Introduction + +[Algorand](https://www.algorand.com/) builds technology that accelerates the convergence between decentralized and traditional finance by enabling the simple creation of next-generation financial products, protocols, and exchange of value. + +## Prerequisites + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Applications** +- Click on **Algorand** + +### Algorand Structure + +- Algorand has two main [types](https://developer.algorand.org/docs/run-a-node/setup/types/#:~:text=The%20Algorand%20network%20is%20comprised,%2C%20and%20non%2Drelay%20nodes.) of nodes (Relay or Participant) you can run also a 4 networks you can run your node against. Combining the types you can get: + - Defualt: + This is a Non-relay and Non-participant + It can run on (Devnet, Testnet, Betanet, Mainnet) + - Relay: + Relay node Can't be participant. + It can run only on (Testnet, Mainnet) + - Participant: + Can run on any of the four nets. + - Indexer: + It is a default node but with Archival Mode enbled which will make you able to query the data of the blockchain. + +## Run Default Node + +The basic type. you select any network you want. and for the node type select Default. +![defaultdep](./img/solutions_algorand.png) + +after the deployment is done. `ssh` to the node and run `goal node status` +![defaulttest](./img/algorand_defaulttest.png) +here you see your node run against mainnet. + +## Run Relay Node + +Relay nodes are where other nodes connect. Therefore, a relay node must be able to support a large number of connections and handle the processing load associated with all the data flowing to and from these connections. Thus, relay nodes require significantly more power than non-relay nodes. Relay nodes are always configured in archival mode. + +The relay node must be publicaly accessable. so it must have public ip. +![relaydep](./img/algorand_relaydep.png) + +after the deployment is done. `ssh` to the node and run `goal node status` to see the status of the node. and also you can check if the right port is listening (:4161 for testnet, and :4160 for mainnet) +![relaytest](./img/algorand_relaytest.png) + +The next step accourding to the [docs](https://developer.algorand.org/docs/run-a-node/setup/types/#relay-node) is to register your `ip:port` on Algorand Public SRV. + +## Run Participant Node + +Participation means participation in the Algorand consensus protocol. An account that participates in the Algorand consensus protocol is eligible and available to be selected to propose and vote on new blocks in the Algorand blockchain. +Participation node is responsible for hosting participation keys for one or more online accounts. + +What you need? +- Account mnemonics on the network you deploy on (offline) you can check the status for you account on the AlgoExplorer. search by your account id. + + The account needs to have some microAlgo to sign the participation transaction. + - [Main net explorer](https://algoexplorer.io/) + - [Test net explorer](https://testnet.algoexplorer.io/) + +- First Round: is the first block you need your participaiton node to validate from. you can choose the last block form the explorer. + ![partexp](./img/algorand_partexp.png) +- Last Round: is the final block your node can validate. let's make it 30M + +![partdep](./img/algorand_partdep.png) + +after the deployment is done. `ssh` to the node and run `goal node status` to see the status of the node. you see it do catchup. and the fast catchup is to make the node sync with the latest block faster by only fetch the last 1k blocks. after it done it will start create the participation keys. +![partstatus](./img/algorand_partstatus.png) + +now if you check the explorer you can see the status of the account turned to Online +![partonl](./img/algorand_partonl.png) + +## Run Indexer Node + +The primary purpose of this Indexer is to provide a REST API interface of API calls to support searching the Algorand Blockchain. The Indexer REST APIs retrieve the blockchain data from a PostgreSQL compatible database that must be populated. This database is populated using the same indexer instance or a separate instance of the indexer which must connect to the algod process of a running Algorand node to read block data. This node must also be an Archival node to make searching the entire blockchain possible. + +![indexernode](./img/algorand_indexernode.png) + +After it finish you can access the indexer API at port `8980` and here are the [endpoint](https://developer.algorand.org/docs/rest-apis/indexer/) you can access. + +## Select Capacity + +The default scinario the capacity is computed based on the node (network/type) accourding to this [reference](https://howbigisalgorand.com/). +But you still can change this only to higher values by selecting the option `Set Custom Capacity` + \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/basic_environments_readme.md b/collections/documentation/dashboard/solutions/basic_environments_readme.md new file mode 100644 index 0000000..d1bd532 --- /dev/null +++ b/collections/documentation/dashboard/solutions/basic_environments_readme.md @@ -0,0 +1,11 @@ +

Basic Environments

+ +

Table of Contents

+ +- [Virtual Machines](./vm_intro.md) + - [Micro and Full VM Differences ](./vm_differences.md) + - [Full Virtual Machine](./fullVm.md) + - [Micro Virtual Machine](./vm.md) +- [Kubernetes](./k8s.md) +- [NixOS MicroVM](./nixos_micro.md) +- [Add a Domain](./add_domain.md) \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/caprover.md b/collections/documentation/dashboard/solutions/caprover.md new file mode 100644 index 0000000..32034d7 --- /dev/null +++ b/collections/documentation/dashboard/solutions/caprover.md @@ -0,0 +1,165 @@ +

CapRover

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Requirements](#requirements) +- [Configs Tab](#configs-tab) +- [Admin and Workers Tabs](#admin-and-workers-tabs) +- [The Domain Name](#the-domain-name) + - [Domain Name Example](#domain-name-example) +- [How to Know the IP Address](#how-to-know-the-ip-address) +- [How to Access the Admin Interface](#how-to-access-the-admin-interface) +- [How to Work with CapRover](#how-to-work-with-caprover) + +*** + +## Introduction + +CapRover is an extremely easy to use app/database deployment & web server manager for your NodeJS, Python, PHP, ASP.NET, Ruby, MySQL, MongoDB, Postgres, WordPress (and etc...) applications! + +It's blazingly fast and very robust as it uses Docker, nginx, LetsEncrypt and NetData under the hood behind its simple-to-use interface. + +- CLI for automation and scripting +- Web GUI for ease of access and convenience +- No lock-in! Remove CapRover and your apps keep working! +- Docker Swarm under the hood for containerization and clustering +- Nginx (fully customizable template) under the hood for load-balancing +- Let's Encrypt under the hood for free SSL (HTTPS) + +Caprover is a very cool management app for containers based on Docker Swarm. + +It has following benefits : + +- easy to deploy apps (in seconds) +- easy to create new apps +- super good monitoring +- can be extended over the TFGrid + +## Requirements + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Orchestrators** +- Click on **CapRover** + +## Configs Tab + +![ ](./img/solutions_caprover.png) + +- Enter domain for you Caprover instance, Be very careful about the domain name: it needs to be a wildcard domain name you can configure in your chosen domain name system. +- Enter password for you Caprover instance. + +## Admin and Workers Tabs + +![ ](./img/solutions_caprover_leader.png) + +![ ](./img/solutions_caprover_workers.png) +Note: Worker nodes only accept SSH keys of RSA format. + +Deployment will take couple of minutes. + +## The Domain Name + +As per the [CapRover documentation](https://caprover.com/docs/get-started.html), you need to point a wildcard DNS entry to the VM IP address of your CapRover instance. You have to do this after having deployed the CapRover instance, otherwise you won't have access to the VM IP address. + +Let’s say your domain is **example.com** and your subdomain is **subdomain**. You can set **\*.subdomain.example.com** as an A record in your DNS settings to point to the VM IP address of the server hosting the CapRover instance, where **\*** acts as the wildcard. To do this, go to the DNS settings of your domain name registrar, and set a wild card A record entry. + +On your domain name registrar, you can manage your DNS settings as such, with **subdomain** as an example: + +| Record | Host | Value | TTL | +| ------ | ------------- | ------------- | --------- | +| A | @ | VM IP address | Automatic | +| A | subdomain | VM IP address | Automatic | +| A | \*.subdomain | VM IP address | Automatic | + +We note here that **@** is the root domain (@ takes the value of your domain name, e.g. **example** in **example.com**), **subdomain** is the name of your subdomain (it can be anything you want), and **\*.subdomain** is the wildcard for **subdomain**. If you don't want to use a subdomain, but only the domain, you could use a wildcard linked to the domain instead of the subdomain (e.g. put **\*** instead of **\*.subdomain** in the column **Host**). + +Once you've point a wildcard DNS entry to your CapRover IP address and that the DNS is properly propagated, you can click the **Admin Panel** button to access CapRover. This will lead you to the following URL (with **subdomain.example.com** as an example): + +> captain.subdomain.example.com + +Note that, to confirm the DNS propagation, you can use a [DNS lookup tool](https://mxtoolbox.com/DNSLookup.aspx). As an example, you can use the URL **captain.subdomain.example.com** to check if the IP address resolves to the VM IP address. + +### Domain Name Example + +In the following example, we pick ```apps.openly.life``` which is a domain name that will point to the IP address of the CapRover instance (which we only know after deployment). + +![ ](./img/domain_name_caprover_config.png) + +> Note how the *.apps.openly.life points to the public IPv4 address that has been returned from the deployment. + +## How to Know the IP Address + +Go back to your CapRover weblet and go to the deployment list. Click on `Show Details`. + +![ ](./img/solution_caprover_list.png) + +- The public IPv4 address is visible in here +- Now you can configure the domain name (see above, don't forget to point the wildcard domain to the public IP address) + +Click on details if you want to see more details + +```json + +{ + "version": 0, + "name": "caprover_leader_cr_156e44f0", + "created": 1637843368, + "status": "ok", + "message": "", + "flist": "https://hub.grid.tf/samehabouelsaad.3bot/tf-caprover-main-a4f186da8d.flist", + "publicIP": { + "ip": "185.206.122.136/24", + "gateway": "185.206.122.1" + }, + "planetary": false, + "yggIP": "", + "interfaces": [ + { + "network": "caprover_network_cr_156e44f0", + "ip": "10.200.4.2" + } + ], + "capacity": { + "cpu": 4, + "memory": 8192 + }, + "mounts": [ + { + "name": "data0", + "mountPoint": "/var/lib/docker", + "size": 107374182400, + "state": "ok", + "message": "" + } + ], + "env": { + "SWM_NODE_MODE": "leader", + "CAPROVER_ROOT_DOMAIN": "apps.openly.life", + "PUBLIC_KEY": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/9RNGKRjHvViunSOXhBF7EumrWvmqAAVJSrfGdLaVasgaYK6tkTRDzpZNplh3Tk1aowneXnZffygzIIZ82FWQYBo04IBWwFDOsCawjVbuAfcd9ZslYEYB3QnxV6ogQ4rvXnJ7IHgm3E3SZvt2l45WIyFn6ZKuFifK1aXhZkxHIPf31q68R2idJ764EsfqXfaf3q8H3u4G0NjfWmdPm9nwf/RJDZO+KYFLQ9wXeqRn6u/mRx+u7UD+Uo0xgjRQk1m8V+KuLAmqAosFdlAq0pBO8lEBpSebYdvRWxpM0QSdNrYQcMLVRX7IehizyTt+5sYYbp6f11WWcxLx0QDsUZ/J" + }, + "entrypoint": "/sbin/zinit init", + "metadata": "", + "description": "caprover leader machine/node" +} +``` + +## How to Access the Admin Interface + +Make sure that you've point a wildcard DNS entry to your CapRover IP address (e.g. **185.206.122.136** in our example), as explained [here](#the-domain-name). + +* To access the CapRover admin interface, you can click the **Admin Panel** button or you can use the following admin URL template: **https://captain.subdomain.example.com**. + * Note the prefix **captain** and the usage of our wildcard domain. + +* The admin password is generated and visible behind the `Show Details` button of your CapRover deployment. + +![ ](./img/caprover_login.png) + +* You should now see the following screen: + +![ ](./img/captain_login+weblet_caprover_.png) + +## How to Work with CapRover + +* [CapRover Admin Tutorial](./caprover_admin.md) +* [CapRover Worker Tutorial](./caprover_worker.md) diff --git a/collections/documentation/dashboard/solutions/caprover_admin.md b/collections/documentation/dashboard/solutions/caprover_admin.md new file mode 100644 index 0000000..47dd8fd --- /dev/null +++ b/collections/documentation/dashboard/solutions/caprover_admin.md @@ -0,0 +1,59 @@ +

CapRover Admin

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Step 1: Enable HTTPS](#step-1-enable-https) +- [Step 2: Add a Default Docker Registry](#step-2-add-a-default-docker-registry) +- [Step 3: Deploy an App](#step-3-deploy-an-app) +- [Step 4: Enable Monitoring](#step-4-enable-monitoring) +- [Step 5: Change Your Password](#step-5-change-your-password) + +*** + +## Introduction + +We present the steps to manage a CapRover Admin node. + +## Step 1: Enable HTTPS + +![ ](./img/enable_https_caprover.png) + +You need to specify your email address. + +You will have to login again. + +![ ](./img/caprover_https_activated.png) + +> Now force https. + +You will have to login again, and you should notice https is now used. + +## Step 2: Add a Default Docker Registry + +You'll have to add a default docker registry so other CapRover nodes in the cluster can download images from, and it can be self-hosted (managed by CapRover itself), to add it, go to `Cluster` -> `Docker Registry Configuration`. + +![ ](./img/caprover_docker_registry.png) + +You can check [official documentation](https://caprover.com/docs/app-scaling-and-cluster.html#setup-docker-registry) to know more about Docker registry options. + +## Step 3: Deploy an App + +![ ](./img/deploy_app_caprover1.png) + +just go to apps & follow the instructions, there is much more info on caprover website. + +## Step 4: Enable Monitoring + +![ ](./img/caprover_monitoring_start_.png) + +You should now see + +![ ](./img/caprover_monitoring_2_.png) + +## Step 5: Change Your Password + +- Go to `Settings` and change your password. This is important for your own security. + + +> Further information regarding the process of attaching a new node to the cluster can be found through the following documentation link: [Attach a New Node to the Cluster](./caprover_worker.md/#step-2-attach-a-new-node-to-the-cluster) \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/caprover_worker.md b/collections/documentation/dashboard/solutions/caprover_worker.md new file mode 100644 index 0000000..5269e23 --- /dev/null +++ b/collections/documentation/dashboard/solutions/caprover_worker.md @@ -0,0 +1,42 @@ +

CapRover Worker

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Step 1: Add a Default Docker Registry](#step-1-add-a-default-docker-registry) +- [Step 2: Attach a New Node to the Cluster](#step-2-attach-a-new-node-to-the-cluster) + +*** + +## Introduction + +We present the steps to manage a CapRover Worker node. + +## Step 1: Add a Default Docker Registry + +You'll have to add a default docker registry so other CapRover nodes in the cluster can download images from, and it can be self-hosted (managed by CapRover itself), to add it, go to `Cluster` -> `Docker Registry Configuration`. + +![ ](./img/caprover_docker_registry.png) + +- Click `Add Self-Hosted Registry` button, then click `Enable Self-Hosted Registry` + +![ ](./img/caprover_docker_default_registry.png) + +You can check [official documentation](https://caprover.com/docs/app-scaling-and-cluster.html#setup-docker-registry) to know more about Docker registry options. + + + +## Step 2: Attach a New Node to the Cluster + +![ ](./img/caprover_add_worker.png) + +- Add the public IPv4 address that has been returned from the worker deployment in the `New node IP Address` field. +- Add your `SSH private key` (you can use this command `cat ~/.ssh/id_rsa` to get your private key). +- Click `Join cluster` button. + +You should see the new added node under **Current Cluster Nodes** +![ ](./img/caprover_node_added.png) + +If you faced any problem you can use the `Alternative method`. + +Also you can check for Troubleshooting instruction on [Caprover Troubleshooting](https://caprover.com/docs/troubleshooting.html#second) \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/casper.md b/collections/documentation/dashboard/solutions/casper.md new file mode 100644 index 0000000..5071c09 --- /dev/null +++ b/collections/documentation/dashboard/solutions/casper.md @@ -0,0 +1,51 @@ +

CasperLabs

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Deployment](#deployment) + +*** + +## Introduction + +[Casper Network](https://casperlabs.io/) is a blockchain protocol built from the ground up to remain true to core Web3 principles and adapt to the needs of our evolving world. + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Applications** +- Click on **Casperlabs** + +## Deployment + +__Process__ : + +![ ](./img/solutions_casperlabs.png) + +- Enter an Application Name. It's used in generating a unique subdomain on one of the gateways on the network alongside your twin ID. Ex. ***cl98casp*.gent02.dev.grid.tf** + +- Select a capacity package: + - **Small**: {cpu: 2, memory: 4, diskSize: 100 } + - **Medium**: {cpu: 4, memory: 16, diskSize: 500 } + - **Large**: {cpu: 8, memory: 32, diskSize: 100 } + - Or choose a **Custom** plan +- Choose the network + - `Public IPv4` flag gives the virtual machine a Public IPv4 + +- `Dedicated` flag to retrieve only dedeicated nodes +- `Certified` flag to retrieve only certified nodes +- Choose the location of the node + - `Region` + - `Country` + - `Farm Name` +- Choose the node to deploy on +> Or you can select a specific node with manual selection. +- `Custom Domain` flag lets the user to use a custom domain +- Choose a gateway node to deploy your Casperlab instance on. + +After that is done you can see a list of all of your deployed instances + +![ ](./img/casper4.png) + +Click on ***Visit*** to go to the homepage of your Casperlabs instance! The node takes a long time in order for the RPC service to be ready so be patient! + +![ ](./img/casper5.png) \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/discourse.md b/collections/documentation/dashboard/solutions/discourse.md new file mode 100644 index 0000000..9bdff3c --- /dev/null +++ b/collections/documentation/dashboard/solutions/discourse.md @@ -0,0 +1,53 @@ +

Discourse

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Deployment](#deployment) + +*** + +## Introduction + +[Discourse](https://www.discourse.org/) is the 100% open source discussion platform built for the next decade of the Internet. Use it as a mailing list, discussion forum, long-form chat room, and more! + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Applications** +- Click on **Discourse** + +## Deployment + +![ ](./img/solutions_discourse.png) + +- Enter an Application Name. It's used in generating a unique subdomain on one of the gateways on the network alongside your twin ID. Ex. ***dc98newdisc*.gent02.dev.grid.tf** + +- Enter administrator information including **Email**. This admin will have full permission on the deployed instance. +- Select a capacity package: + - **Small**: {cpu: 1, memory: 2, diskSize: 15 } + - **Medium**: {cpu: 2, memory: 4, diskSize: 50 } + - **Large**: {cpu: 4, memory: 16, diskSize: 100 } + - Or choose a **Custom** plan + +- `Dedicated` flag to retrieve only dedeicated nodes +- `Certified` flag to retrieve only certified nodes +- Choose the location of the node + - `Region` + - `Country` + - `Farm Name` + +- Choose the node to deploy on +> Or you can select a specific node with manual selection. +- `Custom Domain` flag lets the user to use a custom domain +- Choose a gateway node to deploy your Discourse instance on. + +Unlike other solutions, Discourse requires that you have an SMTP server. So make sure you fill the fields in the **Mail Server** tab in order to deploy your instance successfully. + +![ ](./img/discourse4.png) + +After that is done you can see a list of all of your deployed instances + +![ ](./img/discourse5.png) + +Click on ***Visit*** to go to the homepage of your Discourse instance! + +![ ](./img/discourse6.png) diff --git a/collections/documentation/dashboard/solutions/fullVm.md b/collections/documentation/dashboard/solutions/fullVm.md new file mode 100644 index 0000000..59b01e6 --- /dev/null +++ b/collections/documentation/dashboard/solutions/fullVm.md @@ -0,0 +1,108 @@ +

Full Virtual Machine

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Deployment](#deployment) +- [Difference Between Full VM and Micro VM](#difference-between-full-vm-and-micro-vm) +- [Manually Mounting Additional Disk](#manually-mounting-additional-disk) + - [Check All Disks Attached to the VM](#check-all-disks-attached-to-the-vm) + - [Create a Mount Directory](#create-a-mount-directory) + - [New file system](#new-file-system) + - [Mount drive](#mount-drive) + +*** + +## Introduction + +We present the steps to deploy a full VM on the TFGrid. + +## Deployment + +Deploy a new full virtual machine on the Threefold Grid + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Applications** +- Click on **Full Virtual Machine** + +**Process:** + +![ ](./img/solutions_fullvm.png) + +- Fill in the instance name: it's used to reference the Full VM in the future. +- Choose the image from the drop down (e.g Alpine, Ubuntu) or you can click on `Other` and manually specify the flist URL and the entrypoint. +- Select a capacity package: + - **Small**: {cpu: 1, memory: 2, diskSize: 25 } + - **Medium**: {cpu: 2, memory: 4, diskSize: 50 } + - **Large**: {cpu: 4, memory: 16, diskSize: 100} + - Or choose a **Custom** plan +- Choose the network + - `Public IPv4` flag gives the virtual machine a Public IPv4 + - `Public IPv6` flag gives the virtual machine a Public IPv6 + - `Planetary Network` to connect the Virtual Machine to Planetary network + - `Myceluim` to enable mycelium on the virtual machine + - `Wireguard Access` to add a wireguard access to the Virtual Machine +- `GPU` flag to add GPU to the Virtual machine + - To deploy a Full VM with GPU, you first need to [rent a dedicated node](../../dashboard/deploy/dedicated_machines.md) +- `Dedicated` flag to retrieve only dedicated nodes +- `Certified` flag to retrieve only certified nodes +- Choose the location of the node + - `Country` + - `Farm Name` +- Choose the node to deploy the Full Virtual Machine on + ![](./img/node_selection.png) + +You can attach one or more disks to the Virtual Machine by clicking on the Disks tab and the plus `+` sign and specify the following parameters +![ ](./img/new_vm3.png) + +- Disk name +- Disk size + +in the bottom of the page you can see a list of all of the virtual machines you deployed. you can click on `Show details` for more details + +![ ](./img/new_vm5.png) +You can also go to JSON tab for full details +![ ](./img/new_vm6.png) + +## Difference Between Full VM and Micro VM + +- Full VM contains a default disk attached to it which is not the case in the Micro VM where you needed to make sure to attach a disk to it or the VM will fail +- The default disk is mounted on / so if you want to attach any additional disks, you have to choose a different mounting point +- Only cloud init flists can be deployed on Full VM. You can check official Threefold flists [here](https://hub.grid.tf/tf-official-vms) +- In Full VM, you need to mount the additional disks manually after the VM is deployed + +## Manually Mounting Additional Disk + +- You can follow the following commands to add your disk manually: + +### Check All Disks Attached to the VM + +```bash +fdisk -l +``` + +The additional disk won't be mounted and you won't find it listed + +```bash +df -h +``` + +### Create a Mount Directory + +```bash +sudo mkdir /hdd6T +``` + +### New file system + +```bash +sudo mkfs.ext4 /dev/vdb +``` + +### Mount drive + +```bash +sudo mount /dev/vdb /hdd6T/ +``` + +![mounting additional disk](./img/fullvm6.png) diff --git a/collections/documentation/dashboard/solutions/funkwhale.md b/collections/documentation/dashboard/solutions/funkwhale.md new file mode 100644 index 0000000..8940728 --- /dev/null +++ b/collections/documentation/dashboard/solutions/funkwhale.md @@ -0,0 +1,59 @@ +

Funkwhale

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) +- [Deployment](#deployment) + +*** + +## Introduction + +[Funkwhale](https://funkwhale.audio/) is social platform to enjoy and share music. +Funkwhale is a community-driven project that lets you listen and share music and audio within a decentralized, open network. + +## Prerequisites + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Applications** +- Click on **Funkwhale** + +## Deployment + +__Process__ : + +![ ](./img/solutions_funkwhale.png) + +- Enter an Application Name. It's used in generating a unique subdomain on one of the gateways on the network alongside your twin ID. Ex. ***fw100myfunk*.gent02.dev.grid.tf** + +- Enter administrator information including **Username**, **Email** and **Password**. This admin user will have full permission on the deployed instance. + +- Select a capacity package: + - **Small**: {cpu: 1, memory: 2, diskSize: 50 } + - **Medium**: {cpu: 2, memory: 4, diskSize: 100 } + - **Large**: {cpu: 4, memory: 16, diskSize: 250 } + - Or choose a **Custom** plan +- Choose the network + - `Public IPv4` flag gives the virtual machine a Public IPv4 + +- `Dedicated` flag to retrieve only dedeicated nodes +- `Certified` flag to retrieve only certified nodes +- Choose the location of the node + - `Region` + - `Country` + - `Farm Name` + +- Choose the node to deploy on +> Or you can select a specific node with manual selection. +- `Custom Domain` flag lets the user to use a custom domain +- Choose a gateway node to deploy your Funkwhale instance on. + + +After that is done you can see a list of all of your deployed instances + +![ ](./img/funkwhale2.png) + +Click on ***Visit*** to go to the homepage of your Funkwhale instance! + +![ ](./img/funkwhale3.png) \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/img/algorand_defaulttest.png b/collections/documentation/dashboard/solutions/img/algorand_defaulttest.png new file mode 100644 index 0000000..8fbad1c Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/algorand_defaulttest.png differ diff --git a/collections/documentation/dashboard/solutions/img/algorand_indexernode.png b/collections/documentation/dashboard/solutions/img/algorand_indexernode.png new file mode 100644 index 0000000..54540ab Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/algorand_indexernode.png differ diff --git a/collections/documentation/dashboard/solutions/img/algorand_partdep.png b/collections/documentation/dashboard/solutions/img/algorand_partdep.png new file mode 100644 index 0000000..bde2f8c Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/algorand_partdep.png differ diff --git a/collections/documentation/dashboard/solutions/img/algorand_partexp.png b/collections/documentation/dashboard/solutions/img/algorand_partexp.png new file mode 100644 index 0000000..1c452fb Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/algorand_partexp.png differ diff --git a/collections/documentation/dashboard/solutions/img/algorand_partonl.png b/collections/documentation/dashboard/solutions/img/algorand_partonl.png new file mode 100644 index 0000000..984ebd5 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/algorand_partonl.png differ diff --git a/collections/documentation/dashboard/solutions/img/algorand_partstatus.png b/collections/documentation/dashboard/solutions/img/algorand_partstatus.png new file mode 100644 index 0000000..f8a9635 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/algorand_partstatus.png differ diff --git a/collections/documentation/dashboard/solutions/img/algorand_relaydep.png b/collections/documentation/dashboard/solutions/img/algorand_relaydep.png new file mode 100644 index 0000000..eb04aca Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/algorand_relaydep.png differ diff --git a/collections/documentation/dashboard/solutions/img/algorand_relaytest.png b/collections/documentation/dashboard/solutions/img/algorand_relaytest.png new file mode 100644 index 0000000..870b06e Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/algorand_relaytest.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_1.png b/collections/documentation/dashboard/solutions/img/caprover_1.png new file mode 100644 index 0000000..b6b3f39 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_1.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_add_node2.png b/collections/documentation/dashboard/solutions/img/caprover_add_node2.png new file mode 100644 index 0000000..e3ae2a0 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_add_node2.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_add_worker.png b/collections/documentation/dashboard/solutions/img/caprover_add_worker.png new file mode 100644 index 0000000..ee0e83a Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_add_worker.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_cluster.png b/collections/documentation/dashboard/solutions/img/caprover_cluster.png new file mode 100644 index 0000000..0ede9c8 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_cluster.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_deploy_leader.png b/collections/documentation/dashboard/solutions/img/caprover_deploy_leader.png new file mode 100644 index 0000000..0d757e4 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_deploy_leader.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_deploy_worker.png b/collections/documentation/dashboard/solutions/img/caprover_deploy_worker.png new file mode 100644 index 0000000..e4f80ce Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_deploy_worker.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_deploying.png b/collections/documentation/dashboard/solutions/img/caprover_deploying.png new file mode 100644 index 0000000..307569c Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_deploying.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_detail_weblet.png b/collections/documentation/dashboard/solutions/img/caprover_detail_weblet.png new file mode 100644 index 0000000..4f619ff Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_detail_weblet.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_docker_default_registry.png b/collections/documentation/dashboard/solutions/img/caprover_docker_default_registry.png new file mode 100644 index 0000000..0998b1c Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_docker_default_registry.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_docker_registry.png b/collections/documentation/dashboard/solutions/img/caprover_docker_registry.png new file mode 100644 index 0000000..06abbeb Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_docker_registry.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_https_activated.png b/collections/documentation/dashboard/solutions/img/caprover_https_activated.png new file mode 100644 index 0000000..2cbadd6 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_https_activated.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_login.png b/collections/documentation/dashboard/solutions/img/caprover_login.png new file mode 100644 index 0000000..3d27d7e Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_login.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_monitoring_2_.png b/collections/documentation/dashboard/solutions/img/caprover_monitoring_2_.png new file mode 100644 index 0000000..c92bf01 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_monitoring_2_.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_monitoring_start_.png b/collections/documentation/dashboard/solutions/img/caprover_monitoring_start_.png new file mode 100644 index 0000000..2a5fa78 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_monitoring_start_.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_node_added.png b/collections/documentation/dashboard/solutions/img/caprover_node_added.png new file mode 100644 index 0000000..93e9a35 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_node_added.png differ diff --git a/collections/documentation/dashboard/solutions/img/caprover_select_node.png b/collections/documentation/dashboard/solutions/img/caprover_select_node.png new file mode 100644 index 0000000..ce155b1 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/caprover_select_node.png differ diff --git a/collections/documentation/dashboard/solutions/img/captain_login+weblet_caprover_.png b/collections/documentation/dashboard/solutions/img/captain_login+weblet_caprover_.png new file mode 100644 index 0000000..c4f14d9 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/captain_login+weblet_caprover_.png differ diff --git a/collections/documentation/dashboard/solutions/img/casper2.png b/collections/documentation/dashboard/solutions/img/casper2.png new file mode 100644 index 0000000..4948b79 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/casper2.png differ diff --git a/collections/documentation/dashboard/solutions/img/casper3.png b/collections/documentation/dashboard/solutions/img/casper3.png new file mode 100644 index 0000000..a9123f0 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/casper3.png differ diff --git a/collections/documentation/dashboard/solutions/img/casper4.png b/collections/documentation/dashboard/solutions/img/casper4.png new file mode 100644 index 0000000..17bd144 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/casper4.png differ diff --git a/collections/documentation/dashboard/solutions/img/casper5.png b/collections/documentation/dashboard/solutions/img/casper5.png new file mode 100644 index 0000000..5d3f1e7 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/casper5.png differ diff --git a/collections/documentation/dashboard/solutions/img/cluster_add_nodes.png b/collections/documentation/dashboard/solutions/img/cluster_add_nodes.png new file mode 100644 index 0000000..c338f54 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/cluster_add_nodes.png differ diff --git a/collections/documentation/dashboard/solutions/img/contracts_list.png b/collections/documentation/dashboard/solutions/img/contracts_list.png new file mode 100644 index 0000000..2990bde Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/contracts_list.png differ diff --git a/collections/documentation/dashboard/solutions/img/deleted_contract_info copy.png b/collections/documentation/dashboard/solutions/img/deleted_contract_info copy.png new file mode 100644 index 0000000..a3c0357 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/deleted_contract_info copy.png differ diff --git a/collections/documentation/dashboard/solutions/img/deleted_contract_info.png b/collections/documentation/dashboard/solutions/img/deleted_contract_info.png new file mode 100644 index 0000000..a3c0357 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/deleted_contract_info.png differ diff --git a/collections/documentation/dashboard/solutions/img/deplist1.png b/collections/documentation/dashboard/solutions/img/deplist1.png new file mode 100644 index 0000000..e73d1fd Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/deplist1.png differ diff --git a/collections/documentation/dashboard/solutions/img/deploy_app_caprover1.png b/collections/documentation/dashboard/solutions/img/deploy_app_caprover1.png new file mode 100644 index 0000000..7a8fe1e Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/deploy_app_caprover1.png differ diff --git a/collections/documentation/dashboard/solutions/img/discourse4.png b/collections/documentation/dashboard/solutions/img/discourse4.png new file mode 100644 index 0000000..eaeb779 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/discourse4.png differ diff --git a/collections/documentation/dashboard/solutions/img/discourse5.png b/collections/documentation/dashboard/solutions/img/discourse5.png new file mode 100644 index 0000000..01dca67 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/discourse5.png differ diff --git a/collections/documentation/dashboard/solutions/img/discourse6.png b/collections/documentation/dashboard/solutions/img/discourse6.png new file mode 100644 index 0000000..f1566c8 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/discourse6.png differ diff --git a/collections/documentation/dashboard/solutions/img/domain_name_caprover_config.png b/collections/documentation/dashboard/solutions/img/domain_name_caprover_config.png new file mode 100644 index 0000000..dca23c3 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/domain_name_caprover_config.png differ diff --git a/collections/documentation/dashboard/solutions/img/enable_https_caprover.png b/collections/documentation/dashboard/solutions/img/enable_https_caprover.png new file mode 100644 index 0000000..4149288 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/enable_https_caprover.png differ diff --git a/collections/documentation/dashboard/solutions/img/fullvm1.png b/collections/documentation/dashboard/solutions/img/fullvm1.png new file mode 100644 index 0000000..ce820d2 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/fullvm1.png differ diff --git a/collections/documentation/dashboard/solutions/img/fullvm2.png b/collections/documentation/dashboard/solutions/img/fullvm2.png new file mode 100644 index 0000000..811bdfc Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/fullvm2.png differ diff --git a/collections/documentation/dashboard/solutions/img/fullvm4.png b/collections/documentation/dashboard/solutions/img/fullvm4.png new file mode 100644 index 0000000..5186f74 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/fullvm4.png differ diff --git a/collections/documentation/dashboard/solutions/img/fullvm5.png b/collections/documentation/dashboard/solutions/img/fullvm5.png new file mode 100644 index 0000000..376d3d9 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/fullvm5.png differ diff --git a/collections/documentation/dashboard/solutions/img/fullvm6.png b/collections/documentation/dashboard/solutions/img/fullvm6.png new file mode 100644 index 0000000..30348fc Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/fullvm6.png differ diff --git a/collections/documentation/dashboard/solutions/img/fullvm7.jpg b/collections/documentation/dashboard/solutions/img/fullvm7.jpg new file mode 100644 index 0000000..f5fd320 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/fullvm7.jpg differ diff --git a/collections/documentation/dashboard/solutions/img/funkwhale2.png b/collections/documentation/dashboard/solutions/img/funkwhale2.png new file mode 100644 index 0000000..de4fab4 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/funkwhale2.png differ diff --git a/collections/documentation/dashboard/solutions/img/funkwhale3.png b/collections/documentation/dashboard/solutions/img/funkwhale3.png new file mode 100644 index 0000000..7a5f00c Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/funkwhale3.png differ diff --git a/collections/documentation/dashboard/solutions/img/k8s_dl_1.png b/collections/documentation/dashboard/solutions/img/k8s_dl_1.png new file mode 100644 index 0000000..c8b5670 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/k8s_dl_1.png differ diff --git a/collections/documentation/dashboard/solutions/img/k8s_dl_2.png b/collections/documentation/dashboard/solutions/img/k8s_dl_2.png new file mode 100644 index 0000000..a5874f7 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/k8s_dl_2.png differ diff --git a/collections/documentation/dashboard/solutions/img/k8s_dl_4.png b/collections/documentation/dashboard/solutions/img/k8s_dl_4.png new file mode 100644 index 0000000..be4361c Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/k8s_dl_4.png differ diff --git a/collections/documentation/dashboard/solutions/img/mastodon1.jpg b/collections/documentation/dashboard/solutions/img/mastodon1.jpg new file mode 100644 index 0000000..e4bc3d6 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/mastodon1.jpg differ diff --git a/collections/documentation/dashboard/solutions/img/mastodon2.jpg b/collections/documentation/dashboard/solutions/img/mastodon2.jpg new file mode 100644 index 0000000..ae0748b Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/mastodon2.jpg differ diff --git a/collections/documentation/dashboard/solutions/img/mastodon3.jpg b/collections/documentation/dashboard/solutions/img/mastodon3.jpg new file mode 100644 index 0000000..591570b Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/mastodon3.jpg differ diff --git a/collections/documentation/dashboard/solutions/img/mastodon4.jpg b/collections/documentation/dashboard/solutions/img/mastodon4.jpg new file mode 100644 index 0000000..f9afe85 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/mastodon4.jpg differ diff --git a/collections/documentation/dashboard/solutions/img/mastodon5.jpg b/collections/documentation/dashboard/solutions/img/mastodon5.jpg new file mode 100644 index 0000000..eb01556 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/mastodon5.jpg differ diff --git a/collections/documentation/dashboard/solutions/img/mattermost3.png b/collections/documentation/dashboard/solutions/img/mattermost3.png new file mode 100644 index 0000000..2ada6dc Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/mattermost3.png differ diff --git a/collections/documentation/dashboard/solutions/img/mattermost4.png b/collections/documentation/dashboard/solutions/img/mattermost4.png new file mode 100644 index 0000000..fd6ee19 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/mattermost4.png differ diff --git a/collections/documentation/dashboard/solutions/img/mattermost5.png b/collections/documentation/dashboard/solutions/img/mattermost5.png new file mode 100644 index 0000000..a45f632 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/mattermost5.png differ diff --git a/collections/documentation/dashboard/solutions/img/new_cap2.png b/collections/documentation/dashboard/solutions/img/new_cap2.png new file mode 100644 index 0000000..689da23 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/new_cap2.png differ diff --git a/collections/documentation/dashboard/solutions/img/new_cap3.png b/collections/documentation/dashboard/solutions/img/new_cap3.png new file mode 100644 index 0000000..31c5110 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/new_cap3.png differ diff --git a/collections/documentation/dashboard/solutions/img/new_funk2.png b/collections/documentation/dashboard/solutions/img/new_funk2.png new file mode 100644 index 0000000..eb87d9f Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/new_funk2.png differ diff --git a/collections/documentation/dashboard/solutions/img/new_funk3.png b/collections/documentation/dashboard/solutions/img/new_funk3.png new file mode 100644 index 0000000..4e97d6d Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/new_funk3.png differ diff --git a/collections/documentation/dashboard/solutions/img/new_k8s4.png b/collections/documentation/dashboard/solutions/img/new_k8s4.png new file mode 100644 index 0000000..9dded9c Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/new_k8s4.png differ diff --git a/collections/documentation/dashboard/solutions/img/new_k8s5.png b/collections/documentation/dashboard/solutions/img/new_k8s5.png new file mode 100644 index 0000000..e6aa91a Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/new_k8s5.png differ diff --git a/collections/documentation/dashboard/solutions/img/new_peer2.png b/collections/documentation/dashboard/solutions/img/new_peer2.png new file mode 100644 index 0000000..604fe10 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/new_peer2.png differ diff --git a/collections/documentation/dashboard/solutions/img/new_peer3.png b/collections/documentation/dashboard/solutions/img/new_peer3.png new file mode 100644 index 0000000..43987a4 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/new_peer3.png differ diff --git a/collections/documentation/dashboard/solutions/img/new_vm2.png b/collections/documentation/dashboard/solutions/img/new_vm2.png new file mode 100644 index 0000000..c5ebf1d Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/new_vm2.png differ diff --git a/collections/documentation/dashboard/solutions/img/new_vm3.png b/collections/documentation/dashboard/solutions/img/new_vm3.png new file mode 100644 index 0000000..1981cb6 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/new_vm3.png differ diff --git a/collections/documentation/dashboard/solutions/img/new_vm5.png b/collections/documentation/dashboard/solutions/img/new_vm5.png new file mode 100644 index 0000000..723a44e Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/new_vm5.png differ diff --git a/collections/documentation/dashboard/solutions/img/new_vm6.png b/collections/documentation/dashboard/solutions/img/new_vm6.png new file mode 100644 index 0000000..d2af47d Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/new_vm6.png differ diff --git a/collections/documentation/dashboard/solutions/img/new_vm7.png b/collections/documentation/dashboard/solutions/img/new_vm7.png new file mode 100644 index 0000000..da8c92b Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/new_vm7.png differ diff --git a/collections/documentation/dashboard/solutions/img/new_vm8.png b/collections/documentation/dashboard/solutions/img/new_vm8.png new file mode 100644 index 0000000..ee291c8 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/new_vm8.png differ diff --git a/collections/documentation/dashboard/solutions/img/nixos-micro1.png b/collections/documentation/dashboard/solutions/img/nixos-micro1.png new file mode 100644 index 0000000..0114907 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/nixos-micro1.png differ diff --git a/collections/documentation/dashboard/solutions/img/nixos-micro2.png b/collections/documentation/dashboard/solutions/img/nixos-micro2.png new file mode 100644 index 0000000..d094ef3 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/nixos-micro2.png differ diff --git a/collections/documentation/dashboard/solutions/img/nixos-micro3.png b/collections/documentation/dashboard/solutions/img/nixos-micro3.png new file mode 100644 index 0000000..85247c3 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/nixos-micro3.png differ diff --git a/collections/documentation/dashboard/solutions/img/nodeP_2.png b/collections/documentation/dashboard/solutions/img/nodeP_2.png new file mode 100644 index 0000000..f1f7ac2 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/nodeP_2.png differ diff --git a/collections/documentation/dashboard/solutions/img/nodePilot_2.png b/collections/documentation/dashboard/solutions/img/nodePilot_2.png new file mode 100644 index 0000000..083551b Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/nodePilot_2.png differ diff --git a/collections/documentation/dashboard/solutions/img/nodePilot_3.png b/collections/documentation/dashboard/solutions/img/nodePilot_3.png new file mode 100644 index 0000000..8b4549b Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/nodePilot_3.png differ diff --git a/collections/documentation/dashboard/solutions/img/node_selection.png b/collections/documentation/dashboard/solutions/img/node_selection.png new file mode 100644 index 0000000..50a30dc Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/node_selection.png differ diff --git a/collections/documentation/dashboard/solutions/img/nxios-micro1.png b/collections/documentation/dashboard/solutions/img/nxios-micro1.png new file mode 100644 index 0000000..c2fc9d7 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/nxios-micro1.png differ diff --git a/collections/documentation/dashboard/solutions/img/owncloud1.png b/collections/documentation/dashboard/solutions/img/owncloud1.png new file mode 100644 index 0000000..2a5567e Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/owncloud1.png differ diff --git a/collections/documentation/dashboard/solutions/img/owncloud2.png b/collections/documentation/dashboard/solutions/img/owncloud2.png new file mode 100644 index 0000000..c34fab7 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/owncloud2.png differ diff --git a/collections/documentation/dashboard/solutions/img/owncloud3.png b/collections/documentation/dashboard/solutions/img/owncloud3.png new file mode 100644 index 0000000..62995d3 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/owncloud3.png differ diff --git a/collections/documentation/dashboard/solutions/img/owncloud4.png b/collections/documentation/dashboard/solutions/img/owncloud4.png new file mode 100644 index 0000000..98d16ae Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/owncloud4.png differ diff --git a/collections/documentation/dashboard/solutions/img/owncloud5.png b/collections/documentation/dashboard/solutions/img/owncloud5.png new file mode 100644 index 0000000..d441b86 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/owncloud5.png differ diff --git a/collections/documentation/dashboard/solutions/img/owncloud6.png b/collections/documentation/dashboard/solutions/img/owncloud6.png new file mode 100644 index 0000000..a994782 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/owncloud6.png differ diff --git a/collections/documentation/dashboard/solutions/img/presearch0.png b/collections/documentation/dashboard/solutions/img/presearch0.png new file mode 100644 index 0000000..29dedbe Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/presearch0.png differ diff --git a/collections/documentation/dashboard/solutions/img/presearch4.png b/collections/documentation/dashboard/solutions/img/presearch4.png new file mode 100644 index 0000000..2c3c8e9 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/presearch4.png differ diff --git a/collections/documentation/dashboard/solutions/img/presearch5.png b/collections/documentation/dashboard/solutions/img/presearch5.png new file mode 100644 index 0000000..9c7ec67 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/presearch5.png differ diff --git a/collections/documentation/dashboard/solutions/img/presearch6.png b/collections/documentation/dashboard/solutions/img/presearch6.png new file mode 100644 index 0000000..9279f30 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/presearch6.png differ diff --git a/collections/documentation/dashboard/solutions/img/qvm1.png b/collections/documentation/dashboard/solutions/img/qvm1.png new file mode 100644 index 0000000..93277ab Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/qvm1.png differ diff --git a/collections/documentation/dashboard/solutions/img/qvm2.png b/collections/documentation/dashboard/solutions/img/qvm2.png new file mode 100644 index 0000000..0777158 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/qvm2.png differ diff --git a/collections/documentation/dashboard/solutions/img/qvm_nodes.png b/collections/documentation/dashboard/solutions/img/qvm_nodes.png new file mode 100644 index 0000000..3670785 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/qvm_nodes.png differ diff --git a/collections/documentation/dashboard/solutions/img/qvm_qsfs_config.png b/collections/documentation/dashboard/solutions/img/qvm_qsfs_config.png new file mode 100644 index 0000000..6e337e4 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/qvm_qsfs_config.png differ diff --git a/collections/documentation/dashboard/solutions/img/solution_caprover_list.png b/collections/documentation/dashboard/solutions/img/solution_caprover_list.png new file mode 100644 index 0000000..3f672e2 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solution_caprover_list.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_algorand.png b/collections/documentation/dashboard/solutions/img/solutions_algorand.png new file mode 100644 index 0000000..ca7e860 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_algorand.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_caprover.png b/collections/documentation/dashboard/solutions/img/solutions_caprover.png new file mode 100644 index 0000000..bf2f072 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_caprover.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_caprover_leader.png b/collections/documentation/dashboard/solutions/img/solutions_caprover_leader.png new file mode 100644 index 0000000..218931d Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_caprover_leader.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_caprover_workers.png b/collections/documentation/dashboard/solutions/img/solutions_caprover_workers.png new file mode 100644 index 0000000..0b12a69 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_caprover_workers.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_casperlabs.png b/collections/documentation/dashboard/solutions/img/solutions_casperlabs.png new file mode 100644 index 0000000..f9f3271 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_casperlabs.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_discourse.png b/collections/documentation/dashboard/solutions/img/solutions_discourse.png new file mode 100644 index 0000000..d7e0c66 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_discourse.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_fullvm.png b/collections/documentation/dashboard/solutions/img/solutions_fullvm.png new file mode 100644 index 0000000..32d786d Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_fullvm.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_funkwhale.png b/collections/documentation/dashboard/solutions/img/solutions_funkwhale.png new file mode 100644 index 0000000..6802db6 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_funkwhale.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_k8s.png b/collections/documentation/dashboard/solutions/img/solutions_k8s.png new file mode 100644 index 0000000..935de58 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_k8s.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_k8s_master.png b/collections/documentation/dashboard/solutions/img/solutions_k8s_master.png new file mode 100644 index 0000000..948a43b Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_k8s_master.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_k8s_workers.png b/collections/documentation/dashboard/solutions/img/solutions_k8s_workers.png new file mode 100644 index 0000000..5e6df13 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_k8s_workers.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_mattermost.png b/collections/documentation/dashboard/solutions/img/solutions_mattermost.png new file mode 100644 index 0000000..e47bb61 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_mattermost.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_microvm.png b/collections/documentation/dashboard/solutions/img/solutions_microvm.png new file mode 100644 index 0000000..abad7ff Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_microvm.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_nextcloud.png b/collections/documentation/dashboard/solutions/img/solutions_nextcloud.png new file mode 100644 index 0000000..a588f97 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_nextcloud.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_nodepilot.png b/collections/documentation/dashboard/solutions/img/solutions_nodepilot.png new file mode 100644 index 0000000..65de04c Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_nodepilot.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_owncloud.png b/collections/documentation/dashboard/solutions/img/solutions_owncloud.png new file mode 100644 index 0000000..98f7302 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_owncloud.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_owncloud_visit.png b/collections/documentation/dashboard/solutions/img/solutions_owncloud_visit.png new file mode 100644 index 0000000..45c8857 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_owncloud_visit.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_peertube.png b/collections/documentation/dashboard/solutions/img/solutions_peertube.png new file mode 100644 index 0000000..341653d Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_peertube.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_presearch.png b/collections/documentation/dashboard/solutions/img/solutions_presearch.png new file mode 100644 index 0000000..258fca0 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_presearch.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_subsquid.png b/collections/documentation/dashboard/solutions/img/solutions_subsquid.png new file mode 100644 index 0000000..2b2f132 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_subsquid.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_taiga.png b/collections/documentation/dashboard/solutions/img/solutions_taiga.png new file mode 100644 index 0000000..b4f89e1 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_taiga.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_umbrel.png b/collections/documentation/dashboard/solutions/img/solutions_umbrel.png new file mode 100644 index 0000000..311d83c Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_umbrel.png differ diff --git a/collections/documentation/dashboard/solutions/img/solutions_wordpress.png b/collections/documentation/dashboard/solutions/img/solutions_wordpress.png new file mode 100644 index 0000000..58e66b2 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/solutions_wordpress.png differ diff --git a/collections/documentation/dashboard/solutions/img/subsquid_graphql.png b/collections/documentation/dashboard/solutions/img/subsquid_graphql.png new file mode 100644 index 0000000..82cf6d0 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/subsquid_graphql.png differ diff --git a/collections/documentation/dashboard/solutions/img/subsquid_list.jpeg b/collections/documentation/dashboard/solutions/img/subsquid_list.jpeg new file mode 100644 index 0000000..596497f Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/subsquid_list.jpeg differ diff --git a/collections/documentation/dashboard/solutions/img/subsquid_list.png b/collections/documentation/dashboard/solutions/img/subsquid_list.png new file mode 100644 index 0000000..c0a78aa Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/subsquid_list.png differ diff --git a/collections/documentation/dashboard/solutions/img/taiga2.png b/collections/documentation/dashboard/solutions/img/taiga2.png new file mode 100644 index 0000000..cdcfcd4 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/taiga2.png differ diff --git a/collections/documentation/dashboard/solutions/img/taiga3.png b/collections/documentation/dashboard/solutions/img/taiga3.png new file mode 100644 index 0000000..35ddd01 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/taiga3.png differ diff --git a/collections/documentation/dashboard/solutions/img/taiga4.png b/collections/documentation/dashboard/solutions/img/taiga4.png new file mode 100644 index 0000000..8b9c844 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/taiga4.png differ diff --git a/collections/documentation/dashboard/solutions/img/taiga5.png b/collections/documentation/dashboard/solutions/img/taiga5.png new file mode 100644 index 0000000..f0bcc2b Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/taiga5.png differ diff --git a/collections/documentation/dashboard/solutions/img/taiga6.png b/collections/documentation/dashboard/solutions/img/taiga6.png new file mode 100644 index 0000000..606939b Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/taiga6.png differ diff --git a/collections/documentation/dashboard/solutions/img/umbrel2.png b/collections/documentation/dashboard/solutions/img/umbrel2.png new file mode 100644 index 0000000..859e141 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/umbrel2.png differ diff --git a/collections/documentation/dashboard/solutions/img/umbrel3.png b/collections/documentation/dashboard/solutions/img/umbrel3.png new file mode 100644 index 0000000..c8dacd5 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/umbrel3.png differ diff --git a/collections/documentation/dashboard/solutions/img/umbrel4.png b/collections/documentation/dashboard/solutions/img/umbrel4.png new file mode 100644 index 0000000..1d9bdf1 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/umbrel4.png differ diff --git a/collections/documentation/dashboard/solutions/img/umbrel5.png b/collections/documentation/dashboard/solutions/img/umbrel5.png new file mode 100644 index 0000000..4d7379d Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/umbrel5.png differ diff --git a/collections/documentation/dashboard/solutions/img/vm_json.png b/collections/documentation/dashboard/solutions/img/vm_json.png new file mode 100644 index 0000000..1ab3737 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/vm_json.png differ diff --git a/collections/documentation/dashboard/solutions/img/vm_list.png b/collections/documentation/dashboard/solutions/img/vm_list.png new file mode 100644 index 0000000..2a504b1 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/vm_list.png differ diff --git a/collections/documentation/dashboard/solutions/img/weblet_peertube_instance.png b/collections/documentation/dashboard/solutions/img/weblet_peertube_instance.png new file mode 100644 index 0000000..4474a75 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/weblet_peertube_instance.png differ diff --git a/collections/documentation/dashboard/solutions/img/weblet_peertube_listing.png b/collections/documentation/dashboard/solutions/img/weblet_peertube_listing.png new file mode 100644 index 0000000..93de06f Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/weblet_peertube_listing.png differ diff --git a/collections/documentation/dashboard/solutions/img/weblet_vm4.png b/collections/documentation/dashboard/solutions/img/weblet_vm4.png new file mode 100644 index 0000000..f088303 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/weblet_vm4.png differ diff --git a/collections/documentation/dashboard/solutions/img/weblet_vm5.png b/collections/documentation/dashboard/solutions/img/weblet_vm5.png new file mode 100644 index 0000000..0f778f5 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/weblet_vm5.png differ diff --git a/collections/documentation/dashboard/solutions/img/weblet_vm_overview.png b/collections/documentation/dashboard/solutions/img/weblet_vm_overview.png new file mode 100644 index 0000000..3262552 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/weblet_vm_overview.png differ diff --git a/collections/documentation/dashboard/solutions/img/weblet_vm_presearch_result.jpg b/collections/documentation/dashboard/solutions/img/weblet_vm_presearch_result.jpg new file mode 100644 index 0000000..ae77142 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/weblet_vm_presearch_result.jpg differ diff --git a/collections/documentation/dashboard/solutions/img/wp10.png b/collections/documentation/dashboard/solutions/img/wp10.png new file mode 100644 index 0000000..c4f9998 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/wp10.png differ diff --git a/collections/documentation/dashboard/solutions/img/wp11.png b/collections/documentation/dashboard/solutions/img/wp11.png new file mode 100644 index 0000000..35e9f58 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/wp11.png differ diff --git a/collections/documentation/dashboard/solutions/img/wp2.png b/collections/documentation/dashboard/solutions/img/wp2.png new file mode 100644 index 0000000..8e3aed3 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/wp2.png differ diff --git a/collections/documentation/dashboard/solutions/img/wp3.png b/collections/documentation/dashboard/solutions/img/wp3.png new file mode 100644 index 0000000..e485277 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/wp3.png differ diff --git a/collections/documentation/dashboard/solutions/img/wp4.png b/collections/documentation/dashboard/solutions/img/wp4.png new file mode 100644 index 0000000..8d534f1 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/wp4.png differ diff --git a/collections/documentation/dashboard/solutions/img/wp5.png b/collections/documentation/dashboard/solutions/img/wp5.png new file mode 100644 index 0000000..141497d Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/wp5.png differ diff --git a/collections/documentation/dashboard/solutions/img/wp6.png b/collections/documentation/dashboard/solutions/img/wp6.png new file mode 100644 index 0000000..0f72d48 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/wp6.png differ diff --git a/collections/documentation/dashboard/solutions/img/wp7.png b/collections/documentation/dashboard/solutions/img/wp7.png new file mode 100644 index 0000000..01af952 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/wp7.png differ diff --git a/collections/documentation/dashboard/solutions/img/wp8.png b/collections/documentation/dashboard/solutions/img/wp8.png new file mode 100644 index 0000000..f243cd2 Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/wp8.png differ diff --git a/collections/documentation/dashboard/solutions/img/wp9.png b/collections/documentation/dashboard/solutions/img/wp9.png new file mode 100644 index 0000000..34173dd Binary files /dev/null and b/collections/documentation/dashboard/solutions/img/wp9.png differ diff --git a/collections/documentation/dashboard/solutions/k8s.md b/collections/documentation/dashboard/solutions/k8s.md new file mode 100644 index 0000000..11197ec --- /dev/null +++ b/collections/documentation/dashboard/solutions/k8s.md @@ -0,0 +1,98 @@ +

Kubernetes

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) +- [Configs tab](#configs-tab) +- [Master and Workers tabs](#master-and-workers-tabs) +- [Kubeconfig](#kubeconfig) +- [Manage Workers](#manage-workers) + +*** + +## Introduction + +Kubernetes is the standard container orchestration tool. + +On the TF grid, Kubernetes clusters can be deployed out of the box. We have implemented [K3S](https://k3s.io/), a full-blown Kubernetes offering that uses only half of the memory footprint. It is packaged as a single binary and made more lightweight to run workloads in resource-constrained locations (fits e.g. IoT, edge, ARM workloads). + +## Prerequisites + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Applications** +- Click on **Kubernetes** + +## Configs tab + +![ ](./img/solutions_k8s.png) + +- `Name`: Your Kubernetes Cluster name. +- `Cluster Token`: It's used for authentication between your worker nodes and master node. You could use the auto-generated one or type your own. + + +## Master and Workers tabs + +![ ](./img/solutions_k8s_master.png) +![ ](./img/solutions_k8s_workers.png) + +> Currently, we only support "single-master-multi-worker" k8s clusters. So you could always add more than one worker node by clicking on the **+** in the ***Worker*** tab. + + +## Kubeconfig +Once the cluster is ready, you can SSH into the cluster using `ssh root@IP` +> IP can be the public IP or the planetary network IP + +Onced connected via SSH, you can execute commands on the cluster like `kubectl get nodes`, and to get the kubeconfig, you can find it in `/root/.kube/config` + +> if it doesn't exist in `/root/.kube/config` it can be in `/etc/rancher/k3s/k3s.yaml` + +example: + +``` +root@WR768dbf76:~# cat /root/.kube/config +apiVersion: v1 +clusters: +- cluster: + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkakNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdGMyVnkKZG1WeUxXTmhRREUyTkRBeU5qWTBNVE13SGhjTk1qRXhNakl6TVRNek16TXpXaGNOTXpFeE1qSXhNVE16TXpNegpXakFqTVNFd0h3WURWUVFEREJock0zTXRjMlZ5ZG1WeUxXTmhRREUyTkRBeU5qWTBNVE13V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFUcGNtZE1KaWg1eGFTa1JlelNKVU5mUkQ5NWV6cE12amhVeUc2bWU4bTkKY0lQWENoNUZ2ZU81Znk1d1VTSTlYOFlGV2JkOGtRcG9vaVdVbStwYjFvU3hvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVUtkL3VUU3FtWk12bHhtcWNYU3lxCmVhWERIbXd3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnSUQ0cGNQWDl2R0F6SC9lTkhCNndVdmNZRi9HbXFuQVIKR2dqT1RSdWVia1lDSUdRUmUwTGJzQXdwMWNicHlYRWljV3V0aG1RQ1dwRXY1NThWZ3BoMFpETFAKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= + server: https://127.0.0.1:6443 + name: default +contexts: +- context: + cluster: default + user: default + name: default +current-context: default +kind: Config +preferences: {} +users: +- name: default + user: + client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrVENDQVRlZ0F3SUJBZ0lJWnptV1A4ellKaGd3Q2dZSUtvWkl6ajBFQXdJd0l6RWhNQjhHQTFVRUF3d1kKYXpOekxXTnNhV1Z1ZEMxallVQXhOalF3TWpZMk5ERXpNQjRYRFRJeE1USXlNekV6TXpNek0xb1hEVEl5TVRJeQpNekV6TXpNek0xb3dNREVYTUJVR0ExVUVDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGVEFUQmdOVkJBTVRESE41CmMzUmxiVHBoWkcxcGJqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJINTZaZGM5aTJ0azAyNGQKcXBDQ2NRMndMMjc1QWtPZUFxalIzQjFTTGFQeG1oOG9IcXd4SzY2RTc1ZWQya2VySFIySnBZbWwwNE5sa0grLwpSd2kvMDNDalNEQkdNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBakFmCkJnTlZIU01FR0RBV2dCVGhPakJSaExjeE53UDkzd0xtUzBYRUFUNjlSekFLQmdncWhrak9QUVFEQWdOSUFEQkYKQWlBcjdDcDR2dks4Y2s0Q0lROEM5em5zVkFUZVhDaHZsUmdvanZuVXU4REZld0loQUlwRVYyMWJZVXBpUEkzVQowa3QvQmJqRUtjV1poVXNHQ0g0YzVNWTFFS0JhCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkekNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdFkyeHAKWlc1MExXTmhRREUyTkRBeU5qWTBNVE13SGhjTk1qRXhNakl6TVRNek16TXpXaGNOTXpFeE1qSXhNVE16TXpNegpXakFqTVNFd0h3WURWUVFEREJock0zTXRZMnhwWlc1MExXTmhRREUyTkRBeU5qWTBNVE13V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFUY3NlakN3TDQ5VkZvQnJhWVRyR3ByR2lMajNKeEw4ZVcwYnpTVDBWRGUKeFlrb3hDbDlnR0N6R2p1Q2Q0ZmZmRXV0QWdFMjU5MDFBWGJCU2VnOHdlSkJvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVTRUb3dVWVMzTVRjRC9kOEM1a3RGCnhBRSt2VWN3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQU5CYWRhcFFZbnlYOEJDUllNODZtYWtMNkFDM0hSenMKL2l3Ukp6TnV6YytaQWlCZm14YytDTVZHQnBrblAzR2dWSWlFMFVQWkUrOFRnRUdkTTgrdCt4V2Ywdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K + client-key-data: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSURXQURoZUl0RVdHWlFCc0tCSUpZTTZPeDB5TmRHQ1JjTDBTMUtvYjRTZ25vQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFZm5wbDF6MkxhMlRUYmgycWtJSnhEYkF2YnZrQ1E1NENxTkhjSFZJdG8vR2FIeWdlckRFcgpyb1R2bDUzYVI2c2RIWW1saWFYVGcyV1FmNzlIQ0wvVGNBPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo= +root@WR768dbf76:~# + +``` + +If you want to use kubectl through another machine, you need to change the line `server: https://127.0.0.1:6443` to be `server: https://PLANETARYIP_OR_PUBLICIP/6443` +replace PLANETARYIP_OR_PUBLICIP with the IP you want to reach th cluster through. + + +## Manage Workers +Add or Remove workers in any **Kubernetes cluster**. + + +- Kubernetes DeployedList Weblet +![ ](./img/k8s_dl_1.png) + +- Manager kubernetes workers +![ ](./img/k8s_dl_2.png) + +- Add a new worker +![ ](./img/new_k8s4.png) + +- Successfully added new worker +![ ](./img/k8s_dl_4.png) + +- Delete a worker +![ ](./img/new_k8s5.png) \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/mattermost.md b/collections/documentation/dashboard/solutions/mattermost.md new file mode 100644 index 0000000..0e9528c --- /dev/null +++ b/collections/documentation/dashboard/solutions/mattermost.md @@ -0,0 +1,55 @@ +

Mattermost

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) +- [Deployment](#deployment) + +*** + +## Introduction + +[Mattermost](https://mattermost.com/) A single point of collaboration. Designed specifically for digital operations. + +## Prerequisites + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Applications** +- Click on **Mattermost** + +## Deployment + +![ ](./img/solutions_mattermost.png) + +- Enter an Application Name. It's used in generating a unique subdomain on one of the gateways on the network alongside your twin ID. Ex. ***matter*.gent02.dev.grid.tf** + +- Select a capacity package: + - **Small**: {cpu: 1, memory: 2, diskSize: 15 } + - **Medium**: {cpu: 2, memory: 4, diskSize: 50 } + - **Large**: {cpu: 4, memory: 16, diskSize: 100 } + - Or choose a **Custom** plan +- `Dedicated` flag to retrieve only dedeicated nodes +- `Certified` flag to retrieve only certified nodes +- Choose the location of the node + - `Region` + - `Country` + - `Farm Name` + +- Choose the node to deploy on +> Or you can select a specific node with manual selection. +- `Custom Domain` flag lets the user to use a custom domain +- Choose a gateway node to deploy your Mattermost instance on. + + +- There's also an optional **SMTP Server** tab if you'd like to have your Mattermost instance configured with an SMTP server. + + ![ ](./img/mattermost3.png) + +After that is done you can see a list of all of your deployed instances + +![ ](./img/mattermost4.png) + +Click on ***Visit*** to go to the homepage of your Mattermost instance! You need to login using TFConnect so make sure you download the *TFConnect* app from your App Store. + +![ ](./img/mattermost5.png) diff --git a/collections/documentation/dashboard/solutions/nextcloud.md b/collections/documentation/dashboard/solutions/nextcloud.md new file mode 100644 index 0000000..d25dd79 --- /dev/null +++ b/collections/documentation/dashboard/solutions/nextcloud.md @@ -0,0 +1,207 @@ +

Nextcloud

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) +- [Domain Names and Public IPs](#domain-names-and-public-ips) +- [Deploy Nextcloud](#deploy-nextcloud) +- [Nextcloud Setup](#nextcloud-setup) +- [DNS Details](#dns-details) + - [DNS Record with Public IPv4](#dns-record-with-public-ipv4) + - [DNS Record with Gateway](#dns-record-with-gateway) + - [DNS Propagation](#dns-propagation) +- [Talk](#talk) + - [Install Talk](#install-talk) + - [TURN](#turn) + - [Use Talk](#use-talk) +- [Backups and Updates](#backups-and-updates) + - [Create a Backup](#create-a-backup) + - [Automatic Backups and Updates](#automatic-backups-and-updates) +- [Troubleshooting](#troubleshooting) + - [Retrieve the Nextcloud AIO Password](#retrieve-the-nextcloud-aio-password) + - [Access the Nextcloud Interface Page](#access-the-nextcloud-interface-page) + - [Check the DNS Propagation](#check-the-dns-propagation) +- [Questions and Feedback](#questions-and-feedback) + +*** + +# Introduction + +[Nextcloud](https://nextcloud.com/) is a suite of client-server software for creating and using file hosting services. + +Nextcloud provides functionality similar to Dropbox, Office 365 or Google Drive when used with integrated office suites like Collabora Online or OnlyOffice. + + + +# Prerequisites + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Applications** +- Click on **Nextcloud** + + + +# Domain Names and Public IPs + +A domain name is required to use Nextcloud. You can either use your own, which we'll call a *custom domain*, or you can get a free subdomain from a gateway node. This won't impact the function of your deployment, it's just a matter of preference. If you want to use your own domain, follow the steps for custom domain wherever you see them below. + +Another choice to make before launching your Nextcloud instance is whether you want to reserve a public IPv4 for the deployment. Renting a public IP is an extra cost and is only required for the dedicated Nextcloud Talk video conferencing backend, recommended for calls with more than four participants. If you don't reserve a public IP, you can still use Talk in a more limited fashion (see the [Talk](#talk) section below for details). + +If you're not sure and just want the easiest, most affordable option, skip the public IP and use a gateway domain. + + + +# Deploy Nextcloud + +* On the [ThreeFold Dashboard](https://dashboard.grid.tf/), click on solutions from the sidebar, then click on **Nextcloud** +* Choose a name for your deployment + * Note: You can use the auto-generated name if you want +* Select a capacity package: + * **Minimum**: {cpu: 2, memory: 4gb, diskSize: 50gb } + * **Standard**: {cpu: 2, memory: 8gb, diskSize: 500gb } + * **Recommended**: {cpu: 4, memory: 16gb, diskSize: 1000gb } + * Or choose a **Custom** plan +* If want to reserve a public IPv4 address, click on Network then select **Public IPv4** +* If you want a [dedicated](../deploy/dedicated_machines.md) and/or a certified node, select the corresponding option +* Choose the location of the node + * `Country` + * `Farm Name` +* Select a node +* If you want to use a custom domain, click on **Custom domain** under **Domain Name** and write your domain name + * Example: `nextcloudwebsite.com` +* The **Select gateway** box will be visible whenever a gateway is required. If so, click it and choose a gateway + * If you are also using a custom domain, you must set your DNS record now before proceeding. The IP of the gateway will appear on screen. Check [below](#set-the-dns-record) for more information +* Click **Deploy** + + + +# Nextcloud Setup + +Once the weblet is deployed, the details page will appear. If you are using a custom domain with a public IPv4, you'll need to set your DNS record now using the IP address shown under **Public IPv4**. Again, see [below](#dns-details) for details. + +Before you can access Nextcloud itself, you'll need to decide which addons you want to install and complete a setup step. This is done through the AIO interface that's included with your deployment. To access it, you can visit the **Nextcloud Setup** link shown in the details page, or click on the **Nextcloud Setup** button under **Actions** in the deployments list to set up Nextcloud. + +* Once you have access to the **Nextcloud AIO setup page**, you will be given a password composed of 8 words. + * Use this password to access the **Nextcloud AIO interface page**. + * Store this password somewhere safe. It's only possible to recover it by using SSH. +* On the next page, you can add **Optionals addons** if you want. +* Click on **Download and start containers** to start the Nextcloud instance. +* Once the containers are properly started, you can access the Nextcloud admin login page by clicking **Open your Nextcloud**. + * You will be given an **Initial Nextcloud user name** and an **Initial Nextcloud password**. Use these credentials to log into the admin page. + * Store these credentials somewhere safe. +* Later, if you want to access the Nextcloud admin login page, you can simply click on the button **Open Nextcloud** under **Actions** in the deployment list. + +The installation is now complete and you have access to your Nextcloud instance. + + + +# DNS Details + +## DNS Record with Public IPv4 + +After deployment, you will have access to the IPv4 address of the VM you deployed on. You will need to add a **DNS A record** (Host: "@", Value: ) to your domain to access Nextcloud. This record type indicates the IP address of a given domain. + +## DNS Record with Gateway + +Before starting the deployment, you will need to add a **DNS A record** (Host: "@", Value: ) to your domain. The gateway IP will be shown to you when you select this option. + +## DNS Propagation + +When setting your own custom domain, it might take time for DNS to propagate. It is possible that you see the following message when opening the Nextcloud page: + +>"This site can't be reached. DNS address could not be found. Diagnosing the problem." + +This is normal. You might simply need to wait for the DNS to propagate completely. + + + +# Talk + +If you don't rent a public IP with your deployement, it's still possible to use Nextcloud Talk in a more limited fashion. It's generally understood that this method can work well for up to four participants in a call, and text chat also works without restriction. For larger calls, the dedicated backend, which requires a public IP, is recommended. + +While some calls can go entirely peer-to-peer and don't require any setup beyond installing the Talk app, a TURN server can be helpful to relay data when a peer-to-peer connection can't be established. There's more information on TURN servers after the install instructions. + +## Install Talk + +To install Talk, do the following: + +* Open the dropdown menu at the top right of the Nextcloud page +* Click on **Apps** +* In the left-side menu, select **Social & communication** +* Scroll down and locate the Talk app +* Click on **Download and enable** + +Once the Talk app is downloaded and enabled, you can find its icon at the top bar menu. + +## TURN + +As mentioned before, TURN servers relay data to help call participants connect to each other. All data sent to TURN server is encrypted in this case, so it's perfectly safe to use a free public server. + +That said, such free servers are not common, because relaying video chat uses a lot of bandwidth. As of the time of writing, Open Relay Project is one example that includes [instructions for use with Nextcloud Talk](https://www.metered.ca/tools/openrelay/#turn-server-for-nextcloud-talk). + +TURN server configuration can be found by opening the Talk settings, like this: + +* Open the dropdown menu at the top right of the Nextcloud page +* Click on **Personal settings** +* In the left-side menu, select **Talk** + +## Use Talk + +Once you've installed Talk and optionally added a TURN server, you can use Talk to create video conferences. + +Note that the host of the video meeting might need to turn the VPN off before creating a new conversation. + + + +# Backups and Updates + +## Create a Backup + +In the section **Backup and restore**, you can set a [BorgBackup](https://www.borgbackup.org/) of your Nextcloud instance. + +* Add a mount point and a directory name for your backup (e.g. **/mnt/backup**) and click **Submit backup location**. +* After the creation of the backup location, write down the **encryption password for backups** somewhere safe and offline. +* Click **Create backup** to create a BorgBackup of your Nextcloud instance. + * This will stop all containers, run the backup container and create the backup. +* Once the backup is complete, you can click on **Start containers** to restart the Nextcloud instance. + +## Automatic Backups and Updates + +After the first manual backup of your Nextcloud instance is complete, you can set automatic backups and updates. + +* In the section **Backup and restore**, open the dropdown menu **Click here to reveal all backup options**. +* In the section **Daily backup and automatic updates**, choose a time for your daily backup and click **Submit backup time**. + * To set automatic updates, make sure that the option **Automatically update all containers, the mastercontainer and on** is selected. + + + +# Troubleshooting + +## Retrieve the Nextcloud AIO Password + +You can retrieve the Nextcloud AIO password (8 words) by writing the following command line on the VM hosting your Nextcloud instance: + +``` +cat /mnt/data/docker/volumes/nextcloud_aio_mastercontainer/_data/data/configuration.json | grep password +``` + +## Access the Nextcloud Interface Page + +To access the Nextcloud interface page, follow those stepse + +* Open your Nextcloud instance +* In the top right Profile menu, select **Administration Settings** +* Under **Nextcloud All-in-One**, click **Open Nextcloud AIO Interface** + + + +## Check the DNS Propagation + +You can check if the DNS records are propagated globally with DNS propagation check services such as [DNS Checker](https://dnschecker.org/). You can use this tool to verify that your domain is properly pointing to the IPv4 address of the VM you deployed on. + + + +# Questions and Feedback + +If you have any questions, you can ask the ThreeFold community for help on the [ThreeFold Forum](http://forum.threefold.io/) or on the [ThreeFold Grid Tester Community](https://t.me/threefoldtesting) on Telegram. \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/nixos_micro.md b/collections/documentation/dashboard/solutions/nixos_micro.md new file mode 100644 index 0000000..41f8932 --- /dev/null +++ b/collections/documentation/dashboard/solutions/nixos_micro.md @@ -0,0 +1,66 @@ +

NixOS MicroVM

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Access the ThreeFold Dashboard](#access-the-threefold-dashboard) +- [Deploy a NixOS MicroVM](#deploy-a-nixos-microvm) +- [Questions and Feedback](#questions-and-feedback) + +*** + +## Introduction + +__NixOS MicroVM__ refers to a minimalistic virtual machine environment based on the NixOS Linux distribution. +The NixOS MicroVM leverages these principles to create a highly customizable and reproducible virtual machine environment. It allows users to define the entire system configuration, including packages, services, and dependencies, in a declarative manner using the Nix language. This ensures that the MicroVM is consistent, easily reproducible, and can be version-controlled. + +In this guide, will learn how to make reproducible, declarative and reliable systems by deploying a NixOS MicroVM weblet in ThreeFold Dashboard. + +For more information on Nix, you can read the [Nix Reference Manual](https://nixos.org/manual/nix/stable/). + +## Access the ThreeFold Dashboard + +* Go to the ThreeFold Dashboard website, based on the deployment network you prefer: + * [Mainnet](https://dashboard.grid.tf) + * [Testnet](https://dashboard.test.grid.tf) + * [Devnet](https://dashboard.dev.grid.tf) + * [QAnet](https://dashboard.qa.grid.tf) + +* Make sure you have a [wallet](../wallet_connector.md) +* From the sidebar click on **Solutions** +* Click on **Micro Virtual Machine** to start your NixOS MicroVM Deployment + + + +## Deploy a NixOS MicroVM + +We now present the main steps to properly configure your NixOS MicroVM running on the TFGrid. + +* In the section `Config`, make sure to select `Nixos` as the `VM Image`. You can choose different parameters (CPU, Memory, etc.) for your deployment depending on your workload needs. + +![](./img/nxios-micro1.png) + +* In the section `Environment Variables`, you can add the default configurations for Nix. Here's an example: + * ``` + { pkgs ? import { } }: + let pythonEnv = pkgs.python3.withPackages(ps: [ ]); in pkgs.mkShell { packages = [ pythonEnv ]; } + ``` + * This will be written to `/root/default.nix`. You can change the Nix shell configuration there. + +![](./img/nixos-micro2.png) + +* In the section `Disks`, you should mount a disk large enough for Nix to store its files used for `nix-store`. + +![](./img/nixos-micro3.png) + +* Once your configured the parameters, you can deploy the MicroVM. + +If you need more information on how to SSH into your deployment, read [this section](../../system_administrators/getstarted/tfgrid3_getstarted.md) of the TF Manual. + + + +## Questions and Feedback + +You should now be able to easily deploy a NixOS MicroVM on the ThreeFold Grid. + +If you have any question or feedback, you can write a post on the [ThreeFold Forum](http://forum.threefold.io/). \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/nodepilot.md b/collections/documentation/dashboard/solutions/nodepilot.md new file mode 100644 index 0000000..1fc212a --- /dev/null +++ b/collections/documentation/dashboard/solutions/nodepilot.md @@ -0,0 +1,52 @@ +

NodePilot

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) +- [Deployment](#deployment) + +*** + +## Introduction + +This is a simple instance of upstream [Node Pilot](https://nodepilot.tech). + +## Prerequisites + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Applications** +- Click on **Node Pilot** + +## Deployment + +![ ](./img/solutions_nodepilot.png) + +- Fill in the instance name: it's used to reference the node-pilot in the future. + +- Minimum CPU allowed is 8 cores and minimum memory allowed is 8192. + +- `Dedicated` flag to retrieve only dedeicated nodes +- `Certified` flag to retrieve only certified nodes + +- Choose the location of the node + - `Region` + - `Country` + - `Farm Name` +- Select a node to deploy your node-pilot instance on. + +> Or you can select a specific node with manual selection. + +- When using the [flist](https://hub.grid.tf/tf-official-vms/node-pilot-zdbfs.flist) you get a node pilot instance ready out-of-box. You need to get a public ipv4 to get it to works. + +After that is done you can see a list of all of your deployed instances + +![ ](./img/nodeP_2.png) + +Click on ***Visit*** to go to the registration page of your Node Pilot instance! + +![ ](./img/nodePilot_3.png) + +You can go to `https://publicip` and configure your node-pilot. You can upload a backup to the VM via ssh as well if you have a backup of a previous instance. + +What change compared to upstream node-pilot, we have out-of-box a transparent pre-filled blockchain database for some blochain (currently Fuse and Pokt as proof-of-concept). You can start one of theses blockchain in no-time and it will be automatically nearly sync already without the requirement of the full space locally nor downloading everything and killing bandwidth. diff --git a/collections/documentation/dashboard/solutions/owncloud.md b/collections/documentation/dashboard/solutions/owncloud.md new file mode 100644 index 0000000..16726a0 --- /dev/null +++ b/collections/documentation/dashboard/solutions/owncloud.md @@ -0,0 +1,86 @@ +

ownCloud

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) +- [Deploy ownCloud](#deploy-owncloud) + - [Base](#base) + - [SMTP](#smtp) + - [List of Instances](#list-of-instances) +- [Admin Connection](#admin-connection) +- [TFConnect App Connection](#tfconnect-app-connection) + +*** + +## Introduction + +[ownCloud](https://owncloud.com/) develops and provides open-source software for content collaboration, allowing teams to easily share and work on files seamlessly regardless of device or location. + +## Prerequisites + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Solutions** +- Click on **ownCloud** + +## Deploy ownCloud + +![ ](./img/owncloud1.png) + +### Base + +- Enter an ownCloud deployment name. + - The name is used in generating a unique subdomain on one of the gateways on the network alongside your twin ID. + - Ex. ***oc98newcloud*.gent02.dev.grid.tf** + +- Enter administrator information including **Username** and **Password**. + - This admin user will have full permission on the deployed instance. +- Select a capacity package: + - **Small**: {cpu: 2, memory: 8, diskSize: 250 } + - **Medium**: {cpu: 2, memory: 16, diskSize: 500 } + - **Large**: {cpu: 4, memory: 32, diskSize: 1000 } + - Or choose a **Custom** plan +- Choose the network + - `Public IPv4` flag gives the virtual machine a Public IPv4 +- Enable the `Dedicated` flag to retrieve only dedicated nodes +- Enable the `Certified` flag to retrieve only certified nodes +- Choose the location of the node + - `Region` + - `Country` + - `Farm Name` +- Choose the node to deploy on +> Or you can select a specific node with manual selection. +- Enable the `Custom Domain` flag to use a custom domain +- Choose a gateway node to deploy your ownCloud instance on. + +Once you've set the deployment parameters, you can click on **Deploy**. + +### SMTP + +On the SMTP window, you can enable the optional `SMTP Server` flag if you want to have your ownCloud instance configured with an SMTP server. + +![ ](./img/owncloud4.png) + +### List of Instances + +When the deployment is ready, you will see a list of all of your deployed instances. + +![ ](./img/owncloud5.png) + +## Admin Connection + +Click on the button **Visit** under **Actions** to open the ownCloud login window. If you see **bad gateway**, you might simply need to wait a couple of minutes until the deployment completes. + +![ ](./img/solutions_owncloud_visit.png) + +To consult the deployment details, click on the button **Details** under **Actions**. On this page, you can access the **ownCloud Admin Username** and the **ownCloud Admin Password**. Use those credentials to log in as an administrator on your ownCloud deployment. + +![ ](./img/owncloud6.png) + +## TFConnect App Connection + +To connect to your ownCloud instance with the ThreeFold Connect app, you need to add permissions to your ThreeFold 3Bot ID by first [connecting as an administrator](#admin-connection). + +- Once you're connected as an admin, open the top-right menu and click on **Users**. +- To create a new user, set your 3Bot ID as the username with its corresponding email address, and set **Groups** as **admin**. Then click **Create**. +- You can now log out and connect to your ownCloud instance with the TF Connect app. \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/peertube.md b/collections/documentation/dashboard/solutions/peertube.md new file mode 100644 index 0000000..79a74ee --- /dev/null +++ b/collections/documentation/dashboard/solutions/peertube.md @@ -0,0 +1,59 @@ +

Peertube

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) +- [Deployment](#deployment) + +*** + +## Introduction + +[Peertube](https://joinpeertube.org/) aspires to be a decentralized and free/libre alternative to video broadcasting services. + +## Prerequisites + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Applications** +- Click on **Peertube** + +## Deployment + +![ ](./img/solutions_peertube.png) + +- Enter an Application Name. It's used in generating a unique subdomain on one of the gateways on the network alongside your twin ID. + the applied format `.` Ex. ***pt100peerprod*.gent02.dev.grid.tf** +- Enter an email and password which will be used for the admin login. +- Select a capacity package: + - **Small**: { cpu: 1, memory: 2, diskSize: 15 } + - **Medium**: { cpu: 2, memory: 4, diskSize: 100 } + - **Large**: { cpu: 4, memory: 16, diskSize: 250 } + - Or choose a **Custom** plan + + - `Public IPv4` flag gives the virtual machine a Public IPv4 + - `Public IPv6` flag gives the virtual machine a Public IPv6 + - `Planetary Network` to connect the Virtual Machine to Planetary network + - `Wiregaurd Access` to add a wiregaurd acces to the Virtual Machine +- `Dedicated` flag to retrieve only dedeicated nodes +- `Certified` flag to retrieve only certified nodes +- Choose the location of the node + - `Region` + - `Country` + - `Farm Name` + +- Choose the node to deploy on +> Or you can select a specific node with manual selection. +- `Custom Domain` flag lets the user to use a custom domain +- Choose a gateway node to deploy your Peertube instance on. + +After that is done you can see a list of all of your deployed instances + + +![ ](./img/weblet_peertube_listing.png) + +Click on ***Visit*** to go to the homepage of your Peertube instance! + +![ ](./img/weblet_peertube_instance.png) + +> Please note it may take sometime to be ready \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/presearch.md b/collections/documentation/dashboard/solutions/presearch.md new file mode 100644 index 0000000..c0c3f55 --- /dev/null +++ b/collections/documentation/dashboard/solutions/presearch.md @@ -0,0 +1,98 @@ +

Presearch

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) +- [Deploy a Presearch Node](#deploy-a-presearch-node) +- [Migrate an Existing Presearch Node to the TFGrid](#migrate-an-existing-presearch-node-to-the-tfgrid) +- [Verify if a 3Node Already Runs a Presearch Workload](#verify-if-a-3node-already-runs-a-presearch-workload) +- [Learn More About Presearch](#learn-more-about-presearch) +- [Questions and Feedback](#questions-and-feedback) + +*** + +## Introduction + +[Presearch](https://www.presearch.io/) is a community-powered, decentralized search engine that provides better results while protecting your privacy and rewarding you when you search. This weblet deploys a Presearch node. Presearch Nodes are used to process user search requests, and node operators earn Presearch PRE tokens for joining and supporting the network. + +## Prerequisites + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Applications** +- Click on **Presearch** + +## Deploy a Presearch Node + +![ ](./img/solutions_presearch.png) + +- Enter an instance name. + +- You need to sign up on Presearch in order to get your *Presearch Registration Code*. To sign up, go to the [Presearch](https://presearch.com) website, create your account and then head to your [dashboard](https://nodes.presearch.com/dashboard) to find your registration code. + +- Choose the network + - `Public IPv4` flag gives the virtual machine a Public IPv4 + - `Planetary Network` to connect the Virtual Machine to Planetary network + +- `Dedicated` flag to retrieve only dedeicated nodes +- `Certified` flag to retrieve only certified nodes +- Choose the location of the node + - `Region` + - `Country` + - `Farm Name` + +- Choose the node to deploy the Virtual Machine on +> Or you can select a specific node with manual selection. + +## Migrate an Existing Presearch Node to the TFGrid + +Now what if you already have a Presearch node deployed somewhere and would like to migrate to Threefold? + +We got you! All you need to do is: + +1. Login to your old server that has your node via SSH. +2. Run `docker cp presearch-node:/app/node/.keys presearch-node-keys` in order to generate your key-pair. +3. Head to the *Restore* tab in the Presearch weblet and paste your key-pair in the fields below and you'll be good to deploy! + +![ ](./img/presearch6.png) + +After that is done you can see a list of all of your deployed instances + +![ ](./img/presearch4.png ) + +Now head to your [dashboard](https://nodes.presearch.com/dashboard) again and scroll down to **Current Nodes**, you'll see your newly created node up and connected! + +![ ](./img/presearch5.png) + + +## Verify if a 3Node Already Runs a Presearch Workload + +You can do the following to verify if a Presearch workload deployed without a public IP address already has a Presearch workload running. Note that you will first need to deploy a Presearch workload on the 3Node. After deployment, you can SSH into the VM and do the verification. + +* SSH into the VM running the Presearch workload + * ``` + ssh root@ + ``` +* List running containers and identity the Presearch container + * ``` + docker ps + ``` +* Print the logs of the Presearch container + * ``` + docker logs + ``` +* If there is no other Presearch workload running on the 3Node, you will see a similar output: + * > 2023-10-16T12:18:33.780Z info: Node is listening for searches... +* If there is another Presearch workload running on the 3Node, you will see a similar output: + * > 2023-10-16T12:24:00.346Z error: Duplicate IP: This IP Address is already running another Node. Only one Node is permitted per IP Address. + * If there is another Presearch workload running, you will need to either deploy on another 3Node with a public IP or deploy on another node without a public IP that isn't running a Presearch deployment. + + + +## Learn More About Presearch + +To learn more about Presearch, you can read the [Presearch documentation](https://docs.presearch.io/). + +## Questions and Feedback + +If you have any questions, you can ask the ThreeFold community for help on the [ThreeFold Forum](http://forum.threefold.io/) or on the [ThreeFold Grid Tester Community](https://t.me/threefoldtesting) on Telegram. \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/solutions.md b/collections/documentation/dashboard/solutions/solutions.md new file mode 100644 index 0000000..60732e3 --- /dev/null +++ b/collections/documentation/dashboard/solutions/solutions.md @@ -0,0 +1,29 @@ +

Solutions

+ +This section provides a non-code easy way to deploy a whole solution on the TFGrid. + +

Table of Contents

+ +- [Basic Environments](./basic_environments_readme.md) + - [Virtual Machines](./vm_intro.md) + - [Micro and Full VM Differences](./vm_differences.md) + - [Full Virtual Machine](./fullVm.md) + - [Micro Virtual Machine](./vm.md) + - [Kubernetes](./k8s.md) + - [NixOS MicroVM](./nixos_micro.md) +- [Ready Community Solutions](./ready_community_readme.md) + - [Caprover](./caprover.md) + - [Funkwhale](./funkwhale.md) + - [Peertube](./peertube.md) + - [Taiga](./taiga.md) + - [Owncloud](./owncloud.md) + - [Nextcloud](./nextcloud.md) + - [Discourse](./discourse.md) + - [Mattermost](./mattermost.md) + - [Presearch](./presearch.md) + - [CasperLabs](./casper.md) + - [Node Pilot](./nodepilot.md) + - [Subsquid](./subsquid.md) + - [Algorand](./algorand.md) + - [Wordpress](./wordpress.md) + - [Umbrel](./umbrel.md) diff --git a/collections/documentation/dashboard/solutions/subsquid.md b/collections/documentation/dashboard/solutions/subsquid.md new file mode 100644 index 0000000..063ff35 --- /dev/null +++ b/collections/documentation/dashboard/solutions/subsquid.md @@ -0,0 +1,54 @@ +

Subsquid

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) +- [Deployment](#deployment) + +*** + +## Introduction + +[Subsquid](https://www.subsquid.io/) indexer is a piece of software that reads all the blocks from a Substrate based blockchain, decodes and stores them for processing in a later stage. + +## Prerequisites + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Applications** +- Click on **Subsquid** + +## Deployment + +![ ](./img/solutions_subsquid.png) + +- Enter an instance name. + +- Enter an endpoint for a supported substrate chain. You can find the list of endpoints of supported cahins [here](https://github.com/polkadot-js/apps/blob/master/packages/apps-config/src/endpoints/production.ts). + + +- Select a capacity package: + - **Small**: {cpu: 1, memory: 2 , diskSize: 50 } + - **Medium**: {cpu: 2, memory: 4, diskSize: 100 } + - **Large**: {cpu: 4, memory: 16, diskSize: 250 } + - Or choose a **Custom** plan + +- `Dedicated` flag to retrieve only dedeicated nodes +- `Certified` flag to retrieve only certified nodes +- Choose the location of the node + - `Region` + - `Country` + - `Farm Name` +- Choose the node to deploy on +> Or you can select a specific node with manual selection. +- `Custom Domain` flag lets the user to use a custom domain +- Choose a gateway node to deploy your Subsquid instance on. + + +After that is done you can see a list of all of your deployed instances + +![ ](./img/subsquid_list.png) + +Click on ***Visit*** to go to the homepage of your Subsquid indexer instance! + +![ ](./img/subsquid_graphql.png) diff --git a/collections/documentation/dashboard/solutions/taiga.md b/collections/documentation/dashboard/solutions/taiga.md new file mode 100644 index 0000000..4291e12 --- /dev/null +++ b/collections/documentation/dashboard/solutions/taiga.md @@ -0,0 +1,57 @@ +

Taiga

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) +- [Deployment](#deployment) + +*** + +## Introduction + +[Taiga](https://www.taiga.io/) is the project management tool for multi-functional agile teams. It has a rich feature set and at the same time it is very simple to start with through its intuitive user interface. + +## Prerequisites + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Applications** +- Click on **Taiga** + +## Deployment + +![ ](./img/solutions_taiga.png) + +- Enter an Application Name. It's used in generating a unique subdomain on one of the gateways on the network alongside your twin ID. Ex. ***tg98taigar*.gent02.dev.grid.tf** + +- Enter administrator information including **Username**, **Email** and **Password**. This admin user will have full permission on the deployed instance. +- Select a capacity package: + - **Small**: {cpu: 2, memory: 4, diskSize: 100 } + - **Medium**: {cpu: 4, memory: 8, diskSize: 150 } + - **Large**: {cpu: 4, memory: 16, diskSize: 250 } + - Or choose a **Custom** plan + +- `Dedicated` flag to retrieve only dedeicated nodes +- `Certified` flag to retrieve only certified nodes +- Choose the location of the node + - `Region` + - `Country` + - `Farm Name` +- Choose the node to deploy the Tiaga instance on +> Or you can select a specific node with manual selection. +- `Custom Domain` flag lets the user to use a custom domain +- Choose a gateway node to deploy your Funkwhale instance on. + + + +There's also an optional **Mail Server** tab if you'd like to have your Taiga instance configured with an SMTP server. + +![ ](./img/taiga4.png) + +After that is done you can see a list of all of your deployed instances + +![ ](./img/taiga5.png) + +Click on ***Visit*** to go to the homepage of your Taiga instance! + +![ ](./img/taiga6.png) diff --git a/collections/documentation/dashboard/solutions/umbrel.md b/collections/documentation/dashboard/solutions/umbrel.md new file mode 100644 index 0000000..21075ca --- /dev/null +++ b/collections/documentation/dashboard/solutions/umbrel.md @@ -0,0 +1,60 @@ +

Umbrel

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) + +*** + +## Introduction + +[Umbrel](https://umbrel.com/) is an OS for running a personal server in your home. Self-host open source apps like Nextcloud, Bitcoin node, and more. + +## Prerequisites + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Applications** +- Click on **Umbrel** + +**Process** : +![Config](./img/solutions_umbrel.png) + +- Enter an instance name. +- Enter a Username + - will be used to create Umbrel dashboard account. +- Enter a Password + - Will be used to login to the Umbrel dashboard. + - Must be 12 to 30 characters . +- Select a capacity package: + - **Small**: { cpu: 1, memory: 2, diskSize: 10 } + - **Medium**: { cpu: 2, memory: 4 , diskSize: 50 } + - **Large**: { cpu: 4, memory: 16 , diskSize: 100 } + - Or choose a **Custom** plan + +- `Dedicated` flag to retrieve only dedeicated nodes +- `Certified` flag to retrieve only certified nodes +- Choose the location of the node + - `Region` + - `Country` + - `Farm Name` +- Choose the node to deploy the Umbrel instance on +> Or you can select a specific node with manual selection. + +**After Deploying**: + +You can see a list of all of your deployed instances + +![ ](./img/umbrel2.png) + +- you can click on `Show details` for more details about the Umbrel deployment. + ![ ](./img/umbrel3.png) + and for more detailed information switch to `JSON` tap. + ![ ](./img/umbrel4.png) +- Click on ***Admin Panel*** to go to the dashboard of your Umbrel instance! + - Enter the ***Password*** that you provided in `config` section to login into Umbrel dashboard. + > Forget the credentials? You can find them with `Show details` button. + +![ ](./img/umbrel5.png) + +> **Warning**: Due to the nature of the grid, shutdown, or restart your umbrel from the dashboard **MAY** make some unwanted behaviors. diff --git a/collections/documentation/dashboard/solutions/vm.md b/collections/documentation/dashboard/solutions/vm.md new file mode 100644 index 0000000..5e8db2f --- /dev/null +++ b/collections/documentation/dashboard/solutions/vm.md @@ -0,0 +1,62 @@ +

Micro Virtual Machine

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Deployment](#deployment) + +*** + +## Introduction + +We present the steps to deploy a micro VM on the TFGrid. + + +## Deployment + +Deploy a new virtual machine on the Threefold Grid + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Solutions** +- Click on **Micro Virtual Machine** + +__Process__ : + +![ ](./img/solutions_microvm.png) + +- Fill in the instance name: it's used to reference the VM in the future. +- Choose the image from the drop down (e.g Alpine, Ubuntu) or you can click on `Other` and manually specify the flist URL and the entrypoint. +- Select a capacity package: + - **Small**: {cpu: 1, memory: 2, diskSize: 25 } + - **Medium**: {cpu: 2, memory: 4, diskSize: 50 } + - **Large**: {cpu: 4, memory: 16, diskSize: 100} + - Or choose a **Custom** plan +- Choose the network + - `Public IPv4` flag gives the virtual machine a Public IPv4 + - `Public IPv6` flag gives the virtual machine a Public IPv6 + - `Planetary Network` to connect the Virtual Machine to Planetary network + - `Wireguard Access` to add a wireguard acces to the Virtual Machine +- `GPU` flag to add GPU to the Virtual machine +- `Dedicated` flag to retrieve only dedicated nodes +- `Certified` flag to retrieve only certified nodes +- Choose the location of the node + - `Region` + - `Country` + - `Farm Name` +- Choose the node to deploy the Virtual Machine on +> Or you can select a specific node with manual selection. + +![](./img/nixos-micro2.png) +* In the section `Environment Variables`, you can add any environment variables that the machine might need + +![](./img/nixos-micro3.png) + +* In the section `Disks`, You can attach one or more disks to the Virtual Machine by clicking on the Disks tab and the plus `+` sign and specify the following parameters + - Disk name + - Disk size + +in the bottom of the page you can see a list of all of the virual machines you deployed. you can click on `Show details` for more details + +![](./img/vm_list.png) +You can also go to JSON tab for full details +![ ](./img/vm_json.png) \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/vm_differences.md b/collections/documentation/dashboard/solutions/vm_differences.md new file mode 100644 index 0000000..a6dff11 --- /dev/null +++ b/collections/documentation/dashboard/solutions/vm_differences.md @@ -0,0 +1,29 @@ +

Micro and Full VM Differences

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Micro Virtual Machine](#micro-virtual-machine) +- [Full Virtual Machine](#full-virtual-machine) + +*** + +## Introduction + +We present the main differences between a micro VM and a full VM. This is useful information when it comes to choosing the proper deployment on the TFGrid. + +## Micro Virtual Machine + +- It's meant to host microservice. and the user should enter the entrypoint. +- The user has no control over ther kernel used to run the machine. +- The network setup will be created for the user. And the vm's init process can assume that it will be fully set up (according to the config the user provided) by the time it is started. +- Mountpoints will also be setup for the user. The environment variables passed will be available inside the the vm. + +## Full Virtual Machine + +- The users run their own operating system, but the image must be + - EFI bootable + - Cloud-init enabled +- It contains a default disk attached, as the boot image will be copied to this disk. +- The default disk is mounted on / so if you want to attach any additional disks, you have to choose a different mounting point. +- A /image.raw file is used as "boot disk". This /image.raw is copied to the first attached volume of the vm. Cloud-init will take care of resizing the filesystem on the image to take the full disk size allocated in the deployment. \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/vm_intro.md b/collections/documentation/dashboard/solutions/vm_intro.md new file mode 100644 index 0000000..d9cc0a7 --- /dev/null +++ b/collections/documentation/dashboard/solutions/vm_intro.md @@ -0,0 +1,11 @@ +

Virtual Machines

+ +On the TFGrid, you can deploy both micro and full virtual machines. + +

Table of Contents

+ +- [Micro and Full VM Differences ](./vm_differences.md) +- [Full Virtual Machine](./fullVm.md) +- [Micro Virtual Machine](./vm.md) +- [Nixos MicroVM](./nixos_micro.md) +- [Add a Domain](./add_domain.md) \ No newline at end of file diff --git a/collections/documentation/dashboard/solutions/wordpress.md b/collections/documentation/dashboard/solutions/wordpress.md new file mode 100644 index 0000000..57f2938 --- /dev/null +++ b/collections/documentation/dashboard/solutions/wordpress.md @@ -0,0 +1,147 @@ +

WordPress

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) +- [Domain Name and IP Address](#domain-name-and-ip-address) +- [DNS Details with Custom Domain](#dns-details-with-custom-domain) + - [DNS Record with Public IPv4](#dns-record-with-public-ipv4) + - [DNS Record with Gateway](#dns-record-with-gateway) + - [DNS Propagation](#dns-propagation) +- [Deployment Process](#deployment-process) +- [Access WordPress](#access-wordpress) + - [WordPress Instance Website](#wordpress-instance-website) + - [WordPress Instance Admin Page](#wordpress-instance-admin-page) +- [WordPress Instance Credentials](#wordpress-instance-credentials) +- [Questions and Feedback](#questions-and-feedback) + +*** + +# Introduction + +[WordPress](https://wordpress.org/) is the most popular CMS on the market, powering 65.2% of websites whose CMS we know. That translates to 42.4% of all websites – nearly half of the internet. It is a popular option for those who want to build a website or a blog. + +# Prerequisites + +- Make sure you have a [wallet](../wallet_connector.md) +- From the sidebar click on **Solutions** +- Click on **Wordpress** + +# Domain Name and IP Address + +A domain name is required to use WordPress. You can either use your own, which we'll call a **custom domain**, or you can get a free subdomain from a gateway node. Note that this won't impact the function of your deployment, it's just a matter of preference. If you want to use your own domain, follow the steps for custom domain wherever you see them below. + +Another choice to make before launching your WordPress instance is whether you want to reserve a public IPv4 for the deployment. Note that renting a public IPv4 address is an extra cost. If you do not enable IPv4, the deployment will be provided a gateway IPv4 address. + +If you're not sure and just want the easiest, most affordable option, do not enable public IPv4 nor custom domain. + +# DNS Details with Custom Domain + +In this section, we cover the essential DNS information when deploying a WordPress instance with a custom domain. + +You can skip this section if you did not enable **Custom Domain** in **Domain Name**. + +As a general reference, here is what setting a DNS A record can look like: + +![ ](img/wp11.png) + +This record type indicates the IP address of a given domain. + +## DNS Record with Public IPv4 + +Consider the following if you've enabled **Custom Domain** in **Domain Name** and **Public IPv4** in **Network**. + +After deployment, you will have access to the IPv4 address of the VM you deployed on. You will need to add a **DNS A record** (Host: "@", Value: ) to your domain to access WordPress. + +## DNS Record with Gateway + +Consider the following if you've enabled **Custom domain** in **Domain Name** but did not enable **Public IPv4** in **Network**. + +Before deploying the WordPress instance, you will have access to the gateway IPv4 address. You will need to add a **DNS A record** (Host: "@", Value: ) to your domain to access WordPress. + +## DNS Propagation + +When setting a DNS A record, it might take time for the DNS to propagate. It is possible that you see the following message when opening the WordPress page: + +>"This site can't be reached. DNS address could not be found. Diagnosing the problem." + +This is normal. You might simply need to wait for the DNS to propagate completely. + +You can check if the DNS records are propagated globally with DNS propagation check services such as [DNS Checker](https://dnschecker.org/). You can use this tool to verify that your domain is properly pointing to either the VM or the gateway IPv4 address. + +# Deployment Process + +In this section, we cover the steps to deploy a WordPress instance on the Playground. + +![Config](./img/solutions_wordpress.png) + +- Enter an instance name or leave the auto-generated instance name +- Enter the admin information or leave the auto-generated information + - **Username**: This will be used as the MySQL DB username and for Wp-admin + - **Password**: This will be used as the MySQL DB password and for Wp-admin + - **Email**: This will be used for Wp-admin +- Select a capacity package: + - **Small**: { cpu: 1, memory: 2 , diskSize: 15 } + - **Medium**: { cpu: 2, memory: 4 , diskSize: 50 } + - **Large**: { cpu: 4, memory: 16 , diskSize: 100 } + - Or choose a **Custom** plan + +- Choose the network + - **Public IPv4** flag gives the virtual machine a Public IPv4 + +- **Dedicated** flag to retrieve only dedicated nodes +- **Certified** flag to retrieve only certified nodes +- Choose the location of the node + - **Country** + - **Farm Name** +- Choose the node to deploy the WordPress instance on +- **Custom Domain** flag lets the user to use a custom domain +- Choose a gateway node to deploy your WordPress instance on + - If you've enabled IPv4, you do not need to choose a gateway node + +# Access WordPress + +In the section **WordPress Instances**, you can see a list of all of your deployed instances: + +![ ](./img/wp2.png) + +You can click on **Show details** under **Actions** for more details about the WordPress deployment. + +![ ](img/wp8.png) + +![ ](img/wp3.png) + +For more detailed information, you can switch to the **Json** tab. + +![ ](img/wp4.png) + +## WordPress Instance Website + +Click on **Visit** under **Actions** to go to the homepage of your WordPress instance. + +![ ](img/wp10.png) + +![ ](img/wp5.png) + +## WordPress Instance Admin Page + +Click on **Admin Panel** to go to the WordPress admin page (**wp-admin**) of your WordPress instance. + +![ ](img/wp9.png) + +Enter the **Username** and the **Password** that you provided in the **config** section to log into the admin panel. + +![ ](img/wp6.png) + +![ ](img/wp7.png) + +# WordPress Instance Credentials + +At any time, you can find the credentials of your WordPress instance by clicking on the **Show details** button under **Actions**. + +![ ](img/wp8.png) + +# Questions and Feedback + +If you have any questions, you can ask the ThreeFold community for help on the [ThreeFold Forum](http://forum.threefold.io/) or on the [ThreeFold Grid Tester Community](https://t.me/threefoldtesting) on Telegram. diff --git a/collections/documentation/dashboard/tfchain/tf_dao.md b/collections/documentation/dashboard/tfchain/tf_dao.md new file mode 100644 index 0000000..648280b --- /dev/null +++ b/collections/documentation/dashboard/tfchain/tf_dao.md @@ -0,0 +1,41 @@ +

DAO Voting

+ +The TFChain DAO (i.e. Decentralized Autonomous Organization) feature integrates decentralized governance capabilities into the ThreeFold Dashboard. It enables community members to participate in decision-making processes and to contribute to the evolution of the ThreeFold ecosystem. Through the TFChain DAO, users can propose, vote on, and implement changes to the network protocols, policies, and operations, fostering a collaborative and inclusive environment. + +

Table of Contents

+ +- [An Introduction to the DAO concept](#an-introduction-to-the-dao-concept) +- [Prerequisites to Vote](#prerequisites-to-vote) +- [How to Vote for a Proposal](#how-to-vote-for-a-proposal) +- [The Goal of the Threefold DAO](#the-goal-of-the-threefold-dao) + +*** + +## An Introduction to the DAO concept + +[A decentralized autonomous organization (DAO)](../../../knowledge_base/about/dao/dao.md) is an entity with no central leadership. Decisions get made from the bottom-up, governed by a community organized around a specific set of rules enforced on a blockchain. + +DAOs are internet-native organizations collectively owned and managed by their members. They have built-in treasuries that are only accessible with the approval of their members. Decisions are made via proposals the group votes on during a specified period. + + + +## Prerequisites to Vote + +Voting for a DAO proposal is very simple. You first need to meet certain requirements to be able to vote. + +- Have a [Threefold farm](../farms/farms.md) +- Have at least one active [3node server](../../farmers/3node_building/3node_building.md) on the farm +- If you created your farm with the Threefold Connect app + - [Import your farm on the Threefold Dashboard](../../threefold_token/storing_tft/tf_connect_app.md#move-farm-from-the-tf-connect-app-to-the-tf-portal-polkadotjs) + + + +## How to Vote for a Proposal + +To vote, you need to log into your Threefold Dashboard account, go to **TF DAO** section of **TFChain** and vote for an active proposal. Make sure to read the proposition and ask questions on the Threefold Forum proposition post if you have any. + +## The Goal of the Threefold DAO + +The goal of DAO voting system is to gather the thoughts and will of the Threefold community and build projects that are aligned with the ethos of the project. + +We encourage anyone to share their ideas. Who knows? Your sudden spark of genius might lead to an accepted proposal on the Threefold DAO! diff --git a/collections/documentation/dashboard/tfchain/tf_minting_reports.md b/collections/documentation/dashboard/tfchain/tf_minting_reports.md new file mode 100644 index 0000000..158ba04 --- /dev/null +++ b/collections/documentation/dashboard/tfchain/tf_minting_reports.md @@ -0,0 +1,5 @@ +# TF Minting Reports + +TFGrid Minting Explorer, works by simply entering a receipt hash and you will get full minting report in return. + +![](../img/Minting.png) \ No newline at end of file diff --git a/collections/documentation/dashboard/tfchain/tf_token_bridge.md b/collections/documentation/dashboard/tfchain/tf_token_bridge.md new file mode 100644 index 0000000..f7391c2 --- /dev/null +++ b/collections/documentation/dashboard/tfchain/tf_token_bridge.md @@ -0,0 +1,44 @@ +# TF Token Bridge + +Transferring TFT between Stellar and Tfchain + +## Usage + +This document will explain how you can transfer TFT from Tfchain to Stellar and back. + +![bridge page](../img/bridge.png) + +## Prerequisites + +- Stellar wallet + +- Account on TFchain (use TF Dashboard to create one). + +## Stellar to Tfchain + +You can deposit to Tfchain using the bridge page on the TF Dashboard + +A deposit of tokens from the Stellar network onto TF-Chain needs to happen from a Stellar wallet, like in the ThreeFold Connect App. + +You have 2 options: + +- TFT needs to be sent to the bridge account +- specifying in the memo field the twinID that was generated with the Twin creation e.g. twin_110 (dont forget twin_) +- Note there is a transaction cost of 1 TFT. + +Or + +- You can scan the QR code + +![bridge](../img/bridge_deposit.png) + +## Tfchain to Stellar + +You can bridge back to stellar using the bridge page on the dashboard, click *withdraw*: + +After indicating the destination address and the amount to be transferred, click *Send*. + +![withdraw](../img/bridge_withdraw.png) + +A withdraw fee of 1 TFT will be taken, so make sure you send a larger amount as 1 TFT. +The amount withdrawn from TFChain will be sent to your Stellar wallet. diff --git a/collections/documentation/dashboard/tfchain/tf_token_transfer.md b/collections/documentation/dashboard/tfchain/tf_token_transfer.md new file mode 100644 index 0000000..733eff6 --- /dev/null +++ b/collections/documentation/dashboard/tfchain/tf_token_transfer.md @@ -0,0 +1,26 @@ +# TF Token Transfer + +Manage your TFT on TFChain. + +## Transfer TFT between TFChain accounts + +You can transfer TFTs between two accounts that exist on the same chain. + +> Remark: testnet and mainnet both have the same TFTs but as the 2 chains are different, there is no way to do a direct transfer between accounts on testnet and on mainnet. + +You can transfer TFTs by recipient address or recipient twin id; by selecting the needed tab. + + +### Transfer by twin id + +Fill in the recipient twin id, the amount of tokens to transfer, and click on `Send`. + +![](../img/dashboard_transfer_twin.png) + +### Transfer by address + +Fill in the recipient address, the amount of tokens to transfer, and click on `Send`. + +![](../img/dashboard_transfer_address.png) + +There is no transfer fee, just a signing fee of `0.001` TFT. diff --git a/collections/documentation/dashboard/tfchain/tfchain.md b/collections/documentation/dashboard/tfchain/tfchain.md new file mode 100644 index 0000000..bda6640 --- /dev/null +++ b/collections/documentation/dashboard/tfchain/tfchain.md @@ -0,0 +1,20 @@ +# TFChain + +Here you will find everything related to the ThreeFold chain. this includes: + +- Detailed account information from the [Your Profile](./your_profile.md) section. +- Information about what DAO is and how to vote on DAO proposals from the [TF DAO](./tf_dao.md) section. +- Transferring TFTs on different chains from the [TF Token Bridge](./tf_token_bridge.md) section. +- Transferring TFTs on the TFChain from the [TF Token Transfer](./tf_token_transfer.md) section. +- getting miniting reports from the [TF Minting Reports](./tf_minting_reports.md) section. + + ![](../img/sidebar_4.png) + +*** +## Table of Content + +- [Your Profile](./your_profile.md) +- [TF DAO](./tf_dao.md) +- [TF Token Bridge](./tf_token_bridge.md) +- [TF Token Transfer](./tf_token_transfer.md) +- [TF Minting Reports](./tf_minting_reports.md) \ No newline at end of file diff --git a/collections/documentation/dashboard/tfchain/your_profile.md b/collections/documentation/dashboard/tfchain/your_profile.md new file mode 100644 index 0000000..091cffe --- /dev/null +++ b/collections/documentation/dashboard/tfchain/your_profile.md @@ -0,0 +1,13 @@ +

Twin Management

+ +The TF Twin management feature of the ThreeFold Dashboard enables users to create, manage, and monitor their individual digital entities known as **Twins**. A Twin can represent a virtual machine (VM) or a container running on the ThreeFold Grid. With the Twin management, users can easily deploy and scale their workloads, allocate resources, and configure networking and storage settings for their Twins. + +![](../img/twin.png) + +The twin details consists of three main items. + +- `ID` Your unique identifier for your twin on the ThreeFold chain. +- `Address` Your public address on the ThreeFold chain. +- `Relay` A relay is a component that facilitates the reliable and secure transfer of messages between different entities within the ThreeFold ecosystem. + +To create a twin check the [Wallet Connector](../wallet_connector.md) Section. \ No newline at end of file diff --git a/collections/documentation/dashboard/tfgrid/grid_status.md b/collections/documentation/dashboard/tfgrid/grid_status.md new file mode 100644 index 0000000..5969a99 --- /dev/null +++ b/collections/documentation/dashboard/tfgrid/grid_status.md @@ -0,0 +1,5 @@ +# Grid Status + +Check the status and health of ThreeFold services From [Grid Status](https://status.grid.tf/status/threefold) + +![](../img/grid_health.png) \ No newline at end of file diff --git a/collections/documentation/dashboard/tfgrid/node_monitoring.md b/collections/documentation/dashboard/tfgrid/node_monitoring.md new file mode 100644 index 0000000..a7c8d51 --- /dev/null +++ b/collections/documentation/dashboard/tfgrid/node_monitoring.md @@ -0,0 +1,5 @@ +# Node Monitoring + +Monitor and check the metrics and status of Zero-OS nodes from [Node Monitoring](https://metrics.grid.tf/d/rYdddlPWkfqwf/zos-host-metrics?orgId=2&refresh=30s) + +![](../img/Monitoring.png) \ No newline at end of file diff --git a/collections/documentation/dashboard/tfgrid/node_statistics.md b/collections/documentation/dashboard/tfgrid/node_statistics.md new file mode 100644 index 0000000..0980105 --- /dev/null +++ b/collections/documentation/dashboard/tfgrid/node_statistics.md @@ -0,0 +1,18 @@ +# Statistics + +Statistics allows you to see the distribution of 3Nodes all over the world with information on how many nodes are available and in which country. + +![](../img/statistics.png) + +Here you can see generic overview about: + +- Number of Nodes +- Number of Dedicated Nodes +- Number of Farms +- Number of Countries +- The capacity CRU, SRU, HRU, MRU +- Number of GPUs +- Number of Gateways +- Number of Twins +- The number of public IPs available +- Number of Contracts \ No newline at end of file diff --git a/collections/documentation/dashboard/tfgrid/tfgrid.md b/collections/documentation/dashboard/tfgrid/tfgrid.md new file mode 100644 index 0000000..2b06d9b --- /dev/null +++ b/collections/documentation/dashboard/tfgrid/tfgrid.md @@ -0,0 +1,17 @@ +# TFGrid + +Check and use all things related to the threefold grid. Including: + +- The status of ThreeFold services from the [Grid Status](./grid_status.md) website. +- The statistics of all nodes that are available on the ThreeFold grid from [Node Statistics](./node_statistics.md). +- The health and status of Zero-OS nodes that are available on the ThreeFold grid from [Node Monitoring](./node_monitoring.md). + + ![](../img/sidebar_1.png) + +*** + +## Table of Content + +- [Grid Status](./grid_status.md) +- [Node Statistics](./node_statistics.md) +- [Node Monitoring](./node_monitoring.md) \ No newline at end of file diff --git a/collections/documentation/dashboard/toc.md b/collections/documentation/dashboard/toc.md new file mode 100644 index 0000000..5507842 --- /dev/null +++ b/collections/documentation/dashboard/toc.md @@ -0,0 +1,8 @@ +## Dashboard TOC + +- [Home](./home.md) +- [Wallet Connector](./wallet_connector.md) +- [CapRover](./caprover.md) +- [Virtual Machine](./vm.md) +- [Funkwhale](./funkwhale.md) +- [Peertube](./peertube.md) diff --git a/collections/documentation/dashboard/vm_presearch.md b/collections/documentation/dashboard/vm_presearch.md new file mode 100644 index 0000000..f438507 --- /dev/null +++ b/collections/documentation/dashboard/vm_presearch.md @@ -0,0 +1,51 @@ +# Mount a Presearch node on TFGrid3 using VM + +The fastest way to mount a Presearch node on TFGrid3 is inside a VM. + +Steps : +- Set up a VM, see [here](./vm.md). It is recommended to reserve a fix IP. You can also try out the planetary network (so reserve a VM without public IP), as long as the node you select is connected to the internet through an IPv4 address that isn't used yet for a Presearch node, you don't explicitly need to reserve a public IPv4 address. However, the planetary network is still in beta phase and might generate performance issues. +- 1 CPU is enough for a PRE node. As we still need to install Docker on the VM before deploying a PRE node, please choose 8192 memory size. +- Once your VM is set up, SSH into our machine. + +![](./img/vm_list.png) + +For the VM having an IP address you can enter the terminal command +``` +ssh root@185.206.122.162 +``` + +If you didn't reserve a public IPv4 address, you can ssh into your machine using the IPv6 address. Peopl doing this, should however first set up their identity in the Planetary Network with Yggdrasil. See [here](yggdrasil_client) to know how to do this. + +``` +ssh root@300:aa1b:e91b:720f:ae5f:8991:6df8:1ec9 +``` + +Now you have an empty VM, also Docker still needs to be installed. + +Execute the following commands inside your VM : + +``` +apt update ; +apt install sudo ; +sudo apt install apt-transport-https ca-certificates curl software-properties-common ; +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - ; +sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" ; +``` +Finally, install Docker. The Ubuntu machine does not come with `systemd`. The following does the trick : + +``` +apt-get install docker-ce docker-ce-cli containerd.io +apt-cache madison docker-ce + +dockerd & +``` + +Once Docker is set up, you can launch the PRE node instructions on your VM: + +``` +docker stop presearch-node ; docker rm presearch-node ; docker stop presearch-auto-updater ; docker rm presearch-auto-updater ; docker run -d --name presearch-auto-updater --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock presearch/auto-updater --cleanup --interval 900 presearch-auto-updater presearch-node ; docker pull presearch/node ; docker run -dt --name presearch-node --restart=unless-stopped -v presearch-node-storage:/app/node -e REGISTRATION_CODE=$YOUR_REGISTRATION_CODE_HERE presearch/node ; docker logs -f presearch-node +``` + +And you're done ! + +![ ](./img/weblet_vm_presearch_result.jpg) \ No newline at end of file diff --git a/collections/documentation/dashboard/wallet_connector.md b/collections/documentation/dashboard/wallet_connector.md new file mode 100644 index 0000000..842339a --- /dev/null +++ b/collections/documentation/dashboard/wallet_connector.md @@ -0,0 +1,42 @@ +

Wallet Connector

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Supported Networks](#supported-networks) +- [Process](#process) + +*** + +## Introduction + +To interact with TFChain, users need to set a wallet connector. + +## Supported Networks + +Currently, we're supporting four different networks: + +- Dev net, for development purposes + - [https://dashboard.dev.grid.tf](https://dashboard.dev.grid.tf) +- QA net, for internal testing and verifications + - [https://dashboard.qa.grid.tf](https://dashboard.qa.grid.tf) +- Test net, for testing purposes + - [https://dashboard.test.grid.tf](https://dashboard.test.grid.tf) +- Main net, for production-ready purposes + - [https://dashboard.grid.tf](https://dashboard.grid.tf) + +![ ](./img/profile_manager1.png) + +## Process + +Start entering the following information required to create your new profile. + +![ ](./img/profile_manager2.png) + +- `Mnemonics` are the secret words of your Polkadot account. Click on the **Create Account** button to generate yours. +- `Password` is used to access your account +- `Confirm Password` + +After you finish typing your credentials, click on **Connect**. Once your profile gets activated, you should find your **Twin ID** and **Address** generated under your **_Mnemonics_** for verification. Also, your **Account Balance** will be available at the top right corner under your profile name. + +![ ](./img/profile_manager3.png)