Merge branch 'development' of git.ourworld.tf:tfgrid/info_tfgrid into development
@ -4,16 +4,14 @@
|
|||||||
- [Projects Personal](kristof/projects_personal.md)
|
- [Projects Personal](kristof/projects_personal.md)
|
||||||
- [Funding Round](kristof/funding.md)
|
- [Funding Round](kristof/funding.md)
|
||||||
- [Projects Tech](kristof/projects_tech.md)
|
- [Projects Tech](kristof/projects_tech.md)
|
||||||
|
- [OurWorld Venture Creator](kristof/owh.md)
|
||||||
- [Digital FreeZone](partners_utilization/freezone.md)
|
- [Digital FreeZone](partners_utilization/freezone.md)
|
||||||
- [Tanzania](partners_utilization/tanzania.md)
|
- [Tanzania](partners_utilization/tanzania.md)
|
||||||
- [TF9](kristof/tf9.md)
|
- [TF9](kristof/tf9.md)
|
||||||
- [ThreeFold](kristof/threefold.md)
|
- [ThreeFold](kristof/threefold.md)
|
||||||
- [OurWorld Holding](kristof/owh.md)
|
|
||||||
- [Personal Writings](kristof/writings.md)
|
- [Personal Writings](kristof/writings.md)
|
||||||
- [Interesting info](kristof/info.md)
|
- [Interesting info](kristof/info.md)
|
||||||
- [Project Launches](kristof/launches.md)
|
|
||||||
- [Project Mycelium Launch](kristof/projectmycelium_launch.md)
|
|
||||||
- [Project INCA Launch](kristof/projectinca_launch.md)
|
|
||||||
- [Values](values/planet_people_first.md)
|
- [Values](values/planet_people_first.md)
|
||||||
- [Passion](kristof/passion.md)
|
- [Passion](kristof/passion.md)
|
||||||
|
- [CoCreation](kristof/cocreation.md)
|
||||||
- [Research](kristof/research.md)
|
- [Research](kristof/research.md)
|
||||||
|
@ -10,29 +10,35 @@
|
|||||||
- [Pricing Calculator](dashboard/deploy/pricing_calculator.md)
|
- [Pricing Calculator](dashboard/deploy/pricing_calculator.md)
|
||||||
- [Node Finder](dashboard/deploy/node_finder.md)
|
- [Node Finder](dashboard/deploy/node_finder.md)
|
||||||
- [Virtual Machines](dashboard/solutions/vm_intro.md)
|
- [Virtual Machines](dashboard/solutions/vm_intro.md)
|
||||||
- [Micro and Full VM Differences ](dashboard/solutions/vm_differences.md)
|
|
||||||
- [Full Virtual Machine](dashboard/solutions/fullvm.md)
|
- [Full Virtual Machine](dashboard/solutions/fullvm.md)
|
||||||
- [Micro Virtual Machine](dashboard/solutions/microvm.md)
|
- [Micro Virtual Machine](dashboard/solutions/microvm.md)
|
||||||
- [Nixos MicroVM](dashboard/solutions/nixos_micro.md)
|
- [Nixos MicroVM](dashboard/solutions/nixos_micro.md)
|
||||||
- [Add a Domain](dashboard/solutions/add_domain.md)
|
- [Micro and Full VM Differences ](dashboard/solutions/vm_differences.md)
|
||||||
|
- [Add a Domain to a VM](dashboard/solutions/add_domain.md)
|
||||||
- [Orchestrators](dashboard/deploy/orchestrators.md)
|
- [Orchestrators](dashboard/deploy/orchestrators.md)
|
||||||
- [Kubernetes](dashboard/solutions/k8s.md)
|
- [Kubernetes](dashboard/solutions/k8s.md)
|
||||||
- [Caprover](dashboard/solutions/caprover.md)
|
- [CapRover](dashboard/solutions/caprover.md)
|
||||||
- [Caprover Admin](dashboard/solutions/caprover_admin.md)
|
- [CapRover Admin](dashboard/solutions/caprover_admin.md)
|
||||||
- [Caprover Worker](dashboard/solutions/caprover_worker.md)
|
- [CapRover Worker](dashboard/solutions/caprover_worker.md)
|
||||||
- [Applications](dashboard/deploy/applications.md)
|
- [Applications](dashboard/deploy/applications.md)
|
||||||
- [Algorand](dashboard/solutions/algorand.md)
|
- [Algorand](dashboard/solutions/algorand.md)
|
||||||
- [CasperLabs](dashboard/solutions/casper.md)
|
- [CasperLabs](dashboard/solutions/casper.md)
|
||||||
- [Discourse](dashboard/solutions/discourse.md)
|
- [Discourse](dashboard/solutions/discourse.md)
|
||||||
|
- [Domains](dashboard/solutions/domains.md)
|
||||||
- [Funkwhale](dashboard/solutions/funkwhale.md)
|
- [Funkwhale](dashboard/solutions/funkwhale.md)
|
||||||
|
- [Gitea](dashboard/solutions/gitea.md)
|
||||||
|
- [Jenkins](dashboard/solutions/jenkins.md)
|
||||||
|
- [Jitsi](dashboard/solutions/jitsi.md)
|
||||||
- [Mattermost](dashboard/solutions/mattermost.md)
|
- [Mattermost](dashboard/solutions/mattermost.md)
|
||||||
- [Nextcloud](dashboard/solutions/nextcloud.md)
|
- [Nextcloud](dashboard/solutions/nextcloud.md)
|
||||||
- [Node Pilot](dashboard/solutions/nodepilot.md)
|
- [Node Pilot](dashboard/solutions/nodepilot.md)
|
||||||
|
- [Nostr](dashboard/solutions/nostr.md)
|
||||||
- [Peertube](dashboard/solutions/peertube.md)
|
- [Peertube](dashboard/solutions/peertube.md)
|
||||||
- [Presearch](dashboard/solutions/presearch.md)
|
- [Presearch](dashboard/solutions/presearch.md)
|
||||||
- [Static Website](dashboard/solutions/static_website.md)
|
- [Static Website](dashboard/solutions/static_website.md)
|
||||||
- [Subsquid](dashboard/solutions/subsquid.md)
|
- [Subsquid](dashboard/solutions/subsquid.md)
|
||||||
- [Taiga](dashboard/solutions/taiga.md)
|
- [Taiga](dashboard/solutions/taiga.md)
|
||||||
|
- [TFRobot](dashboard/solutions/tfrobot.md)
|
||||||
- [Umbrel](dashboard/solutions/umbrel.md)
|
- [Umbrel](dashboard/solutions/umbrel.md)
|
||||||
- [WordPress](dashboard/solutions/wordpress.md)
|
- [WordPress](dashboard/solutions/wordpress.md)
|
||||||
- [Your Contracts](dashboard/deploy/your_contracts.md)
|
- [Your Contracts](dashboard/deploy/your_contracts.md)
|
||||||
@ -60,6 +66,7 @@
|
|||||||
- [Installation](developers/javascript/grid3_javascript_installation.md)
|
- [Installation](developers/javascript/grid3_javascript_installation.md)
|
||||||
- [Loading Client](developers/javascript/grid3_javascript_loadclient.md)
|
- [Loading Client](developers/javascript/grid3_javascript_loadclient.md)
|
||||||
- [Deploy a VM](developers/javascript/grid3_javascript_vm.md)
|
- [Deploy a VM](developers/javascript/grid3_javascript_vm.md)
|
||||||
|
- [Deploy a VM with Mycelium Network](developers/javascript/grid3_javascript_vm_with_mycelium_network.md)
|
||||||
- [Capacity Planning](developers/javascript/grid3_javascript_capacity_planning.md)
|
- [Capacity Planning](developers/javascript/grid3_javascript_capacity_planning.md)
|
||||||
- [Deploy Multiple VMs](developers/javascript/grid3_javascript_vms.md)
|
- [Deploy Multiple VMs](developers/javascript/grid3_javascript_vms.md)
|
||||||
- [Deploy CapRover](developers/javascript/grid3_javascript_caprover.md)
|
- [Deploy CapRover](developers/javascript/grid3_javascript_caprover.md)
|
||||||
@ -155,6 +162,7 @@
|
|||||||
- [TFGrid Stacks](developers/grid_deployment/tfgrid_stacks.md)
|
- [TFGrid Stacks](developers/grid_deployment/tfgrid_stacks.md)
|
||||||
- [Full VM Grid Deployment](developers/grid_deployment/grid_deployment_full_vm.md)
|
- [Full VM Grid Deployment](developers/grid_deployment/grid_deployment_full_vm.md)
|
||||||
- [Grid Snapshots](developers/grid_deployment/snapshots.md)
|
- [Grid Snapshots](developers/grid_deployment/snapshots.md)
|
||||||
|
- [Z-OS Boot Generator](developers/grid_deployment/zos_boot_generator/zos_boot_generator.md)
|
||||||
- [Deploy the Dashboard](developers/grid_deployment/deploy_dashboard.md)
|
- [Deploy the Dashboard](developers/grid_deployment/deploy_dashboard.md)
|
||||||
- [Application Case Study: Nextcloud](developers/grid_deployment/app_case_study_nextcloud.md)
|
- [Application Case Study: Nextcloud](developers/grid_deployment/app_case_study_nextcloud.md)
|
||||||
- [Farmers](farmers/farmers.md)
|
- [Farmers](farmers/farmers.md)
|
||||||
@ -165,15 +173,16 @@
|
|||||||
- [4. Wipe All the Disks](farmers/3node_building/4_wipe_all_disks.md)
|
- [4. Wipe All the Disks](farmers/3node_building/4_wipe_all_disks.md)
|
||||||
- [5. Set the BIOS/UEFI](farmers/3node_building/5_set_bios_uefi.md)
|
- [5. Set the BIOS/UEFI](farmers/3node_building/5_set_bios_uefi.md)
|
||||||
- [6. Boot the 3Node](farmers/3node_building/6_boot_3node.md)
|
- [6. Boot the 3Node](farmers/3node_building/6_boot_3node.md)
|
||||||
|
- [Farming Requirements](farmers/farming_requirements.md)
|
||||||
- [Farming Optimization](farmers/farming_optimization/farming_optimization.md)
|
- [Farming Optimization](farmers/farming_optimization/farming_optimization.md)
|
||||||
- [GPU Farming](farmers/3node_building/gpu_farming.md)
|
- [GPU Farming](farmers/3node_building/gpu_farming.md)
|
||||||
|
- [HDD-Only Nodes](farmers/farming_optimization/hdd_only_nodes.md)
|
||||||
- [Set Additional Fees](farmers/farming_optimization/set_additional_fees.md)
|
- [Set Additional Fees](farmers/farming_optimization/set_additional_fees.md)
|
||||||
- [Minting Receipts](farmers/3node_building/minting_receipts.md)
|
- [Minting Receipts](farmers/3node_building/minting_receipts.md)
|
||||||
- [Minting Periods](farmers/farming_optimization/minting_periods.md)
|
- [Minting Periods](farmers/farming_optimization/minting_periods.md)
|
||||||
- [Room Parameters](farmers/farming_optimization/farm_room_parameters.md)
|
- [Room Parameters](farmers/farming_optimization/farm_room_parameters.md)
|
||||||
- [Farming Costs](farmers/farming_optimization/farming_costs.md)
|
- [Farming Costs](farmers/farming_optimization/farming_costs.md)
|
||||||
- [Calculate Your ROI](farmers/farming_optimization/calculate_roi.md)
|
- [Calculate Your ROI](farmers/farming_optimization/calculate_roi.md)
|
||||||
- [Farming Requirements](farmers/farming_optimization/farming_requirements.md)
|
|
||||||
- [Advanced Networking](farmers/advanced_networking/advanced_networking_toc.md)
|
- [Advanced Networking](farmers/advanced_networking/advanced_networking_toc.md)
|
||||||
- [Networking Overview](farmers/advanced_networking/networking_overview.md)
|
- [Networking Overview](farmers/advanced_networking/networking_overview.md)
|
||||||
- [Network Considerations](farmers/advanced_networking/network_considerations.md)
|
- [Network Considerations](farmers/advanced_networking/network_considerations.md)
|
||||||
@ -184,27 +193,43 @@
|
|||||||
- [Minting and the Farmerbot](farmers/farmerbot/farmerbot_minting.md)
|
- [Minting and the Farmerbot](farmers/farmerbot/farmerbot_minting.md)
|
||||||
- [Node Status Bot](farmers/node_status_bot/node_status_bot.md)
|
- [Node Status Bot](farmers/node_status_bot/node_status_bot.md)
|
||||||
- [Farming Troubleshooting](farmers/farming_troubleshooting.md)
|
- [Farming Troubleshooting](farmers/farming_troubleshooting.md)
|
||||||
|
- [Build, Post Build & Memory](farmers/farming_troubleshooting_tips.md)
|
||||||
- [System Administrators](system_administrators/system_administrators.md)
|
- [System Administrators](system_administrators/system_administrators.md)
|
||||||
- [Getting Started](system_administrators/getstarted/tfgrid3_getstarted.md)
|
- [Getting Started](system_administrators/getstarted/tfgrid3_getstarted.md)
|
||||||
- [SSH Remote Connection](system_administrators/getstarted/ssh_guide/ssh_guide.md)
|
- [SSH Remote Connection](system_administrators/getstarted/ssh_guide/ssh_guide.md)
|
||||||
- [SSH with OpenSSH](system_administrators/getstarted/ssh_guide/ssh_openssh.md)
|
- [SSH with OpenSSH](system_administrators/getstarted/ssh_guide/ssh_openssh.md)
|
||||||
- [SSH with PuTTY](system_administrators/getstarted/ssh_guide/ssh_putty.md)
|
- [Advanced Methods](system_administrators/getstarted/ssh_guide/advanced_methods/advanced_methods.md)
|
||||||
- [SSH with WSL](system_administrators/getstarted/ssh_guide/ssh_wsl.md)
|
- [SSH with PuTTY](system_administrators/getstarted/ssh_guide/ssh_putty.md)
|
||||||
- [WireGuard Access](system_administrators/getstarted/ssh_guide/ssh_wireguard.md)
|
- [SSH with WSL](system_administrators/getstarted/ssh_guide/ssh_wsl.md)
|
||||||
- [Remote Desktop and GUI](system_administrators/getstarted/remote-desktop_gui/remote-desktop_gui.md)
|
- [WireGuard](system_administrators/getstarted/ssh_guide/advanced_methods/ssh_wireguard.md)
|
||||||
- [Cockpit: a Web-based Interface for Servers](system_administrators/getstarted/remote-desktop_gui/cockpit_guide/cockpit_guide.md)
|
- [Planetary Network](system_administrators/getstarted/ssh_guide/advanced_methods/planetarynetwork.md)
|
||||||
- [XRDP: an Open-Source Remote Desktop Protocol](system_administrators/getstarted/remote-desktop_gui/xrdp_guide/xrdp_guide.md)
|
- [TFGrid Deployments](system_administrators/getstarted/tfgrid_deployments.md)
|
||||||
- [Apache Guacamole: a Clientless Remote Desktop Gateway](system_administrators/getstarted/remote-desktop_gui/guacamole_guide/guacamole_guide.md)
|
|
||||||
- [Planetary Network](system_administrators/getstarted/planetarynetwork.md)
|
|
||||||
- [TFGrid Services](system_administrators/getstarted/tfgrid_services/tf_grid_services_readme.md)
|
- [TFGrid Services](system_administrators/getstarted/tfgrid_services/tf_grid_services_readme.md)
|
||||||
|
- [Mycelium](system_administrators/mycelium/mycelium_toc.md)
|
||||||
|
- [Overview](system_administrators/mycelium/overview.md)
|
||||||
|
- [Installation](system_administrators/mycelium/installation.md)
|
||||||
|
- [Additional Information](system_administrators/mycelium/information.md)
|
||||||
|
- [Message](system_administrators/mycelium/message.md)
|
||||||
|
- [Packet](system_administrators/mycelium/packet.md)
|
||||||
|
- [Data Packet](system_administrators/mycelium/data_packet.md)
|
||||||
|
- [API YAML](system_administrators/mycelium/api_yaml.md)
|
||||||
|
- [Pulumi](system_administrators/pulumi/pulumi_readme.md)
|
||||||
|
- [Introduction to Pulumi](system_administrators/pulumi/pulumi_intro.md)
|
||||||
|
- [Installing Pulumi](system_administrators/pulumi/pulumi_install.md)
|
||||||
|
- [Deployment Examples](system_administrators/pulumi/pulumi_examples.md)
|
||||||
|
- [Deployment Details](system_administrators/pulumi/pulumi_deployment_details.md)
|
||||||
|
- [Complete Guides](system_administrators/pulumi/pulumi_complete_guides/pulumi_complete_guides_toc.md)
|
||||||
|
- [Pulumi and YAML](system_administrators/pulumi/pulumi_complete_guides/pulumi_yaml.md)
|
||||||
|
- [Pulumi and Python](system_administrators/pulumi/pulumi_complete_guides/pulumi_python.md)
|
||||||
|
- [Pulumi and Go](system_administrators/pulumi/pulumi_complete_guides/pulumi_go.md)
|
||||||
- [GPU](system_administrators/gpu/gpu_toc.md)
|
- [GPU](system_administrators/gpu/gpu_toc.md)
|
||||||
- [GPU Support](system_administrators/gpu/gpu.md)
|
- [GPU Support](system_administrators/gpu/gpu.md)
|
||||||
- [Terraform](system_administrators/terraform/terraform_toc.md)
|
- [Terraform](system_administrators/terraform/terraform_toc.md)
|
||||||
- [Overview](system_administrators/terraform/terraform_readme.md)
|
- [Introduction to Terraform](system_administrators/terraform/terraform_readme.md)
|
||||||
- [Installing Terraform](system_administrators/terraform/terraform_install.md)
|
- [Installing Terraform](system_administrators/terraform/terraform_install.md)
|
||||||
- [Terraform Basics](system_administrators/terraform/terraform_basics.md)
|
- [Terraform Basics](system_administrators/terraform/terraform_basics.md)
|
||||||
- [Full VM Deployment](system_administrators/terraform/terraform_full_vm.md)
|
- [Full VM Deployment](system_administrators/terraform/terraform_full_vm.md)
|
||||||
- [GPU Support](system_administrators/terraform/terraform_gpu_support.md)
|
- [Terrafprm Basics](system_administrators/terraform/terraform_basics.md)
|
||||||
- [Resources](system_administrators/terraform/resources/terraform_resources_readme.md)
|
- [Resources](system_administrators/terraform/resources/terraform_resources_readme.md)
|
||||||
- [Using Scheduler](system_administrators/terraform/resources/terraform_scheduler.md)
|
- [Using Scheduler](system_administrators/terraform/resources/terraform_scheduler.md)
|
||||||
- [Virtual Machine](system_administrators/terraform/resources/terraform_vm.md)
|
- [Virtual Machine](system_administrators/terraform/resources/terraform_vm.md)
|
||||||
@ -218,6 +243,7 @@
|
|||||||
- [CapRover](system_administrators/terraform/resources/terraform_caprover.md)
|
- [CapRover](system_administrators/terraform/resources/terraform_caprover.md)
|
||||||
- [Advanced](system_administrators/terraform/advanced/terraform_advanced_readme.md)
|
- [Advanced](system_administrators/terraform/advanced/terraform_advanced_readme.md)
|
||||||
- [Terraform Provider](system_administrators/terraform/advanced/terraform_provider.md)
|
- [Terraform Provider](system_administrators/terraform/advanced/terraform_provider.md)
|
||||||
|
- [GPU Support](system_administrators/terraform/terraform_gpu_support.md)
|
||||||
- [Terraform Provisioners](system_administrators/terraform/advanced/terraform_provisioners.md)
|
- [Terraform Provisioners](system_administrators/terraform/advanced/terraform_provisioners.md)
|
||||||
- [Mounts](system_administrators/terraform/advanced/terraform_mounts.md)
|
- [Mounts](system_administrators/terraform/advanced/terraform_mounts.md)
|
||||||
- [Capacity Planning](system_administrators/terraform/advanced/terraform_capacity_planning.md)
|
- [Capacity Planning](system_administrators/terraform/advanced/terraform_capacity_planning.md)
|
||||||
@ -231,23 +257,13 @@
|
|||||||
- [Nextcloud Single Deployment](system_administrators/terraform/advanced/terraform_nextcloud_single.md)
|
- [Nextcloud Single Deployment](system_administrators/terraform/advanced/terraform_nextcloud_single.md)
|
||||||
- [Nextcloud Redundant Deployment](system_administrators/terraform/advanced/terraform_nextcloud_redundant.md)
|
- [Nextcloud Redundant Deployment](system_administrators/terraform/advanced/terraform_nextcloud_redundant.md)
|
||||||
- [Nextcloud 2-Node VPN Deployment](system_administrators/terraform/advanced/terraform_nextcloud_vpn.md)
|
- [Nextcloud 2-Node VPN Deployment](system_administrators/terraform/advanced/terraform_nextcloud_vpn.md)
|
||||||
- [Pulumi](system_administrators/pulumi/pulumi_readme.md)
|
|
||||||
- [Introduction to Pulumi](system_administrators/pulumi/pulumi_intro.md)
|
|
||||||
- [Installing Pulumi](system_administrators/pulumi/pulumi_install.md)
|
|
||||||
- [Deployment Examples](system_administrators/pulumi/pulumi_examples.md)
|
|
||||||
- [Deployment Details](system_administrators/pulumi/pulumi_deployment_details.md)
|
|
||||||
- [Mycelium](system_administrators/mycelium/mycelium_toc.md)
|
|
||||||
- [Overview](system_administrators/mycelium/overview.md)
|
|
||||||
- [Installation](system_administrators/mycelium/installation.md)
|
|
||||||
- [Additional Information](system_administrators/mycelium/information.md)
|
|
||||||
- [Message](system_administrators/mycelium/message.md)
|
|
||||||
- [Packet](system_administrators/mycelium/packet.md)
|
|
||||||
- [Data Packet](system_administrators/mycelium/data_packet.md)
|
|
||||||
- [API YAML](system_administrators/mycelium/api_yaml.md)
|
|
||||||
- [Computer and IT Basics](system_administrators/computer_it_basics/computer_it_basics.md)
|
- [Computer and IT Basics](system_administrators/computer_it_basics/computer_it_basics.md)
|
||||||
- [CLI and Scripts Basics](system_administrators/computer_it_basics/cli_scripts_basics.md)
|
- [CLI and Scripts Basics](system_administrators/computer_it_basics/cli_scripts_basics.md)
|
||||||
- [Docker Basics](system_administrators/computer_it_basics/docker_basics.md)
|
- [Docker Basics](system_administrators/computer_it_basics/docker_basics.md)
|
||||||
- [Git and GitHub Basics](system_administrators/computer_it_basics/git_github_basics.md)
|
- [Git and GitHub Basics](system_administrators/computer_it_basics/git_github_basics.md)
|
||||||
|
- [Gitea](system_administrators/computer_it_basics/gitea/gitea_toc.md)
|
||||||
|
- [Gitea Basics](system_administrators/computer_it_basics/gitea/gitea_basics.md)
|
||||||
|
- [Gitea API](system_administrators/computer_it_basics/gitea/gitea_api.md)
|
||||||
- [Firewall Basics](system_administrators/computer_it_basics/firewall_basics/firewall_basics.md)
|
- [Firewall Basics](system_administrators/computer_it_basics/firewall_basics/firewall_basics.md)
|
||||||
- [UFW Basics](system_administrators/computer_it_basics/firewall_basics/ufw_basics.md)
|
- [UFW Basics](system_administrators/computer_it_basics/firewall_basics/ufw_basics.md)
|
||||||
- [Firewalld Basics](system_administrators/computer_it_basics/firewall_basics/firewalld_basics.md)
|
- [Firewalld Basics](system_administrators/computer_it_basics/firewall_basics/firewalld_basics.md)
|
||||||
@ -265,12 +281,20 @@
|
|||||||
- [IPFS on a Micro VM](system_administrators/advanced/ipfs/ipfs_microvm.md)
|
- [IPFS on a Micro VM](system_administrators/advanced/ipfs/ipfs_microvm.md)
|
||||||
- [MinIO Operator with Helm3](system_administrators/advanced/minio_helm3.md)
|
- [MinIO Operator with Helm3](system_administrators/advanced/minio_helm3.md)
|
||||||
- [Hummingbot](system_administrators/advanced/hummingbot.md)
|
- [Hummingbot](system_administrators/advanced/hummingbot.md)
|
||||||
- [AI & ML Workloads](system_administrators/advanced/ai_ml_workloads.md)
|
- [AI & ML Workloads](system_administrators/advanced/ai_ml_workloads/ai_ml_workloads_toc.md)
|
||||||
|
- [CPU and Llama](system_administrators/advanced/ai_ml_workloads/cpu_and_llama.md)
|
||||||
|
- [GPU and Pytorch](system_administrators/advanced/ai_ml_workloads/gpu_and_pytorch.md)
|
||||||
|
- [GPU and Fooocus](system_administrators/advanced/ai_ml_workloads/gpu_and_fooocus.md)
|
||||||
- [Ecommerce](system_administrators/advanced/ecommerce/ecommerce.md)
|
- [Ecommerce](system_administrators/advanced/ecommerce/ecommerce.md)
|
||||||
- [WooCommerce](system_administrators/advanced/ecommerce/woocommerce.md)
|
- [WooCommerce](system_administrators/advanced/ecommerce/woocommerce.md)
|
||||||
- [nopCommerce](system_administrators/advanced/ecommerce/nopcommerce.md)
|
- [nopCommerce](system_administrators/advanced/ecommerce/nopcommerce.md)
|
||||||
- [HTTPS with Caddy](system_administrators/advanced/https_caddy.md)
|
- [HTTPS with Caddy](system_administrators/advanced/https_caddy.md)
|
||||||
- [Node Status Bot](system_administrators/advanced/node_status_bot.md)
|
- [Node Status Bot](system_administrators/advanced/node_status_bot.md)
|
||||||
|
- [Minetest](system_administrators/advanced/minetest.md)
|
||||||
|
- [Remote Desktop and GUI](system_administrators/getstarted/remote-desktop_gui/remote-desktop_gui.md)
|
||||||
|
- [Cockpit: a Web-based Interface for Servers](system_administrators/getstarted/remote-desktop_gui/cockpit_guide/cockpit_guide.md)
|
||||||
|
- [XRDP: an Open-Source Remote Desktop Protocol](system_administrators/getstarted/remote-desktop_gui/xrdp_guide/xrdp_guide.md)
|
||||||
|
- [Apache Guacamole: a Clientless Remote Desktop Gateway](system_administrators/getstarted/remote-desktop_gui/guacamole_guide/guacamole_guide.md)
|
||||||
- [ThreeFold Token](threefold_token/threefold_token.md)
|
- [ThreeFold Token](threefold_token/threefold_token.md)
|
||||||
- [TFT Bridges](threefold_token/tft_bridges/tft_bridges.md)
|
- [TFT Bridges](threefold_token/tft_bridges/tft_bridges.md)
|
||||||
- [TFChain-Stellar Bridge](threefold_token/tft_bridges/tfchain_stellar_bridge.md)
|
- [TFChain-Stellar Bridge](threefold_token/tft_bridges/tfchain_stellar_bridge.md)
|
||||||
@ -295,12 +319,6 @@
|
|||||||
- [FAQ](faq/faq.md)
|
- [FAQ](faq/faq.md)
|
||||||
- [Knowledge Base](manual/knowledge_base.md)
|
- [Knowledge Base](manual/knowledge_base.md)
|
||||||
- [About](about/about.md)
|
- [About](about/about.md)
|
||||||
- [ThreeFold History](about/threefold_history.md)
|
|
||||||
- [Token History](about/token_history.md)
|
|
||||||
- [Genesis Pool](about/genesis_pool.md)
|
|
||||||
- [Genesis Pool Dubai](about/genesis_pool_dubai.md)
|
|
||||||
- [Genesis Pool Ghent](about/genesis_pool_ghent.md)
|
|
||||||
- [Genesis Pool Details](about/genesis_block_pool_details.md)
|
|
||||||
- [ThreeFold Tech](about/threefold_tech.md)
|
- [ThreeFold Tech](about/threefold_tech.md)
|
||||||
- [Organisation Structure](about/orgstructure.md)
|
- [Organisation Structure](about/orgstructure.md)
|
||||||
- [Governance](about/governance.md)
|
- [Governance](about/governance.md)
|
||||||
@ -325,7 +343,6 @@
|
|||||||
- [TFGrid v3.0.0 Alpha-4](about/roadmap/releasenotes/tfgrid_release_3_0_a4.md)
|
- [TFGrid v3.0.0 Alpha-4](about/roadmap/releasenotes/tfgrid_release_3_0_a4.md)
|
||||||
- [TFGrid v3.0.0 Alpha-2](about/roadmap/releasenotes/tfgrid_release_3_0_a2.md)
|
- [TFGrid v3.0.0 Alpha-2](about/roadmap/releasenotes/tfgrid_release_3_0_a2.md)
|
||||||
- [TFGrid v3.0.0](about/roadmap/releasenotes/tfgrid_release_3_0.md)
|
- [TFGrid v3.0.0](about/roadmap/releasenotes/tfgrid_release_3_0.md)
|
||||||
- [ThreeFold Token](about/token_overview/token_overview.md)
|
|
||||||
- [Technology](tech/technology_toc.md)
|
- [Technology](tech/technology_toc.md)
|
||||||
- [Introduction](tech/technology.md)
|
- [Introduction](tech/technology.md)
|
||||||
- [The Internet Today](tech/internet_today.md)
|
- [The Internet Today](tech/internet_today.md)
|
||||||
|
@ -68,6 +68,8 @@
|
|||||||
- [**Requirements**](projectinca/requirements.md)
|
- [**Requirements**](projectinca/requirements.md)
|
||||||
- [Funding](projectinca/funding.md)
|
- [Funding](projectinca/funding.md)
|
||||||
- [P2P Promotion](projectinca/peer2peer_promotion.md)
|
- [P2P Promotion](projectinca/peer2peer_promotion.md)
|
||||||
|
- [Status](projectinca/status.md)
|
||||||
|
- [Questions](projectinca/questions.md)
|
||||||
- [Collaboration](projectinca/collab.md)
|
- [Collaboration](projectinca/collab.md)
|
||||||
- [Principles](projectinca/collaboration.md)
|
- [Principles](projectinca/collaboration.md)
|
||||||
- [Messaging](tfgrid3/messaging.md)
|
- [Messaging](tfgrid3/messaging.md)
|
||||||
|
@ -1,69 +0,0 @@
|
|||||||
<h1> Genesis Pool Details </h1>
|
|
||||||
|
|
||||||
<h2>Table of Contents </h2>
|
|
||||||
|
|
||||||
- [Genesis Pool](#genesis-pool)
|
|
||||||
- [Genesis Block](#genesis-block)
|
|
||||||
- [Genesis Block Value](#genesis-block-value)
|
|
||||||
- [Calculation](#calculation)
|
|
||||||
- [Genesis Pool Details](#genesis-pool-details)
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Genesis Pool
|
|
||||||
|
|
||||||
Genesis pool is the initial capacity with which the network started, was available when the project officially launched (blockchain launch March 2018).
|
|
||||||
|
|
||||||
- +-300 computer (all owned by ThreeFold_Dubai)
|
|
||||||
- Belgium: 117+30 (hosted by BetterToken)
|
|
||||||
- Dubai: 148 (hosted by TF FZC itself)
|
|
||||||
- total estimate resource/compute units
|
|
||||||
- CRU: 4800,
|
|
||||||
- HRU: 8100000
|
|
||||||
- MRU: 18600
|
|
||||||
- SRU: 106000
|
|
||||||
|
|
||||||
## Genesis Block
|
|
||||||
|
|
||||||
Genesis block is the first block registered in the blockchain. This consists of a number of TFT, in our case 695M TFT.
|
|
||||||
|
|
||||||
> Maximum amount of tokens in the ThreeFold Blockchain at launch = 100 Billion (in other words genesis pool < 1% at start of max nr TFT)
|
|
||||||
|
|
||||||
### Genesis Block Value
|
|
||||||
|
|
||||||
It's hard to define the value of the genesis block when it was calculated, there was no established TFT price.
|
|
||||||
|
|
||||||
- If TFT price = USD 0.01: +-7M USD (this token price has not been established but could be 2016-17)
|
|
||||||
- Summer 2023 the price is back on USD 0.01, which we believe is too low for the value created, lets hope for a better future.
|
|
||||||
|
|
||||||
### Calculation
|
|
||||||
|
|
||||||
To come up with a reasonable number and show the community that there was hardware available for the genesis block, we made an excel calculation.
|
|
||||||
|
|
||||||
- Servers as part of genesis pool calculation
|
|
||||||
- +-300 computer (all owned by ThreeFold_Dubai)
|
|
||||||
- Belgium: 117+30 (hosted by BetterToken)
|
|
||||||
- Dubai: 148 (hosted by TF FZC itself)
|
|
||||||
- Hardware as used in many years before token launch (March 2018)
|
|
||||||
- At least 100+ servers over quite some years
|
|
||||||
- Total estimate resource/compute units
|
|
||||||
- CRU: 4,800
|
|
||||||
- HRU: 8,100,000
|
|
||||||
- MRU: 18,600
|
|
||||||
- SRU: 106,000
|
|
||||||
- Cloud Units
|
|
||||||
- Results in 3,927 CU and 8,225 SU
|
|
||||||
- The farming rules used were farming/minting rules v1 but with no difficulty level and TFT price 0.01
|
|
||||||
- Duration
|
|
||||||
- We took +- 1.5 years in our calculation
|
|
||||||
- Averaged out, it's for sure not exact science
|
|
||||||
- But we can say that the amount of capacity listed has been available long enough for our engineers during the pre-launch period. Probably not with those exact listed servers but in general.
|
|
||||||
- Result: **695M TFT**
|
|
||||||
|
|
||||||
_The purpose of this exercise is to demonstrate there is a reasoning behind the 695M TFT and computers which have been available. It's not intended as exact proof nor defense. We believe the value given was in line with the situation at that time._
|
|
||||||
|
|
||||||
## Genesis Pool Details
|
|
||||||
|
|
||||||
- Block 0: [Block 0 on Explorer](https://explorer2.threefoldtoken.com/hash.html?hash=a2ee0aa706c9de46ec57dbba1af8d352fbcc3cc5e9626fc56337fd5e9ca44c8d)
|
|
||||||
- Genesis Block Code: [Code of Block 0](https://github.com/threefoldfoundation/tfchain/blob/master/pkg/config/config.go#L103)
|
|
||||||
|
|
@ -1,70 +0,0 @@
|
|||||||
<h1> Genesis Pool </h1>
|
|
||||||
|
|
||||||
<h2>Table of Contents </h2>
|
|
||||||
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [Genesis Pool Token Usage](#genesis-pool-token-usage)
|
|
||||||
- [Remarks](#remarks)
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
At the end of March 2018, ThreeFold launched the public blockchain.
|
|
||||||
|
|
||||||
ThreeFold developed their own blockchain software called Rivine, which was probably the first proof of blockstake blockchain in the world. We did not like the way how the other blockchains at that time were doing proof of work, which is basically burning a lot of energy to prove the validity of their blockchain.
|
|
||||||
|
|
||||||
Rivine is a fork from the blockchain work done by the team of SIA and since then a lot of work has been done on it to fulfill our own requirements. The Rivine blockchain will no longer be used after May 2020.
|
|
||||||
|
|
||||||
ThreeFold is the result of more than 20 years of work in the Internet space, over a number of companies.
|
|
||||||
|
|
||||||
The technology used at start in March 2018 has been developed mainly out of three companies: ThreeFold_Dubai, BetterToken(bettertoken) and GreenIT Globe. Later in 2018, TF Tech was spun off from our incubator.
|
|
||||||
|
|
||||||
TF Tech is a company born out of our Incubator called [Incubaid](http://www.incubaid.com/) in Belgium.
|
|
||||||
|
|
||||||
TF Tech has a purpose to further develop the software and commercialize the capabilities on a global basis, mainly by working together with tech partners.
|
|
||||||
|
|
||||||
The public version of our blockchain was started March 2018. The servers used during development and mining tokens already started years before.
|
|
||||||
|
|
||||||
Many hundreds of servers have been used to develop the technology which now makes up our ThreeFold_Grid.
|
|
||||||
|
|
||||||
+-300 servers are the foundation of our TF Grid.
|
|
||||||
|
|
||||||
Most of the servers are in Dubai and in Ghent (Belgium).
|
|
||||||
|
|
||||||
- To see the [genesis pool in Ghent, see here](genesis_pool_ghent.md)
|
|
||||||
- To see the [genesis pool in Dubai, see here](genesis_pool_dubai.md)
|
|
||||||
|
|
||||||
All genesis pools were owned by the foundation. Many of those servers are at this point no longer active. The operations were done by ThreeFold_Dubai and BetterToken as Farming Cooperative.
|
|
||||||
|
|
||||||
> For information about genesis pool/block, see [here](genesis_block_pool_details.md).
|
|
||||||
|
|
||||||
## Genesis Pool Token Usage
|
|
||||||
|
|
||||||
- A lot of the genesis pool tokens went to the original shareholders of a company who created a lot of the technology which was the basis at that time for ThreeFold.
|
|
||||||
- Most of these tokens are locked up and are not tradeable.
|
|
||||||
- This was a deal made mid 2018 and provided the ThreeFold Dubai with technology and a global engineering team.
|
|
||||||
- The other part went to ThreeFold Dubai, to allow the Foundation to promote & further grow the project.
|
|
||||||
|
|
||||||
> [See Token Overview](token_overview.md) for more details.
|
|
||||||
|
|
||||||
The tokens were used from out of ThreeFold_Dubai to create value for the ThreeFold Grid.
|
|
||||||
|
|
||||||
- Initial funding: sell TFT as future IT capacity
|
|
||||||
- IT capacity delivered amongst others from the computers deployed by genesis pools (+300 servers)
|
|
||||||
- grants to community, bounties for coders, evangelists, ...
|
|
||||||
- max bounty given to contributors/founders = 2.5m TFT
|
|
||||||
- funding for projects like coding, marketing, ...
|
|
||||||
- There is a token grant program, but not really active yet.
|
|
||||||
- Fund the day-to-day operation of threefold_dubai
|
|
||||||
- Fund some development projects for our open source technology
|
|
||||||
- Public exchange fees
|
|
||||||
- Operational costs of keeping the genesis pool operational (engineers, data center, bandwidth, ...)
|
|
||||||
- Reward for the ThreeFold larger community and contributors
|
|
||||||
|
|
||||||
## Remarks
|
|
||||||
|
|
||||||
- ThreeFold_Dubai is run as a [not-for-profit organization](legal@@definitions_legal)
|
|
||||||
- All (future) profits generated, tokens=IT capacity sold are used to promote and grow the ThreeFold Project.
|
|
||||||
- None of the potential profits generated go to the shareholders of the company.
|
|
||||||
- Investments and loans given will of course be paid back to the relevant investors.
|
|
@ -1,7 +0,0 @@
|
|||||||
## The Genesis Pool Dubai
|
|
||||||
|
|
||||||
![](img/genesispool_1.jpg)
|
|
||||||
![](img/genesispool_2.jpg)
|
|
||||||
|
|
||||||
|
|
||||||
Read more about ThreeFold Dubai [here](threefold_dubai.md).
|
|
@ -1,11 +0,0 @@
|
|||||||
|
|
||||||
## The Genesis Pool (Ghent)
|
|
||||||
|
|
||||||
|
|
||||||
![](img/lochristi_1_.jpg)
|
|
||||||
![](img/lochristi_2_.jpg)
|
|
||||||
![](img/lochristi_3.jpg)
|
|
||||||
![](img/lochristi_4.jpg)
|
|
||||||
![](img/lochristi_5_.jpg)
|
|
||||||
![](img/lochristi_6_.jpg)
|
|
||||||
![](img/lochristi_7.jpg)
|
|
@ -1,59 +0,0 @@
|
|||||||
<h1> ThreeFold History </h1>
|
|
||||||
|
|
||||||
<h2>Table of Contents</h2>
|
|
||||||
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [History](#history)
|
|
||||||
- [ThreeFold Project Funding Total](#threefold-project-funding-total)
|
|
||||||
- [Status](#status)
|
|
||||||
- [Genesis Pool](#genesis-pool)
|
|
||||||
- [History of Tokens](#history-of-tokens)
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
The project, now in its sixth year and is gratefulf or the support of its community and commercial entity [ThreeFold Tech](https://github.com/threefoldtech).
|
|
||||||
|
|
||||||
ThreeFold is fundamentally a decentralized initiative. Within this framework, ThreeFold Dubai plays a pivotal role in championing and advancing the ThreeFold Grid and the broader movement.
|
|
||||||
|
|
||||||
Our founders have largely retained their tokens, with only minimal sales, if any. Their intent is clear: they plan to hold onto their tokens until the grid achieves global recognition and the token value surpasses 0.2 USD.
|
|
||||||
|
|
||||||
## History
|
|
||||||
|
|
||||||
In the earlier days of ThreeFold, there were multiple teams collaborating, but the two core teams were located in Dubai and Belgium.
|
|
||||||
|
|
||||||
A group of early supporters bought IT capacity (through buying TFT) from our Genesis pool and our early farmers. These buyers could use their TFT to buy IT capacity from [ThreeFold Dubai](threefold_dubai.md) or [BetterToken](bettertoken.md) BV until April 2020, or from the TF Grid directly in a fully decentralized way starting May 2020.
|
|
||||||
|
|
||||||
The ThreeFold Grid is the result of many farmers using the open source technology of ThreeFold Tech.
|
|
||||||
|
|
||||||
Originally, the technology used was created by three companies: GreenIT Globe, ThreeFold Dubai & ThreeFold Tech. The last two still actively participate in the creation of tech components or content as used by all ThreeFold Farmers today.
|
|
||||||
|
|
||||||
## ThreeFold Project Funding Total
|
|
||||||
|
|
||||||
How much funding was used to make the ThreeFold project possible?
|
|
||||||
|
|
||||||
> +- 50M USD
|
|
||||||
|
|
||||||
- +20M USD for all farming (thank you farmers)
|
|
||||||
- 15M USD in ThreeFold Tech as convertible loan (by 50+ investors)
|
|
||||||
- 5M USD in early IT capacity purchases (as TFT)
|
|
||||||
- +10M USD funding from Incubaid/Kristof (estimate)
|
|
||||||
- ThreeFold Tech was established Oct 2018, from out of Incubaid
|
|
||||||
- Related to people related to [Incubaid](https://www.incubaid.com)
|
|
||||||
- Over quite some years, multiple companies/projects
|
|
||||||
|
|
||||||
## Status
|
|
||||||
|
|
||||||
We have worked with multiple regions over the years to look for appropriate structures, we realize we need more funding as such we have launched a venture creator in mauritius who will hopefully invest 7.5m EUR in TFTech as well as in TF Dubai.
|
|
||||||
|
|
||||||
See our [overview of our companies](threefold_companies.md)
|
|
||||||
|
|
||||||
|
|
||||||
## Genesis Pool
|
|
||||||
|
|
||||||
To kickstart the ThreeFold Grid back in 2017 the foundation committed large amounts of capacity to the grid. This was called the [Genesis Pool](genesis_pool.md) and the tokens sold as mentioned could be used to use capacity from this pool and more.
|
|
||||||
|
|
||||||
## History of Tokens
|
|
||||||
|
|
||||||
For more info about history of tokens, see [token history](token_history.md).
|
|
@ -1,96 +0,0 @@
|
|||||||
<h1> Token History </h1>
|
|
||||||
|
|
||||||
<h2>Table of Contents </h2>
|
|
||||||
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [Quick History Overview](#quick-history-overview)
|
|
||||||
- [Organic Growth](#organic-growth)
|
|
||||||
- [Farming Model Improvements](#farming-model-improvements)
|
|
||||||
- [TFT Versions](#tft-versions)
|
|
||||||
- [Migration](#migration)
|
|
||||||
- [Migration from TFTv1 Rivine to TFTv1 Stellar (2020)](#migration-from-tftv1-rivine-to-tftv1-stellar-2020)
|
|
||||||
- [Migration from TFTv1 Stellar (Staking Pool=TFTA) to TFTv2 Stellar (Trading or Production Pool=TFT)](#migration-from-tftv1-stellar-staking-pooltfta-to-tftv2-stellar-trading-or-production-pooltft)
|
|
||||||
- [Technical Information](#technical-information)
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
We present the ThreeFold token history and the path from TFT v1 towards TFT v2.
|
|
||||||
|
|
||||||
## Quick History Overview
|
|
||||||
|
|
||||||
- More than 10 years ago, this project started from out of our incubator (see [Incubaid](https://www.incubaid.com))
|
|
||||||
- More than 6 years ago TF Foundation started deploying capacity for development purposes
|
|
||||||
- This became our ([our genesis pool](genesis_pool.md)), which is the beginning of farming
|
|
||||||
- In 2017-18, value of the genesis pools were about 7m USD in TFT (tokens did not exist yet)
|
|
||||||
- Genesis pools are owned by ThreeFold Dubai (ThreeFold_Dubai).
|
|
||||||
- March 2018 our first-generation blockchain for the ThreeFold_Token saw daylight
|
|
||||||
- The TFT v1 was launched on a blockchain called Rivine (PTO)
|
|
||||||
- The genesis pool resulted in the first batch initial TFT
|
|
||||||
- The blockchain nodes were hosted by +30 different parties completely unrelated to each other
|
|
||||||
- In Q2 2019, ThreeFold_Dubai launched our generation 1 of our TF Grid
|
|
||||||
- April 2020 ThreeFold_Dubai launched the TFGrid v2.0 which is now public and usable by the world
|
|
||||||
- ThreeFold has a new website and a new wiki
|
|
||||||
- The farmers & TFT holders have at their own will upgraded their wallets, zero-nodes, ...
|
|
||||||
- May 2020: ThreeFold_Dubai launched our 2nd version of our token called TFT but this time on Stellar
|
|
||||||
- The original TFTv1 kept all same properties and benefits and is now called TFTA also on Stellar (is technology choice), anyone can move from TFTv1 to TFTv2
|
|
||||||
- TF Foundation Dubai has provisioned the TFTv1 & TFTv2 on Stellar blockchain, but has no influence or access to any of the wallets or for that matter the 3Nodes (the nodes providing IT capacity)
|
|
||||||
- See below for more info, this was the result of 12 months of work with our community and of-course consensus to do this.
|
|
||||||
|
|
||||||
## Organic Growth
|
|
||||||
|
|
||||||
We didn't artificially pump the value of the tokens.
|
|
||||||
|
|
||||||
We did not issue (print) tokens and go out onto an exchange to offer these tokens to the market. This is referred to as a public ICO. Some ICOs were not very clean in how they created hype and convinced people to invest. Because of our decision not to do a public ICO, we have not been able to raise much money, but we feel that this was more aligned with our values.
|
|
||||||
|
|
||||||
We have sold some TFT over the counter but please note every buyer could at any point in time use these TFTs to buy IT capacity, this makes these TFT purposeful, even from the very start.
|
|
||||||
|
|
||||||
## Farming Model Improvements
|
|
||||||
|
|
||||||
In Q2 2020 we were launching TF Grid 2.0 with updated minting rules. As part of these farming rules the max number of tokens became 4 billion, which changes the optics of the original size of the genesis token pool.
|
|
||||||
|
|
||||||
In Q3 2021 we launched TF Grid 3.0 which has again brought improvement to the farming model. Its up to the farmers to choose if they want to change to the new farming model or not.
|
|
||||||
|
|
||||||
### TFT Versions
|
|
||||||
|
|
||||||
| | version 1 Rivine | version 1 Stellar | version 2 Stellar |
|
|
||||||
| ------------------------------- | --------------------------- | ----------------- | --------------------------- |
|
|
||||||
| blockchain tech | Rivine, proof of blockstake | Public, Stellar | Public, Stellar |
|
|
||||||
| on public blockchain | march 2018 | 2020 May | 2020 May |
|
|
||||||
| farmed since | +-2017 | 2020 May | tbd |
|
|
||||||
| freely transferable (\*) | YES | YES | YES |
|
|
||||||
| complete blockchain feature set | YES | YES | YES |
|
|
||||||
| decentralized exchange | YES (atomic swap) | YES (Stellar) | YES (Stellar) |
|
|
||||||
| public exchange | BTC Alpha till Dec 2019 | Stellar | Stellar, BTC Alpha & Liquid (until August 2022) |
|
|
||||||
| freely tradable on exchange | YES | YES | YES |
|
|
||||||
| Name on Blockchain | TFT | TFTA | TFT |
|
|
||||||
| Purpose | v1 token | Staking Pool | Trading Pool |
|
|
||||||
|
|
||||||
## Migration
|
|
||||||
|
|
||||||
### Migration from TFTv1 Rivine to TFTv1 Stellar (2020)
|
|
||||||
|
|
||||||
- TF Tech decided to no longer support development of Rivine, at this time there are better technologies available as blockchain
|
|
||||||
- The Foundation investigated many blockchain platforms & recommended to use Stellar
|
|
||||||
- Jimber (company which maintains the wallet, which is open source code), has made the changes in the wallet to be able to support this new blockchain
|
|
||||||
- The conversation had to be a mandatory one, because otherwise there would be the potential of double-spending problems over both simultaneously-active blockchains
|
|
||||||
- What happened here can be compared to a website deciding to change the database backend (change from e.g. MS Sql to Oracle). The users of the website should not have to be aware of this migration
|
|
||||||
- Every user had to do the transaction themselves, no developer or anyone else had control over this migration step. This was an automatic step
|
|
||||||
- Everyone can use the validation scripts available to check the correct conversion between two blockchain technologies. The validation scripts prove that every transaction in the conversion happened well
|
|
||||||
|
|
||||||
### Migration from TFTv1 Stellar (Staking Pool=TFTA) to TFTv2 Stellar (Trading or Production Pool=TFT)
|
|
||||||
|
|
||||||
- See [TFTA to TFT](legal@@tfta_to_tft)
|
|
||||||
|
|
||||||
### Technical Information
|
|
||||||
|
|
||||||
[TFTA TrustLine](https://stellar.expert/explorer/public/asset/TFTA-GBUT4GP5GJ6B3XW5PXENHQA7TXJI5GOPW3NF4W3ZIW6OOO4ISY6WNLN2)
|
|
||||||
|
|
||||||
Accounts that got initial balances migrated them from the previous blockchain, [rivine](https://explorer2.threefoldtoken.com/).
|
|
||||||
|
|
||||||
To validate this, each migration transaction contain hash of the rivine lock transaction in their memo in hex format.
|
|
||||||
|
|
||||||
[Rivine block explorer](https://explorer2.threefoldtoken.com/) can be used for validation purposes.
|
|
||||||
|
|
||||||
> Important note: The ThreeFold Token (TFT) is not an investment instrument. TFTs represent IT capacity on the ThreeFold Grid, farmers create TFT, developers use TFT.
|
|
Before Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 23 KiB |
@ -1,105 +0,0 @@
|
|||||||
<h1> ThreeFold Special Wallets </h1>
|
|
||||||
|
|
||||||
<h2>Table of Contents</h2>
|
|
||||||
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [Exchange and OTC Wallets](#exchange-and-otc-wallets)
|
|
||||||
- [ThreeFold Contribution Wallets](#threefold-contribution-wallets)
|
|
||||||
- [Wisdom Council Wallets](#wisdom-council-wallets)
|
|
||||||
- [Important Note](#important-note)
|
|
||||||
- [Remarks](#remarks)
|
|
||||||
- [Proof-of-Utilization Wallets](#proof-of-utilization-wallets)
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
We present special wallets that hold a given amount of TFT.
|
|
||||||
|
|
||||||
## Exchange and OTC Wallets
|
|
||||||
|
|
||||||
| **Description** | **TFT Balance** | **Address** |
|
|
||||||
| ------------------ | ----------- | -------------------------------------------------------------------------------- |
|
|
||||||
| Liquid Exchange #1 | !!wiki.include page:'manual:ga7opn4a3jnhlphpewm4pjdoyydynzom7es6yl3o7nc3pry3v3ux6anm.md' | [GA7OPN4A3JNHLPHPEWM4PJDOYYDYNZOM7ES6YL3O7NC3PRY3V3UX6ANM](https://stellar.expert/explorer/public/account/GA7OPN4A3JNHLPHPEWM4PJDOYYDYNZOM7ES6YL3O7NC3PRY3V3UX6ANM) |
|
|
||||||
| Liquid Exchange #2 | !!wiki.include page:'manual:gdskfynmzwtb3v5an26ceaq27643q3kb4x6my4uto2liidfnd4spqzyu.md' | [GDSKFYNMZWTB3V5AN26CEAQ27643Q3KB4X6MY4UTO2LIIDFND4SPQZYU](https://stellar.expert/explorer/public/account/GDSKFYNMZWTB3V5AN26CEAQ27643Q3KB4X6MY4UTO2LIIDFND4SPQZYU) |
|
|
||||||
| gettft.com | !!wiki.include page:'manual:gbqhn7rl4lsrpr2tt74id2ujpz2axchqy2wkgctdljm3nxvj7gqhucod.md' | [GBQHN7RL4LSRPR2TT74ID2UJPZ2AXCHQY2WKGCTDLJM3NXVJ7GQHUCOD](https://stellar.expert/explorer/public/account/GBQHN7RL4LSRPR2TT74ID2UJPZ2AXCHQY2WKGCTDLJM3NXVJ7GQHUCOD) |
|
|
||||||
| BTC-Alpha Exchange | !!wiki.include page:'manual:gbtpaxxp6534upc4mlngfgjwcd6dnsrvippozwxaqawi4fktlojy2a2s.md' | [GBTPAXXP6534UPC4MLNGFGJWCD6DNSRVIPPOZWXAQAWI4FKTLOJY2A2S](https://stellar.expert/explorer/public/account/GBTPAXXP6534UPC4MLNGFGJWCD6DNSRVIPPOZWXAQAWI4FKTLOJY2A2S) |
|
|
||||||
|
|
||||||
## ThreeFold Contribution Wallets
|
|
||||||
|
|
||||||
| **Description** | **TFT Balance** | **Address** |
|
|
||||||
| ------------------------------- | ----------- | -------------------------------------------------------------------------------- |
|
|
||||||
| TF DAY2DAY operations | !!wiki.include page:'manual:gb2c5hczywngvm6jgxdwqbjtmuy4s2hpptcah63hfaqvl2alxdw7ssj7.md' | [GB2C5HCZYWNGVM6JGXDWQBJTMUY4S2HPPTCAH63HFAQVL2ALXDW7SSJ7](https://stellar.expert/explorer/public/account/GB2C5HCZYWNGVM6JGXDWQBJTMUY4S2HPPTCAH63HFAQVL2ALXDW7SSJ7) |
|
|
||||||
| TF Promotion Wallet | !!wiki.include page:'manual:gdlvib44lvonm5k67lupsfzmsx7g2rlyvbm5mmhuj4naqju7ch4hbjbo.md' | [GDLVIB44LVONM5K67LUPSFZMSX7G2RLYVBM5MMHUJ4NAQJU7CH4HBJBO](https://stellar.expert/explorer/public/account/GDLVIB44LVONM5K67LUPSFZMSX7G2RLYVBM5MMHUJ4NAQJU7CH4HBJBO) |
|
|
||||||
| TF Grants Wallet | !!wiki.include page:'manual:gdkxtuynw4bjkdm2l7b5xuyfuisv52kuu4g7vpnlf4zsikburm622ypz.md' | [GDKXTUYNW4BJKDM2L7B5XUYFUISV52KUU4G7VPNLF4ZSIKBURM622YPZ](https://stellar.expert/explorer/public/account/GDKXTUYNW4BJKDM2L7B5XUYFUISV52KUU4G7VPNLF4ZSIKBURM622YPZ) |
|
|
||||||
| ThreeFold Carbon Credit Funding | !!wiki.include page:'manual:gdijy6k2bbrirx423zfuykkfdn66xp2kmsbzfqse2psndz6edvqtrlsu.md' | [GDIJY6K2BBRIRX423ZFUYKKFDN66XP2KMSBZFQSE2PSNDZ6EDVQTRLSU](https://stellar.expert/explorer/public/account/GDIJY6K2BBRIRX423ZFUYKKFDN66XP2KMSBZFQSE2PSNDZ6EDVQTRLSU) |
|
|
||||||
| TF Team Wallet | !!wiki.include page:'manual:gcwhwdrxypxqaoymqkb66szplm6uankgmsl4sp7lsoia6ottoyq6hbih.md' | [GCWHWDRXYPXQAOYMQKB66SZPLM6UANKGMSL4SP7LSOIA6OTTOYQ6HBIH](https://stellar.expert/explorer/public/account/GCWHWDRXYPXQAOYMQKB66SZPLM6UANKGMSL4SP7LSOIA6OTTOYQ6HBIH) |
|
|
||||||
|
|
||||||
## Wisdom Council Wallets
|
|
||||||
|
|
||||||
| **Description** | **TFT Balance** | **Address** |
|
|
||||||
| --------------------------------------- | ----------- | -------------------------------------------------------------------------------- |
|
|
||||||
| Liquidity/Ecosystem Contribution Wisdom | !!wiki.include page:'manual:gbv734i2sv4yddpvjmyxu3iz2aiu5geajrad4e4bqg7ca2n63nxspmd6.md' | [GBV734I2SV4YDDPVJMYXU3IZ2AIU5GEAJRAD4E4BQG7CA2N63NXSPMD6](https://stellar.expert/explorer/public/account/GBV734I2SV4YDDPVJMYXU3IZ2AIU5GEAJRAD4E4BQG7CA2N63NXSPMD6) |
|
|
||||||
| TF Promotion Wisdom | !!wiki.include page:'manual:gai4c2bgoa3yhvqzzw7ow4fhoggywtubevnhb6mw4zafg7zaa7d5ipc3.md' | [GAI4C2BGOA3YHVQZZW7OW4FHOGGYWTUBEVNHB6MW4ZAFG7ZAA7D5IPC3](https://stellar.expert/explorer/public/account/GAI4C2BGOA3YHVQZZW7OW4FHOGGYWTUBEVNHB6MW4ZAFG7ZAA7D5IPC3) |
|
|
||||||
| TF Grants Wisdom | !!wiki.include page:'manual:gcej7dmulftt25uh4faagoz6ker4wxayqgjusiitqd527dgtksxkbqgr.md' | [GCEJ7DMULFTT25UH4FAAGOZ6KER4WXAYQGJUSIITQD527DGTKSXKBQGR](https://stellar.expert/explorer/public/account/GCEJ7DMULFTT25UH4FAAGOZ6KER4WXAYQGJUSIITQD527DGTKSXKBQGR) |
|
|
||||||
| TF Team Wisdom | !!wiki.include page:'manual:gaqxblfg4bzgivy6dbjvwe5eap3unhmia2pycuvly2juspvwpuf36bw4.md' | [GAQXBLFG4BZGIVY6DBJVWE5EAP3UNHMIA2PYCUVLY2JUSPVWPUF36BW4](https://stellar.expert/explorer/public/account/GAQXBLFG4BZGIVY6DBJVWE5EAP3UNHMIA2PYCUVLY2JUSPVWPUF36BW4) |
|
|
||||||
| Wisdom Council Locked | !!wiki.include page:'manual:gaugosylcx7jztqyf2k7rimhfwksa3wsi2oq4irkxmdmve6abjijmfqr.md' | [GAUGOSYLCX7JZTQYF2K7RIMHFWKSA3WSI2OQ4IRKXMDMVE6ABJIJMFQR](https://stellar.expert/explorer/public/account/GAUGOSYLCX7JZTQYF2K7RIMHFWKSA3WSI2OQ4IRKXMDMVE6ABJIJMFQR) |
|
|
||||||
|
|
||||||
## Important Note
|
|
||||||
|
|
||||||
ThreeFold DMCC (Dubai) is in the process of acquiring a substantial number of tokens. While these tokens possess liquidity from a technical standpoint, they are not currently accessible or traded on the open market. This reserve of tokens has been allocated for our upcoming commercial rollout, and their governance will be managed through consensus based system with input from the community.
|
|
||||||
|
|
||||||
## Remarks
|
|
||||||
|
|
||||||
- All wisdom council wallets are protected by multisignature of the members of the wisdom council
|
|
||||||
- All foundation wallets are protected by members of the foundation (4 on 6 need to sign)
|
|
||||||
- Signatures can be checked by going to detail of account and then to the stellar link
|
|
||||||
- The foundation will never spend tokens if the markets cannot support it and all proceeds are 100% used for the benefit of the ThreeFold project.
|
|
||||||
|
|
||||||
## Proof-of-Utilization Wallets
|
|
||||||
|
|
||||||
There are some wallets associated with [proof-of-utilization](proof_of_utilization.md). These wallets are on TFChain.
|
|
||||||
|
|
||||||
The addresses are the following:
|
|
||||||
|
|
||||||
- Mainnet ThreeFold Foundation: 5DCaGQfz2PH35EMJTHFMjc6Tk5SkqhjekVvrycY5M5xiYzis
|
|
||||||
- Mainnet Default Solution Provider: 5Dd6adUJH8wvqb9SPC96JdZ85nK1671MeMSxkPZ6Q7rE4byc
|
|
||||||
- Testnet ThreeFold Foundation: 5H6XYX17yJyjazoLVZqxxEPwMdGn99wginjmFBKtjvk8iJ3e
|
|
||||||
- Testnet Default Solution Provider: 5Esq6iLLBGGJFsCEXpoFhxHhqcaGqTvDasdwy8jPFDH1jYaM
|
|
||||||
- Staking Pool: 5CNposRewardAccount11111111111111111111111111FSU
|
|
||||||
|
|
||||||
To check the balance of any of those wallets, follow those steps:
|
|
||||||
|
|
||||||
- Go to the Polkadot API ([Mainnet](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftfchain.grid.tf#/chainstate), [Testnet](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftfchain.test.grid.tf#/chainstate))
|
|
||||||
- Under `selected state query`, select `system`
|
|
||||||
- On the right drop down menu, select `account(AccountId32): FrameSystemAccountInfo`
|
|
||||||
- Under `Option<AccountId32>`, write the wallet address of one of the three accounts displayed above
|
|
||||||
- Click on the `plus` button on the far right of the `selected state query` line.
|
|
||||||
|
|
||||||
As a general example, here's what it looks like:
|
|
||||||
|
|
||||||
![Wallet example](./img/polkadot_wallet_example.png)
|
|
||||||
|
|
||||||
Here are the outputs for three wallets shown above:
|
|
||||||
|
|
||||||
- Mainnet ThreeFold Foundation
|
|
||||||
|
|
||||||
![Mainnet TF Foundation Wallet](./img/wallet_tf_foundation_main.png)
|
|
||||||
|
|
||||||
- Mainnet Default Solution Provider
|
|
||||||
|
|
||||||
![Mainnet Solution Provider Wallet](./img/wallet_solution_provider_main.png)
|
|
||||||
|
|
||||||
- Testnet ThreeFold Foundation
|
|
||||||
|
|
||||||
![Testnet TF Foundation Wallet](./img/wallet_tf_foundation_test.png)
|
|
||||||
|
|
||||||
- Testnet Default Solution Provider
|
|
||||||
|
|
||||||
![Testnet Solution Provider Wallet](./img/wallet_solution_provider_test.png)
|
|
||||||
|
|
||||||
- Staking Pool
|
|
||||||
|
|
||||||
![Staking Pool Wallet](./img/wallet_staking_pool.png)
|
|
||||||
|
|
||||||
> Note: To get the proper TFT amount, you need to account fo the fact that TFT uses 7 decimal places. For this reason, to get the proper quantity in TFT, move the decimal place by dividing by 1e7 (i.e. 1x10⁷).
|
|
@ -1 +0,0 @@
|
|||||||
3340735.94
|
|
@ -1 +0,0 @@
|
|||||||
258.80
|
|
@ -1 +0,0 @@
|
|||||||
5000000.00
|
|
@ -1 +0,0 @@
|
|||||||
10468506.00
|
|
@ -1 +0,0 @@
|
|||||||
12447988.00
|
|
@ -1 +0,0 @@
|
|||||||
2908686.63
|
|
@ -1 +0,0 @@
|
|||||||
1832242.73
|
|
@ -1 +0,0 @@
|
|||||||
16999920.00
|
|
@ -1 +0,0 @@
|
|||||||
10000000.00
|
|
@ -1 +0,0 @@
|
|||||||
328241.81
|
|
@ -1 +0,0 @@
|
|||||||
10110962.98
|
|
@ -1 +0,0 @@
|
|||||||
12996500.00
|
|
@ -1 +0,0 @@
|
|||||||
14784445.77
|
|
@ -1 +0,0 @@
|
|||||||
0.00
|
|
@ -1,89 +0,0 @@
|
|||||||
<h1> ThreeFold Token Overview </h1>
|
|
||||||
|
|
||||||
<h2>Table of Contents </h2>
|
|
||||||
|
|
||||||
- [Introduction to TFT](#introduction-to-tft)
|
|
||||||
- [Proof-of-Capacity](#proof-of-capacity)
|
|
||||||
- [Proof-of-Utilization](#proof-of-utilization)
|
|
||||||
- [Proof-of-Utility Distribution Flow](#proof-of-utility-distribution-flow)
|
|
||||||
- [TFT Distribution](#tft-distribution)
|
|
||||||
- [TFT Marketcap and Market Price](#tft-marketcap-and-market-price)
|
|
||||||
- [Complemetary Information](#complemetary-information)
|
|
||||||
- [Disclaimer](#disclaimer)
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Introduction to TFT
|
|
||||||
|
|
||||||
ThreeFold tokens, or TFTs, are exclusively generated when new capacity is added to the TF Grid. There are no centralized issuers. Tokens have not been created out of thin air.
|
|
||||||
|
|
||||||
While the ThreeFold Grid can expand, a maximum of 1 billion TFTs can ever be in circulation. This limit ensures stability of value and incentivization for all stakeholders.
|
|
||||||
|
|
||||||
TFT lives on the Stellar Blockchain. TFT holders benefit from a big ecosystem of proven wallets and mediums of exchange.
|
|
||||||
|
|
||||||
By employing Stellar technology, TFT transactions and smart contracts are powered by one of the most energy-efficient blockchains available. Furthermore, TFT is the medium of exchange on the greenest internet network in the world. The market for farming, cultivating and trading TFT is open to all.
|
|
||||||
|
|
||||||
Anyone with internet connection, power supply and necessary hardware can become a Farmer or trade ThreeFold tokens (TFT).
|
|
||||||
|
|
||||||
By farming, buying, holding, and utilizing ThreeFold Tokens, you are actively supporting the expansion of the ThreeFold Grid and its use cases — creating a more sustainable, fair, and equally accessible Internet.
|
|
||||||
|
|
||||||
## Proof-of-Capacity
|
|
||||||
|
|
||||||
ThreeFold uses proof-of-capacity to mint tokens. Since the genenis pool, all tokens that are being minted are the result of farming. Minting will stop during 2024, to keep the total amount of TFT at 1 billion, instead of the previously planned 4 billion. Read more about this [here](https://forum.threefold.io/t/end-feb-2024-update-from-the-team/4233).
|
|
||||||
|
|
||||||
> For more details, see [Proof of Capacity](proof_of_capacity.md)
|
|
||||||
|
|
||||||
## Proof-of-Utilization
|
|
||||||
|
|
||||||
TFT is used on the TFGrid to purchase network, compute and storage resources through the proof-of-utilization protocol.
|
|
||||||
|
|
||||||
### Proof-of-Utility Distribution Flow
|
|
||||||
|
|
||||||
![](img/token_distribution.png)
|
|
||||||
|
|
||||||
> For more details, see [Proof-of-Utilization](proof_of_utilization.md)
|
|
||||||
|
|
||||||
## TFT Distribution
|
|
||||||
|
|
||||||
The supply distribution of TFT is as follows:
|
|
||||||
|
|
||||||
| Supply Distribution | Qty (Millions) |
|
|
||||||
| ------------------- | -------------- |
|
|
||||||
| Total supply | 942 |
|
|
||||||
| TF Foundation Supply | 162 |
|
|
||||||
| Circulating supply | 780 |
|
|
||||||
| Maximum supply | 1000 |
|
|
||||||
|
|
||||||
The total supply of TFT is distributed as follows:
|
|
||||||
|
|
||||||
| Total Supply Distribution | Qty (Millions) |
|
|
||||||
| ------------------------------------------- | -------------- |
|
|
||||||
| TF Foundation: Ecosystem Grants | 22 |
|
|
||||||
| TF Foundation: Promotion & Marketing Effort | 100 |
|
|
||||||
| TF Foundation: Ecosystem Contribution & Liquidity Exchanges | 40 |
|
|
||||||
| Genesis Pool & Farming Rewards | 780 |
|
|
||||||
|
|
||||||
## TFT Marketcap and Market Price
|
|
||||||
|
|
||||||
The TFT market price and marketcap are as follows:
|
|
||||||
|
|
||||||
| **Description** | **Value** |
|
|
||||||
| ------------------------- | ------------- |
|
|
||||||
| TFT Market Price | 0.028 USD |
|
|
||||||
| TFT Market Cap | 21,840,000 USD |
|
|
||||||
|
|
||||||
The market cap is equal to the product of the TFT market price and the circulating supply.
|
|
||||||
|
|
||||||
> Market Cap = (TFT Market Price) X (TFT Circulating Supply)
|
|
||||||
|
|
||||||
The values here are subject to change. Check the current market conditions.
|
|
||||||
|
|
||||||
## Complemetary Information
|
|
||||||
|
|
||||||
- [ThreeFold History](threefold_history.md)
|
|
||||||
- [Token History](token_history.md)
|
|
||||||
|
|
||||||
## Disclaimer
|
|
||||||
|
|
||||||
> Important Note: The ThreeFold Token (TFT) is not an investment instrument.
|
|
||||||
TFTs represent IT capacity on the ThreeFold Grid, farmers create TFT, developers use TFT.
|
|
@ -8,9 +8,5 @@ To deploy on the ThreeFold Grid, refer to the [System Administrators](system_adm
|
|||||||
|
|
||||||
- [Cloud Units](cloudunits.md)
|
- [Cloud Units](cloudunits.md)
|
||||||
- [Pricing](pricing_toc.md)
|
- [Pricing](pricing_toc.md)
|
||||||
- [Pricing Overview](pricing.md)
|
|
||||||
- [Staking Discounts](staking_discount_levels.md)
|
|
||||||
- [Cloud Pricing Compare](cloud_pricing_compare.md)
|
|
||||||
- [Grid Billing](grid_billing.md)
|
|
||||||
- [Resource Units](resource_units_calc_cloudunits.md)
|
- [Resource Units](resource_units_calc_cloudunits.md)
|
||||||
- [Resource Units Advanced](resourceunits_advanced.md)
|
- [Resource Units Advanced](resourceunits_advanced.md)
|
@ -23,7 +23,7 @@ Resource units are used to measure and convert capacity on the hardware level in
|
|||||||
| ------------ | ------------------------------------ | ---- |
|
| ------------ | ------------------------------------ | ---- |
|
||||||
| Core Unit | 1 Logical Core (Hyperthreaded Core) | CRU |
|
| Core Unit | 1 Logical Core (Hyperthreaded Core) | CRU |
|
||||||
| Mem Unit | 1 GB mem | MRU |
|
| Mem Unit | 1 GB mem | MRU |
|
||||||
| HD Unit | 1 GB | HRU |
|
| HDD Unit | 1 GB | HRU |
|
||||||
| SSD Unit | 1 GB | SRU |
|
| SSD Unit | 1 GB | SRU |
|
||||||
| Network Unit | 1 GB of bandwidth transmitted in/out | NRU |
|
| Network Unit | 1 GB of bandwidth transmitted in/out | NRU |
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
The [__ThreeFold Circle Tool__](https://circles.threefold.me ) is our own self-hosted (desktop only) project management tool based on [Taiga](https://www.taiga.io/), an open-source project management tool for cross-functional agile. It offers a lot of different project management kits and features such as the scrum board, kanban board, issues management, and many more.
|
The [__ThreeFold Circle Tool__](https://circles.threefold.me ) is our own self-hosted (desktop only) project management tool based on [Taiga](https://taiga.io/), an open-source project management tool for cross-functional agile. It offers a lot of different project management kits and features such as the scrum board, kanban board, issues management, and many more.
|
||||||
|
|
||||||
Our teams at ThreeFold use the Circle Tool to self-manage our tasks, thus it is deemed necessary for the new onboarded team members to learn how to use the tool. Unfortunately we only provide the desktop version of the tool at this moment since we normally manage our projects on the computer.
|
Our teams at ThreeFold use the Circle Tool to self-manage our tasks, thus it is deemed necessary for the new onboarded team members to learn how to use the tool. Unfortunately we only provide the desktop version of the tool at this moment since we normally manage our projects on the computer.
|
||||||
|
|
||||||
|
@ -15,10 +15,10 @@ The backend for the weblets is introduced with the [Javascript Client](developer
|
|||||||
<h2> Table of Contents </h2>
|
<h2> Table of Contents </h2>
|
||||||
|
|
||||||
- [Wallet Connector](wallet_connector.md)
|
- [Wallet Connector](wallet_connector.md)
|
||||||
- [TFGrid](tfgrid.md)
|
- [TFGrid](tfgrid/tfgrid.md)
|
||||||
- [Deploy](deploy.md)
|
- [Deploy](deploy/deploy.md)
|
||||||
- [Farms](farms.md)
|
- [Farms](farms/farms.md)
|
||||||
- [TFChain](tfchain.md)
|
- [TFChain](tfchain/tfchain.md)
|
||||||
|
|
||||||
## Advantages
|
## Advantages
|
||||||
|
|
||||||
@ -42,11 +42,12 @@ You can access the ThreeFold Dashboard on different TF Chain networks.
|
|||||||
- Deploys one thing at a time.
|
- 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.
|
- Might take sometime to deploy a solution like Peertube, so you should wait a little bit until it's fully running.
|
||||||
|
|
||||||
## Dashboard Backups
|
## List of Mainnet Backend Stacks
|
||||||
|
|
||||||
If the main Dashboard URLs are not working for any reason, the following URLs can be used. Those Dashboard URLs are fully independent of the main Dashboard URLs shown above.
|
We provide independent mainnet backend stacks. Here is the current list:
|
||||||
|
|
||||||
- [https://dashboard.02.dev.grid.tf](https://dashboard.02.dev.grid.tf) for Dev net
|
- [https://dashboard.grid.tf](https://dashboard.grid.tf)
|
||||||
- [https://dashboard.02.qa.grid.tf](https://dashboard.02.qa.grid.tf) for QA net
|
- [https://dashboard.be.grid.tf](https://dashboard.be.grid.tf)
|
||||||
- [https://dashboard.02.test.grid.tf](https://dashboard.02.test.grid.tf) for Test net
|
- [https://dashboard.fin.grid.tf](https://dashboard.fin.grid.tf)
|
||||||
- [https://dashboard.02.grid.tf](https://dashboard.02.grid.tf) for Main net
|
- [https://dashboard.sg.grid.tf](https://dashboard.sg.grid.tf)
|
||||||
|
- [https://dashboard.us.grid.tf](https://dashboard.us.grid.tf)
|
@ -11,14 +11,20 @@ Easily deploy your favourite applications on the ThreeFold grid with a click of
|
|||||||
- [Algorand](algorand.md)
|
- [Algorand](algorand.md)
|
||||||
- [CasperLabs](casper.md)
|
- [CasperLabs](casper.md)
|
||||||
- [Discourse](discourse.md)
|
- [Discourse](discourse.md)
|
||||||
|
- [Domains](domains.md)
|
||||||
- [Funkwhale](funkwhale.md)
|
- [Funkwhale](funkwhale.md)
|
||||||
|
- [Gitea](gitea.md)
|
||||||
|
- [Jenkins](jenkins.md)
|
||||||
|
- [Jitsi](jitsi.md)
|
||||||
- [Mattermost](mattermost.md)
|
- [Mattermost](mattermost.md)
|
||||||
- [Nextcloud](nextcloud.md)
|
- [Nextcloud](nextcloud.md)
|
||||||
- [Node Pilot](nodepilot.md)
|
- [Node Pilot](nodepilot.md)
|
||||||
|
- [Nostr](nostr.md)
|
||||||
- [Peertube](peertube.md)
|
- [Peertube](peertube.md)
|
||||||
- [Presearch](presearch.md)
|
- [Presearch](presearch.md)
|
||||||
- [Static Website](static_website.md)
|
- [Static Website](static_website.md)
|
||||||
- [Subsquid](subsquid.md)
|
- [Subsquid](subsquid.md)
|
||||||
- [Taiga](taiga.md)
|
- [Taiga](taiga.md)
|
||||||
|
- [TFRobot](tfrobot.md)
|
||||||
- [Umbrel](umbrel.md)
|
- [Umbrel](umbrel.md)
|
||||||
- [WordPress](wordpress.md)
|
- [WordPress](wordpress.md)
|
@ -2,4 +2,6 @@
|
|||||||
|
|
||||||
Find or Publish your Flist from [Zero-OS Hub](https://hub.grid.tf/)
|
Find or Publish your Flist from [Zero-OS Hub](https://hub.grid.tf/)
|
||||||
|
|
||||||
![](../img/0_hub.png)
|
![](../img/0_hub.png)
|
||||||
|
|
||||||
|
Learn more about the Zero-OS Hub [here](developers@@zos_hub).
|
@ -45,11 +45,14 @@ If your deployment has some minimum requirements, you can easily filter relevant
|
|||||||
|
|
||||||
## Node Details
|
## Node Details
|
||||||
|
|
||||||
You can see all of the node details when you click on its row.
|
You can see all of the node details when you click on its row:
|
||||||
|
|
||||||
![](../img/dashboard_node_finder_node_view.png)
|
![](../img/dashboard_node_finder_node_view.png)
|
||||||
|
|
||||||
Note that the network speed test displayed in the Node Finder is updated every 6 hours.
|
> Note: The network speed test displayed in the Node Finder is updated every 6 hours.
|
||||||
|
To access the public Grafana page displaying additional information, click on `Check Node Health`:
|
||||||
|
|
||||||
|
![](../img/node_finder_grafana.png)
|
||||||
|
|
||||||
## Gateway Nodes
|
## Gateway Nodes
|
||||||
|
|
||||||
|
@ -2,24 +2,24 @@
|
|||||||
|
|
||||||
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.
|
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)
|
- [Getting Started](#getting-started)
|
||||||
- [Create a new Farm](#create-a-new-farm)
|
- [Create a New Farm](#create-a-new-farm)
|
||||||
- [Manage Your Farms](#manage-your-farms)
|
- [Manage Your Farms](#manage-your-farms)
|
||||||
- [Add a public IP to your Farm](#add-a-public-ip-to-your-farm)
|
- [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)
|
- [Add a Stellar Address for Payout](#add-a-stellar-address-for-payout)
|
||||||
- [Generate your node bootstrap image](#generate-your-node-bootstrap-image)
|
- [Generate Your Node Bootstrap Image](#generate-your-node-bootstrap-image)
|
||||||
- [Additional information](#additional-information)
|
- [Additional Information](#additional-information)
|
||||||
- [Manage Your Nodes](#manage-your-nodes)
|
- [Manage Your Nodes](#manage-your-nodes)
|
||||||
- [Node information](#node-information)
|
- [Node Information](#node-information)
|
||||||
- [Extra Fees](#extra-fees)
|
- [Extra Fees](#extra-fees)
|
||||||
- [Public Configuration](#public-configuration)
|
- [Public Configuration](#public-configuration)
|
||||||
- [The Difference Between IPs Assigned to Nodes Versus a Farm](#the-difference-between-ips-assigned-to-nodes-versus-a-farm)
|
- [The Difference Between IPs Assigned to Nodes Versus a Farm](#the-difference-between-ips-assigned-to-nodes-versus-a-farm)
|
||||||
|
|
||||||
## Getting started
|
## Getting Started
|
||||||
|
|
||||||
After logging in to the TF Dashboard, on the sidebar click on **Dashboard** then _Your Farms_ .
|
After logging in to the TF Dashboard, on the sidebar click on **Dashboard** then _Your Farms_ .
|
||||||
|
|
||||||
## Create a new Farm
|
## 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.
|
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.
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ You can browse your Farms in _Farms_ table; Farms table contains all your own fa
|
|||||||
|
|
||||||
![](../img/dashboard_farms_farms_table.png)
|
![](../img/dashboard_farms_farms_table.png)
|
||||||
|
|
||||||
### Add a public IP to your Farm
|
### 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.
|
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`.
|
Click `ADD IP`, specify the addresses, the gateway and click `CREATE`.
|
||||||
@ -69,7 +69,7 @@ Deleting IPv4 addresses is also possible here. The `Deployed Contract ID` gives
|
|||||||
|
|
||||||
![ ](../img/dashboard_farms_ip_details.png)
|
![ ](../img/dashboard_farms_ip_details.png)
|
||||||
|
|
||||||
### Add a Stellar address for payout
|
### 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.
|
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.
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ In a first phase, farming of tokens still results in payout on the Stellar netwo
|
|||||||
|
|
||||||
You can read about different ways to store TFT [here](threefold_token@@storing_tft). Make sure to use a Stellar wallet for your farming rewards.
|
You can read about different ways to store TFT [here](threefold_token@@storing_tft). Make sure to use a Stellar wallet for your farming rewards.
|
||||||
|
|
||||||
### Generate your node bootstrap image
|
### Generate Your Node Bootstrap Image
|
||||||
|
|
||||||
Once you know your farmID, you can set up your node on TFGrid3. Click on `Bootstrap Node Image`.
|
Once you know your farmID, you can set up your node on TFGrid3. Click on `Bootstrap Node Image`.
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ Once you know your farmID, you can set up your node on TFGrid3. Click on `Bootst
|
|||||||
|
|
||||||
Read more Zero-OS bootstrap image [here](farmers@@2_bootstrap_image).
|
Read more Zero-OS bootstrap image [here](farmers@@2_bootstrap_image).
|
||||||
|
|
||||||
### Additional information
|
### 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.
|
After booting a node, the info will become available in `Your Nodes` table, including the status info along with the minting and fixup receipts.
|
||||||
|
|
||||||
@ -103,7 +103,7 @@ You can also download a single node's receipts using the `Download Receipts` but
|
|||||||
|
|
||||||
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.
|
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
|
### Node Information
|
||||||
|
|
||||||
Expand your node information by clicking on the expand button in the target node row.
|
Expand your node information by clicking on the expand button in the target node row.
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 188 KiB After Width: | Height: | Size: 183 KiB |
BIN
collections/dashboard/img/node_finder_grafana.png
Normal file
After Width: | Height: | Size: 162 KiB |
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
We cover the overall process to add a domain to a virtual machine running on the ThreeFold Grid.
|
We cover the overall process to add a domain to a virtual machine running on the ThreeFold Grid. This process works for both micro and full virtual machines.
|
||||||
|
|
||||||
## Preparation
|
## Preparation
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
- [Requirements](#requirements)
|
- [Requirements](#requirements)
|
||||||
- [Configs Tab](#configs-tab)
|
- [Configs Tab](#configs-tab)
|
||||||
- [Admin and Workers Tabs](#admin-and-workers-tabs)
|
- [Leader and Workers Tabs](#leader-and-workers-tabs)
|
||||||
- [The Domain Name](#the-domain-name)
|
- [The Domain Name](#the-domain-name)
|
||||||
- [Domain Name Example](#domain-name-example)
|
- [Domain Name Example](#domain-name-example)
|
||||||
- [How to Know the IP Address](#how-to-know-the-ip-address)
|
- [How to Know the IP Address](#how-to-know-the-ip-address)
|
||||||
@ -31,10 +31,10 @@ Caprover is a very cool management app for containers based on Docker Swarm.
|
|||||||
|
|
||||||
It has following benefits :
|
It has following benefits :
|
||||||
|
|
||||||
- easy to deploy apps (in seconds)
|
- Easy to deploy apps (in seconds)
|
||||||
- easy to create new apps
|
- Easy to create new apps
|
||||||
- super good monitoring
|
- Super good monitoring
|
||||||
- can be extended over the TFGrid
|
- Can be extended over the TFGrid
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
@ -46,23 +46,51 @@ It has following benefits :
|
|||||||
|
|
||||||
![ ](./img/solutions_caprover.png)
|
![ ](./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 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.
|
- Enter password for you Caprover instance.
|
||||||
|
|
||||||
If you have more than one SSH keys set, you can click on `Manage SSH keys` to select which one to use for this deployment.
|
If you have more than one SSH keys set, you can click on `Manage SSH keys` to select which one to use for this deployment.
|
||||||
|
|
||||||
## Admin and Workers Tabs
|
## Leader and Workers Tabs
|
||||||
|
|
||||||
|
Each deployment will have one leader and there can be many workers. By default, CapRover is deployed on nodes with IPv4.
|
||||||
|
|
||||||
![ ](./img/solutions_caprover_leader.png)
|
![ ](./img/solutions_caprover_leader.png)
|
||||||
|
|
||||||
![ ](./img/solutions_caprover_workers.png)
|
![ ](./img/solutions_caprover_workers.png)
|
||||||
|
|
||||||
|
Use the Leader and Workers tabs to add nodes to your deployment.
|
||||||
|
|
||||||
|
- Enter a name for the deployment or keep the default name
|
||||||
|
- 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
|
||||||
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
|
- `Certified` flag to retrieve only certified nodes
|
||||||
|
- Choose the node
|
||||||
|
- Automated
|
||||||
|
- Choose the location of the node
|
||||||
|
- `Region`
|
||||||
|
- `Country`
|
||||||
|
- `Farm Name`
|
||||||
|
- Click on `Load Nodes`
|
||||||
|
- Click on the node you want to deploy on
|
||||||
|
- Manual selection
|
||||||
|
- Select a specific node ID
|
||||||
|
- Click `Deploy`
|
||||||
|
|
||||||
Note: Worker nodes only accept SSH keys of RSA format.
|
Note: Worker nodes only accept SSH keys of RSA format.
|
||||||
|
|
||||||
Deployment will take couple of minutes.
|
Deployment will take couple of minutes.
|
||||||
|
|
||||||
## The Domain Name
|
## 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.
|
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 Leader 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.
|
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.
|
||||||
|
|
||||||
@ -97,54 +125,14 @@ Go back to your CapRover weblet and go to the deployment list. Click on `Show De
|
|||||||
![ ](./img/solution_caprover_list.png)
|
![ ](./img/solution_caprover_list.png)
|
||||||
|
|
||||||
- The public IPv4 address is visible in here
|
- The public IPv4 address is visible in here
|
||||||
|
|
||||||
|
![](./img/solutions_caprover_ipaddress.png)
|
||||||
|
|
||||||
- Now you can configure the domain name (see above, don't forget to point the wildcard domain to the public IP address)
|
- 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
|
Go to the `JSON` tab to see the Json ouput:
|
||||||
|
|
||||||
```json
|
![](./img/solutions_caprover_json.png)
|
||||||
|
|
||||||
{
|
|
||||||
"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
|
## How to Access the Admin Interface
|
||||||
|
|
||||||
|
@ -30,8 +30,8 @@ __Process__ :
|
|||||||
- Or choose a **Custom** plan
|
- Or choose a **Custom** plan
|
||||||
- Choose the network
|
- Choose the network
|
||||||
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
||||||
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
- `Dedicated` flag to retrieve only dedeicated nodes
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
- `Certified` flag to retrieve only certified nodes
|
- `Certified` flag to retrieve only certified nodes
|
||||||
- Choose the location of the node
|
- Choose the location of the node
|
||||||
- `Region`
|
- `Region`
|
||||||
@ -46,8 +46,8 @@ If you have more than one SSH keys set, you can click on `Manage SSH keys` to se
|
|||||||
|
|
||||||
After that is done you can see a list of all of your deployed instances
|
After that is done you can see a list of all of your deployed instances
|
||||||
|
|
||||||
![ ](./img/casper4.png)
|
![](./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!
|
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)
|
![](./img/casper5.png)
|
@ -27,8 +27,10 @@
|
|||||||
- **Medium**: {cpu: 2, memory: 4, diskSize: 50 }
|
- **Medium**: {cpu: 2, memory: 4, diskSize: 50 }
|
||||||
- **Large**: {cpu: 4, memory: 16, diskSize: 100 }
|
- **Large**: {cpu: 4, memory: 16, diskSize: 100 }
|
||||||
- Or choose a **Custom** plan
|
- Or choose a **Custom** plan
|
||||||
|
- Choose the network
|
||||||
- `Dedicated` flag to retrieve only dedeicated nodes
|
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
||||||
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
- `Certified` flag to retrieve only certified nodes
|
- `Certified` flag to retrieve only certified nodes
|
||||||
- Choose the location of the node
|
- Choose the location of the node
|
||||||
- `Region`
|
- `Region`
|
||||||
|
36
collections/dashboard/solutions/domains.md
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<h1> Domains </h1>
|
||||||
|
|
||||||
|
<h2>Table of Contents </h2>
|
||||||
|
|
||||||
|
- [Introduction](#introduction)
|
||||||
|
- [Prerequisites](#prerequisites)
|
||||||
|
- [Deployment](#deployment)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
The Domains solution allows users to securely expose servers hosted on local machines or VMs to the public internet. Users are required to specify the machine's IP, which can be a Mycelium IP, an Yggdrasil IP, or a public IP (IPv4 or IPv6).
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- Make sure you have a [wallet](wallet_connector.md)
|
||||||
|
- From the sidebar click on **Applications**
|
||||||
|
- Click on **Domains**
|
||||||
|
|
||||||
|
## Deployment
|
||||||
|
|
||||||
|
![ ](./img/domains.png)
|
||||||
|
|
||||||
|
- Enter a subdomain to be added to your domain
|
||||||
|
- The `Custom Domain` flag allows the user to use a custom domain
|
||||||
|
- Choose a gateway node to deploy your static website
|
||||||
|
- Enter the port used to access the machine
|
||||||
|
- Enter the machine's IP
|
||||||
|
- It can be a Mycelium IP, an Yggdrasil IP, or a public IP (IPv4 or IPv6)
|
||||||
|
|
||||||
|
Once this is done, you can see a list of all of your deployed instances:
|
||||||
|
|
||||||
|
![ ](./img/domains_list.png)
|
||||||
|
|
||||||
|
Click on the button **Visit** under **Actions** to go to your exposed website!
|
@ -40,7 +40,7 @@ Deploy a new full virtual machine on the Threefold Grid
|
|||||||
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
||||||
- `Public IPv6` flag gives the virtual machine a Public IPv6
|
- `Public IPv6` flag gives the virtual machine a Public IPv6
|
||||||
- `Planetary Network` to connect the Virtual Machine to Planetary network
|
- `Planetary Network` to connect the Virtual Machine to Planetary network
|
||||||
- `Myceluim` to enable mycelium on the virtual machine
|
- `Mycelium` to enable Mycelium on the virtual machine
|
||||||
- `Wireguard Access` to add a wireguard access to the Virtual Machine
|
- `Wireguard Access` to add a wireguard access to the Virtual Machine
|
||||||
- `GPU` flag to add GPU 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](node_finder.md#dedicated-nodes)
|
- To deploy a Full VM with GPU, you first need to [rent a dedicated node](node_finder.md#dedicated-nodes)
|
||||||
|
@ -37,8 +37,8 @@ __Process__ :
|
|||||||
- Or choose a **Custom** plan
|
- Or choose a **Custom** plan
|
||||||
- Choose the network
|
- Choose the network
|
||||||
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
||||||
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
- `Dedicated` flag to retrieve only dedeicated nodes
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
- `Certified` flag to retrieve only certified nodes
|
- `Certified` flag to retrieve only certified nodes
|
||||||
- Choose the location of the node
|
- Choose the location of the node
|
||||||
- `Region`
|
- `Region`
|
||||||
|
81
collections/dashboard/solutions/gitea.md
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
<h1> Gitea </h1>
|
||||||
|
|
||||||
|
<h2>Table of Contents</h2>
|
||||||
|
|
||||||
|
- [Introduction](#introduction)
|
||||||
|
- [Prerequisites](#prerequisites)
|
||||||
|
- [Deployment](#deployment)
|
||||||
|
- [Setting Up Gitea](#setting-up-gitea)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
[Gitea](https://about.gitea.com/) is a forge software package for hosting software development version control using Git as well as other collaborative features like bug tracking, code review, continuous integration, kanban boards, tickets, and wikis.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- Make sure you have a [wallet](wallet_connector.md)
|
||||||
|
- From the sidebar click on **Applications**
|
||||||
|
- Click on **Gitea**
|
||||||
|
|
||||||
|
## Deployment
|
||||||
|
|
||||||
|
![](./img/gitea_config.png)
|
||||||
|
|
||||||
|
![](./img/gitea_mail_server.png)
|
||||||
|
|
||||||
|
- Enter a name for your deployment or keep the default name
|
||||||
|
- 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` flag gives the virtual machine an Yggdrasil address
|
||||||
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
|
|
||||||
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
|
- `Certified` flag to retrieve only certified nodes
|
||||||
|
- Choose the node
|
||||||
|
- Automated
|
||||||
|
- Choose the location of the node
|
||||||
|
- `Region`
|
||||||
|
- `Country`
|
||||||
|
- `Farm Name`
|
||||||
|
- Click on `Load Nodes`
|
||||||
|
- Click on the node you want to deploy on
|
||||||
|
- Manual selection
|
||||||
|
- Select a specific node ID
|
||||||
|
- Choose a domain
|
||||||
|
- Use a custom domain by enabling `Custom Domain`
|
||||||
|
- Choose a gateway domain for your instance
|
||||||
|
- Set the `Mail Server`
|
||||||
|
- In the tab `Mail Server` you can adjust the parameters or leave the default parameters
|
||||||
|
- The `Admin Email` by default is the email you used when logging into the Dashboard
|
||||||
|
- The `Admin Password` is generated automatically but you can modify it
|
||||||
|
- By default the SMTP server used for the `Hostname` is `smtp.gmail.com` with its associated port `587`
|
||||||
|
- Enable TLS by clicking on the `TLS` button
|
||||||
|
- Click `Deploy`
|
||||||
|
|
||||||
|
After deployment, you can see a list of all your deployed instances.
|
||||||
|
|
||||||
|
To access the Gitea instance, click on the `Actions` button called `Visit`.
|
||||||
|
|
||||||
|
![](./img/gitea_instances.png)
|
||||||
|
|
||||||
|
## Setting Up Gitea
|
||||||
|
|
||||||
|
Once you've accessed the Gitea instance, you can adjust the `Initial Configuration` if needed.
|
||||||
|
|
||||||
|
![](./img/gitea_initial_configuration.png)
|
||||||
|
|
||||||
|
Once you're ready, click on `Install Gitea`.
|
||||||
|
|
||||||
|
![](./img/gitea_install.png)
|
||||||
|
|
||||||
|
Once the configuration is completed, you can register to the Gitea instance and start using it.
|
||||||
|
|
||||||
|
![](./img/gitea_register.png)
|
BIN
collections/dashboard/solutions/img/domains.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
collections/dashboard/solutions/img/domains_list.png
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
collections/dashboard/solutions/img/gitea_config.png
Normal file
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 55 KiB |
BIN
collections/dashboard/solutions/img/gitea_install.png
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
collections/dashboard/solutions/img/gitea_instances.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
collections/dashboard/solutions/img/gitea_mail_server.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
collections/dashboard/solutions/img/gitea_register.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
collections/dashboard/solutions/img/jenkins2.png
Normal file
After Width: | Height: | Size: 94 KiB |
BIN
collections/dashboard/solutions/img/jenkins3.png
Normal file
After Width: | Height: | Size: 308 KiB |
BIN
collections/dashboard/solutions/img/nostr_config.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
collections/dashboard/solutions/img/nostr_instances.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
collections/dashboard/solutions/img/solutions_jenkins1.png
Normal file
After Width: | Height: | Size: 107 KiB |
BIN
collections/dashboard/solutions/img/solutions_jitsi.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
collections/dashboard/solutions/img/solutions_jitsi_homepage.png
Normal file
After Width: | Height: | Size: 548 KiB |
After Width: | Height: | Size: 59 KiB |
BIN
collections/dashboard/solutions/img/solutions_tfrobot.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
collections/dashboard/solutions/img/tfrobot1.png
Normal file
After Width: | Height: | Size: 49 KiB |
65
collections/dashboard/solutions/jenkins.md
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
<h1> Jenkins </h1>
|
||||||
|
|
||||||
|
<h2>Table of Contents</h2>
|
||||||
|
|
||||||
|
- [Introduction](#introduction)
|
||||||
|
- [Prerequisites](#prerequisites)
|
||||||
|
- [Deployment](#deployment)
|
||||||
|
- [Troubleshooting](#troubleshooting)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
[Jenkins](https://www.jenkins.io/) is a popular open-source automation server that enables developers to build, test, and deploy their applications continuously.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- Make sure you have a [wallet](wallet_connector.md)
|
||||||
|
- From the sidebar click on **Applications**
|
||||||
|
- Click on **Jenkins**
|
||||||
|
|
||||||
|
## Deployment
|
||||||
|
|
||||||
|
__Process__ :
|
||||||
|
|
||||||
|
![ ](./img/solutions_jenkins1.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**, 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
|
||||||
|
- `Public IPv6` flag gives the virtual machine a Public IPv6
|
||||||
|
- `Planetary Network` to connect the Virtual Machine to Planetary network
|
||||||
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
|
- `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 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 Jenkins instance on.
|
||||||
|
|
||||||
|
|
||||||
|
After that is done you can see a list of all of your deployed instances
|
||||||
|
|
||||||
|
![ ](./img/jenkins2.png)
|
||||||
|
|
||||||
|
Click on ***Visit*** to go to the homepage of your Jenkins instance!
|
||||||
|
|
||||||
|
![ ](./img/jenkins3.png)
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
If you get a `Bad Gateway` while connecting to the website, you might simply need to wait for the deployment to complete.
|
63
collections/dashboard/solutions/jitsi.md
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
<h1> Jitsi </h1>
|
||||||
|
|
||||||
|
<h2>Table of Contents</h2>
|
||||||
|
|
||||||
|
- [Introduction](#introduction)
|
||||||
|
- [Prerequisites](#prerequisites)
|
||||||
|
- [Deployment](#deployment)
|
||||||
|
- [Troubleshooting](#troubleshooting)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
Jitsi Meet is a set of Open Source projects which empower users to use and deploy video conferencing platforms with state-of-the-art video quality and features. For more details, check [Jitsi documentation](https://jitsi.github.io/handbook/docs/intro/).
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- Make sure you have a [wallet](wallet_connector.md)
|
||||||
|
- From the sidebar click on **Applications**
|
||||||
|
- Click on **Jitsi**
|
||||||
|
|
||||||
|
## Deployment
|
||||||
|
|
||||||
|
**Process** :
|
||||||
|
|
||||||
|
![ ](./img/solutions_jitsi.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**
|
||||||
|
|
||||||
|
- 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
|
||||||
|
- `Public IPv6` flag gives the virtual machine a Public IPv6
|
||||||
|
- `Planetary Network` flag gives the virtual machine an Yggdrasil address
|
||||||
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
|
- `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 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 Jitsi instance on.
|
||||||
|
|
||||||
|
After that is done you can see a list of all of your deployed instances
|
||||||
|
|
||||||
|
![ ](./img/solutions_jitsi_instances.png)
|
||||||
|
|
||||||
|
Click on **_Visit_** to go to the homepage of your Jitsi instance!
|
||||||
|
|
||||||
|
![ ](./img/solutions_jitsi_homepage.png)
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
If you get a `Bad Gateway` while connecting to the website, you might simply need to wait for the deployment to complete.
|
@ -41,7 +41,7 @@ On the TF grid, Kubernetes clusters can be deployed out of the box. We have impl
|
|||||||
|
|
||||||
## Kubeconfig
|
## Kubeconfig
|
||||||
Once the cluster is ready, you can SSH into the cluster using `ssh root@IP`
|
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
|
> IP can be the public IP, Mycelium 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`
|
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`
|
||||||
|
|
||||||
|
@ -29,7 +29,10 @@
|
|||||||
- **Medium**: {cpu: 2, memory: 4, diskSize: 50 }
|
- **Medium**: {cpu: 2, memory: 4, diskSize: 50 }
|
||||||
- **Large**: {cpu: 4, memory: 16, diskSize: 100 }
|
- **Large**: {cpu: 4, memory: 16, diskSize: 100 }
|
||||||
- Or choose a **Custom** plan
|
- Or choose a **Custom** plan
|
||||||
- `Dedicated` flag to retrieve only dedeicated nodes
|
- Choose the network
|
||||||
|
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
||||||
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
- `Certified` flag to retrieve only certified nodes
|
- `Certified` flag to retrieve only certified nodes
|
||||||
- Choose the location of the node
|
- Choose the location of the node
|
||||||
- `Region`
|
- `Region`
|
||||||
|
@ -16,13 +16,16 @@
|
|||||||
- [TURN](#turn)
|
- [TURN](#turn)
|
||||||
- [Use Talk](#use-talk)
|
- [Use Talk](#use-talk)
|
||||||
- [Backups and Updates](#backups-and-updates)
|
- [Backups and Updates](#backups-and-updates)
|
||||||
- [Create a Backup](#create-a-backup)
|
- [BorgBackup](#borgbackup)
|
||||||
- [Automatic Backups and Updates](#automatic-backups-and-updates)
|
- [Create a BorgBackup](#create-a-borgbackup)
|
||||||
|
- [Automatic Borg Backups and Updates](#automatic-borg-backups-and-updates)
|
||||||
|
- [Secondary VM Backup](#secondary-vm-backup)
|
||||||
|
- [SSH Connection](#ssh-connection)
|
||||||
|
- [Secondary VM Backup Script](#secondary-vm-backup-script)
|
||||||
- [Troubleshooting](#troubleshooting)
|
- [Troubleshooting](#troubleshooting)
|
||||||
- [Retrieve the Nextcloud AIO Password](#retrieve-the-nextcloud-aio-password)
|
- [Retrieve the Nextcloud AIO Password](#retrieve-the-nextcloud-aio-password)
|
||||||
- [Access the Nextcloud Interface Page](#access-the-nextcloud-interface-page)
|
- [Access the Nextcloud Interface Page](#access-the-nextcloud-interface-page)
|
||||||
- [Check the DNS Propagation](#check-the-dns-propagation)
|
- [Check the DNS Propagation](#check-the-dns-propagation)
|
||||||
- [Questions and Feedback](#questions-and-feedback)
|
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
@ -62,12 +65,15 @@ If you're not sure and just want the easiest, most affordable option, skip the p
|
|||||||
* **Standard**: {cpu: 2, memory: 8gb, diskSize: 500gb }
|
* **Standard**: {cpu: 2, memory: 8gb, diskSize: 500gb }
|
||||||
* **Recommended**: {cpu: 4, memory: 16gb, diskSize: 1000gb }
|
* **Recommended**: {cpu: 4, memory: 16gb, diskSize: 1000gb }
|
||||||
* Or choose a **Custom** plan
|
* Or choose a **Custom** plan
|
||||||
* If want to reserve a public IPv4 address, click on Network then select **Public IPv4**
|
- Choose the network
|
||||||
* If you want a [dedicated node](node_finder.md#dedicated-nodes) and/or a certified node, select the corresponding option
|
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
||||||
* Choose the location of the node
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
* `Country`
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
* `Farm Name`
|
- `Certified` flag to retrieve only certified nodes
|
||||||
* Select a node
|
- Choose the location of the node
|
||||||
|
- `Region`
|
||||||
|
- `Country`
|
||||||
|
- `Farm Name`
|
||||||
* If you want to use a custom domain, click on **Custom domain** under **Domain Name** and write your domain name
|
* If you want to use a custom domain, click on **Custom domain** under **Domain Name** and write your domain name
|
||||||
* Example: `nextcloudwebsite.com`
|
* Example: `nextcloudwebsite.com`
|
||||||
* The **Select gateway** box will be visible whenever a gateway is required. If so, click it and choose a gateway
|
* The **Select gateway** box will be visible whenever a gateway is required. If so, click it and choose a gateway
|
||||||
@ -156,7 +162,11 @@ Note that the host of the video meeting might need to turn the VPN off before cr
|
|||||||
|
|
||||||
# Backups and Updates
|
# Backups and Updates
|
||||||
|
|
||||||
## Create a Backup
|
In this section, we cover how to make a BorgBackup on the Nextcloud VM and we also cover how to make a backup of the Nextcloud BorgBackup to a secondary VM for additional redundancy.
|
||||||
|
|
||||||
|
## BorgBackup
|
||||||
|
|
||||||
|
### Create a BorgBackup
|
||||||
|
|
||||||
In the section **Backup and restore**, you can set a [BorgBackup](https://www.borgbackup.org/) of your Nextcloud instance.
|
In the section **Backup and restore**, you can set a [BorgBackup](https://www.borgbackup.org/) of your Nextcloud instance.
|
||||||
|
|
||||||
@ -166,7 +176,7 @@ In the section **Backup and restore**, you can set a [BorgBackup](https://www.bo
|
|||||||
* This will stop all containers, run the backup container and create the backup.
|
* 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.
|
* Once the backup is complete, you can click on **Start containers** to restart the Nextcloud instance.
|
||||||
|
|
||||||
## Automatic Backups and Updates
|
### Automatic Borg Backups and Updates
|
||||||
|
|
||||||
After the first manual backup of your Nextcloud instance is complete, you can set automatic backups and updates.
|
After the first manual backup of your Nextcloud instance is complete, you can set automatic backups and updates.
|
||||||
|
|
||||||
@ -174,7 +184,88 @@ After the first manual backup of your Nextcloud instance is complete, you can se
|
|||||||
* In the section **Daily backup and automatic updates**, choose a time for your daily backup and click **Submit backup time**.
|
* 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.
|
* To set automatic updates, make sure that the option **Automatically update all containers, the mastercontainer and on** is selected.
|
||||||
|
|
||||||
|
## Secondary VM Backup
|
||||||
|
|
||||||
|
To allow for another layer of redundancy, you can set a secondary VM on the grid and make a daily backup from the BorgBackup of your Nextcloud instance to the secondary VM. The following shows how to do this. It is based on the [File Transfer section](system_administrators@@file_transfer) of the manual.
|
||||||
|
|
||||||
|
For the following, we take into account that the BorgBackup is located at `/mnt/backup` on the VM running Nextcloud.
|
||||||
|
|
||||||
|
You will need to deploy a full VM on the TFGrid and SSH into this secondary VM.
|
||||||
|
|
||||||
|
### SSH Connection
|
||||||
|
|
||||||
|
We want to set an SSH connection between the Nextcloud VM and the secondary VM.
|
||||||
|
|
||||||
|
* Create SSH key pair on the secondary VM
|
||||||
|
```
|
||||||
|
ssh-keygen
|
||||||
|
```
|
||||||
|
* Install openssh-client on the secondary VM
|
||||||
|
```
|
||||||
|
apt install openssh-client
|
||||||
|
```
|
||||||
|
* Install openssh-server on the Nextcloud VM
|
||||||
|
```
|
||||||
|
apt install openssh-server
|
||||||
|
```
|
||||||
|
* Copy the public key of the secondary VM
|
||||||
|
```
|
||||||
|
cat ~/.ssh/id_rsa.pub
|
||||||
|
```
|
||||||
|
* Create the SSH directory on the Nextcloud VM
|
||||||
|
```
|
||||||
|
mkdir ~/.ssh
|
||||||
|
```
|
||||||
|
* Add the secondary VM public key in the file **authorized_keys** on the Nextcloud VM
|
||||||
|
```
|
||||||
|
nano ~/.ssh/authorized_keys
|
||||||
|
```
|
||||||
|
* Check the openssh-server status
|
||||||
|
```
|
||||||
|
service ssh status
|
||||||
|
```
|
||||||
|
* As a test, you can check if you can SSH into the Nextcloud VM from the secondary VM
|
||||||
|
```
|
||||||
|
ssh root@<Nextcloud_VM_IP_Address>
|
||||||
|
```
|
||||||
|
|
||||||
|
Once the SSH connection is set up, we need to prepare a backup script. This is covered in the next subsection.
|
||||||
|
|
||||||
|
### Secondary VM Backup Script
|
||||||
|
|
||||||
|
We now cover how to set up a backup script on the secondary VM.
|
||||||
|
|
||||||
|
On the secondary VM, do the following:
|
||||||
|
|
||||||
|
* Set a directory for your Nextcloud backup
|
||||||
|
```
|
||||||
|
mkdir -p /root/nextcloud_backup
|
||||||
|
```
|
||||||
|
* Create the script file
|
||||||
|
```
|
||||||
|
nano /root/rsync_nextcloud_backup.sh
|
||||||
|
```
|
||||||
|
* Write the following script. Here the log is saved in the same directory.
|
||||||
|
```
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
sudo rsync -avz --progress --delete --log-file=/root/nextcloud_backup/rsync_nextcloud_storage.log /root/nextcloud_backup/ root@<Nextcloud_VM_IP_Address>:/mnt/backup
|
||||||
|
```
|
||||||
|
* Give permission to execute the script
|
||||||
|
```
|
||||||
|
sudo chmod +x /root/rsync_nextcloud_backup.sh
|
||||||
|
```
|
||||||
|
* Set a cron job to run the script periodically
|
||||||
|
* Open the cron file
|
||||||
|
```
|
||||||
|
sudo crontab -e
|
||||||
|
```
|
||||||
|
* At the bottom of the cron file, add the following to run the script everyday. For this example, we set the time at 18:00PM
|
||||||
|
```
|
||||||
|
0 18 * * * /root/rsync_nextcloud_backup.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Once this is set up, this secondary VM will make a daily backup of the Nextcloud BorgBackup. It is a good idea to set this secondary backup to run the script a few hours after the daily BorgBackup.
|
||||||
|
|
||||||
# Troubleshooting
|
# Troubleshooting
|
||||||
|
|
||||||
@ -200,8 +291,3 @@ To access the Nextcloud interface page, follow those stepse
|
|||||||
|
|
||||||
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.
|
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.
|
|
@ -24,9 +24,12 @@ This is a simple instance of upstream [Node Pilot](https://nodepilot.tech).
|
|||||||
|
|
||||||
- Fill in the instance name: it's used to reference the node-pilot in the future.
|
- 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.
|
- Minimum specs:
|
||||||
|
- 1 vcore
|
||||||
|
- 256 MB of memory
|
||||||
|
- 15 GB of storage
|
||||||
|
|
||||||
- `Dedicated` flag to retrieve only dedeicated nodes
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
- `Certified` flag to retrieve only certified nodes
|
- `Certified` flag to retrieve only certified nodes
|
||||||
|
|
||||||
- Choose the location of the node
|
- Choose the location of the node
|
||||||
@ -37,7 +40,7 @@ This is a simple instance of upstream [Node Pilot](https://nodepilot.tech).
|
|||||||
|
|
||||||
> Or you can select a specific node with manual selection.
|
> 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.
|
- 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
|
After that is done you can see a list of all of your deployed instances
|
||||||
|
|
||||||
|
59
collections/dashboard/solutions/nostr.md
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
<h1> Nostr </h1>
|
||||||
|
|
||||||
|
<h2>Table of Contents</h2>
|
||||||
|
|
||||||
|
- [Introduction](#introduction)
|
||||||
|
- [Prerequisites](#prerequisites)
|
||||||
|
- [Deployment](#deployment)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
[Nostr](https://nostr.com/) is a decentralized network protocol for a distributed social networking system. The name is an acronym for "Notes and Other Stuff Transmitted by Relays". It was designed with goals of censorship-resistance in mind.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- Make sure you have a [wallet](wallet_connector.md)
|
||||||
|
- From the sidebar click on **Applications**
|
||||||
|
- Click on **Nostr**
|
||||||
|
|
||||||
|
## Deployment
|
||||||
|
|
||||||
|
![](./img/nostr_config.png)
|
||||||
|
|
||||||
|
- Enter a name for your deployment or keep the default name
|
||||||
|
- 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` flag gives the virtual machine an Yggdrasil address
|
||||||
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
|
|
||||||
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
|
- `Certified` flag to retrieve only certified nodes
|
||||||
|
- Choose the node
|
||||||
|
- Automated
|
||||||
|
- Choose the location of the node
|
||||||
|
- `Region`
|
||||||
|
- `Country`
|
||||||
|
- `Farm Name`
|
||||||
|
|
||||||
|
- Click on `Load Nodes`
|
||||||
|
- Click on the node you want to deploy on
|
||||||
|
- Manual selection
|
||||||
|
- Select a specific node ID
|
||||||
|
- Choose a domain
|
||||||
|
- Use a custom domain by enabling `Custom Domain`
|
||||||
|
- Choose a gateway domain for your instance
|
||||||
|
- Click `Deploy`
|
||||||
|
|
||||||
|
After deployment, you can see a list of all your deployed instances.
|
||||||
|
|
||||||
|
To access the Nostr instance, click on the `Actions` button called `Visit`.
|
||||||
|
|
||||||
|
![](./img/nostr_instances.png)
|
@ -30,13 +30,10 @@
|
|||||||
- **Medium**: { cpu: 2, memory: 4, diskSize: 100 }
|
- **Medium**: { cpu: 2, memory: 4, diskSize: 100 }
|
||||||
- **Large**: { cpu: 4, memory: 16, diskSize: 250 }
|
- **Large**: { cpu: 4, memory: 16, diskSize: 250 }
|
||||||
- Or choose a **Custom** plan
|
- Or choose a **Custom** plan
|
||||||
|
- Choose the network
|
||||||
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
- `Public IPv6` flag gives the virtual machine a Public IPv6
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
- `Planetary Network` to connect the Virtual Machine to Planetary network
|
- `Certified` flag to retrieve only certified nodes
|
||||||
- `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
|
- Choose the location of the node
|
||||||
- `Region`
|
- `Region`
|
||||||
- `Country`
|
- `Country`
|
||||||
|
@ -33,8 +33,9 @@
|
|||||||
- Choose the network
|
- Choose the network
|
||||||
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
||||||
- `Planetary Network` to connect the Virtual Machine to Planetary network
|
- `Planetary Network` to connect the Virtual Machine to Planetary network
|
||||||
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
|
|
||||||
- `Dedicated` flag to retrieve only dedeicated nodes
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
- `Certified` flag to retrieve only certified nodes
|
- `Certified` flag to retrieve only certified nodes
|
||||||
- Choose the location of the node
|
- Choose the location of the node
|
||||||
- `Region`
|
- `Region`
|
||||||
|
@ -34,7 +34,9 @@ Static Website is an application where a user provides a GitHub repository URL f
|
|||||||
- **Medium**: {cpu: 2, memory: 4, diskSize: 100 }
|
- **Medium**: {cpu: 2, memory: 4, diskSize: 100 }
|
||||||
- **Large**: {cpu: 4, memory: 16, diskSize: 250 }
|
- **Large**: {cpu: 4, memory: 16, diskSize: 250 }
|
||||||
- Or choose a **Custom** plan
|
- Or choose a **Custom** plan
|
||||||
|
- Choose the network
|
||||||
|
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
||||||
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
- `Dedicated` flag to retrieve only dedicated nodes
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
- `Certified` flag to retrieve only certified nodes
|
- `Certified` flag to retrieve only certified nodes
|
||||||
- Choose the location of the node
|
- Choose the location of the node
|
||||||
|
@ -32,8 +32,9 @@
|
|||||||
- **Medium**: {cpu: 2, memory: 4, diskSize: 100 }
|
- **Medium**: {cpu: 2, memory: 4, diskSize: 100 }
|
||||||
- **Large**: {cpu: 4, memory: 16, diskSize: 250 }
|
- **Large**: {cpu: 4, memory: 16, diskSize: 250 }
|
||||||
- Or choose a **Custom** plan
|
- Or choose a **Custom** plan
|
||||||
|
- Choose the network
|
||||||
- `Dedicated` flag to retrieve only dedeicated nodes
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
- `Certified` flag to retrieve only certified nodes
|
- `Certified` flag to retrieve only certified nodes
|
||||||
- Choose the location of the node
|
- Choose the location of the node
|
||||||
- `Region`
|
- `Region`
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
## Introduction
|
## 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.
|
[Taiga](https://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
|
## Prerequisites
|
||||||
|
|
||||||
@ -31,14 +31,16 @@
|
|||||||
- **Medium**: {cpu: 4, memory: 8, diskSize: 150 }
|
- **Medium**: {cpu: 4, memory: 8, diskSize: 150 }
|
||||||
- **Large**: {cpu: 4, memory: 16, diskSize: 250 }
|
- **Large**: {cpu: 4, memory: 16, diskSize: 250 }
|
||||||
- Or choose a **Custom** plan
|
- Or choose a **Custom** plan
|
||||||
|
- Choose the network
|
||||||
- `Dedicated` flag to retrieve only dedeicated nodes
|
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
||||||
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
- `Certified` flag to retrieve only certified nodes
|
- `Certified` flag to retrieve only certified nodes
|
||||||
- Choose the location of the node
|
- Choose the location of the node
|
||||||
- `Region`
|
- `Region`
|
||||||
- `Country`
|
- `Country`
|
||||||
- `Farm Name`
|
- `Farm Name`
|
||||||
- Choose the node to deploy the Tiaga instance on
|
- Choose the node to deploy the Taiga instance on
|
||||||
> Or you can select a specific node with manual selection.
|
> Or you can select a specific node with manual selection.
|
||||||
- `Custom Domain` flag lets the user to use a custom domain
|
- `Custom Domain` flag lets the user to use a custom domain
|
||||||
- Choose a gateway node to deploy your Funkwhale instance on.
|
- Choose a gateway node to deploy your Funkwhale instance on.
|
||||||
|
61
collections/dashboard/solutions/tfrobot.md
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<h1> TFRobot </h1>
|
||||||
|
|
||||||
|
<h2>Table of Contents</h2>
|
||||||
|
|
||||||
|
- [Introduction](#introduction)
|
||||||
|
- [Features](#features)
|
||||||
|
- [Prerequisites](#prerequisites)
|
||||||
|
- [Deployment](#deployment)
|
||||||
|
- [Deployed Instances Table](#deployed-instances-table)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
[TFRobot](https://github.com/threefoldtech/tfgrid-sdk-go/blob/development/tfrobot/README.md) is tool designed to automate mass deployment of groups of VMs on the ThreeFold Grid, with support of multiple retries for failed deployments.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Mass Deployment:** Deploy groups of VMs on the grid simultaneously.
|
||||||
|
- **Mass Cancellation:** Cancel simultaneously all VMs on the grid defined in the configuration file.
|
||||||
|
- **Load Deployments:** Load simultaneously groups of VMs deployed with TFRobot.
|
||||||
|
- **Customizable Configurations:** Define node groups, VMs groups and other configurations through YAML or JSON files.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- Make sure you have a [wallet](wallet_connector.md)
|
||||||
|
- From the sidebar click on **Applications**
|
||||||
|
- Click on **TFRobot**
|
||||||
|
|
||||||
|
## Deployment
|
||||||
|
|
||||||
|
![ ](./img/solutions_tfrobot.png)
|
||||||
|
|
||||||
|
- Enter an Application Name.
|
||||||
|
|
||||||
|
- 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` flag gives the virtual machine an Yggdrasil address
|
||||||
|
- `Mycelium` flag gives the virtual machine a Mycelium address
|
||||||
|
- `Wireguard Access` to add a WireGuard acces 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`
|
||||||
|
- Click on `Load Nodes`
|
||||||
|
- Select the node you want to deploy on
|
||||||
|
- Click `Deploy`
|
||||||
|
|
||||||
|
## Deployed Instances Table
|
||||||
|
|
||||||
|
At all time, you can see a list of all of your deployed instances:
|
||||||
|
|
||||||
|
![ ](./img/tfrobot1.png)
|
@ -31,8 +31,12 @@
|
|||||||
- **Medium**: { cpu: 2, memory: 4 , diskSize: 50 }
|
- **Medium**: { cpu: 2, memory: 4 , diskSize: 50 }
|
||||||
- **Large**: { cpu: 4, memory: 16 , diskSize: 100 }
|
- **Large**: { cpu: 4, memory: 16 , diskSize: 100 }
|
||||||
- Or choose a **Custom** plan
|
- Or choose a **Custom** plan
|
||||||
|
- Choose the network
|
||||||
- `Dedicated` flag to retrieve only dedeicated nodes
|
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
||||||
|
- `Planetary Network` to connect the Virtual Machine to Planetary network
|
||||||
|
- `Mycelium` to enable Mycelium on the virtual machine
|
||||||
|
- `Wireguard Access` to add a wireguard acces to the Virtual Machine
|
||||||
|
- `Dedicated` flag to retrieve only dedicated nodes
|
||||||
- `Certified` flag to retrieve only certified nodes
|
- `Certified` flag to retrieve only certified nodes
|
||||||
- Choose the location of the node
|
- Choose the location of the node
|
||||||
- `Region`
|
- `Region`
|
||||||
|
@ -4,8 +4,8 @@ On the TFGrid, you can deploy both micro and full virtual machines.
|
|||||||
|
|
||||||
<h2> Table of Contents </h2>
|
<h2> Table of Contents </h2>
|
||||||
|
|
||||||
|
- [Full Virtual Machine](fullVm.md)
|
||||||
|
- [Micro Virtual Machine](vm.md)
|
||||||
|
- [Nixos Micro VM](nixos_micro.md)
|
||||||
- [Micro and Full VM Differences ](vm_differences.md)
|
- [Micro and Full VM Differences ](vm_differences.md)
|
||||||
- [Full Virtual Machine](fullvm.md)
|
- [Add a Domain to a VM](add_domain.md)
|
||||||
- [Micro Virtual Machine](microvm.md)
|
|
||||||
- [Nixos MicroVM](nixos_micro.md)
|
|
||||||
- [Add a Domain](add_domain.md)
|
|
@ -88,8 +88,8 @@ In this section, we cover the steps to deploy a WordPress instance on the Playgr
|
|||||||
- Or choose a **Custom** plan
|
- Or choose a **Custom** plan
|
||||||
|
|
||||||
- Choose the network
|
- Choose the network
|
||||||
- **Public IPv4** flag gives the virtual machine a Public IPv4
|
- `Public IPv4` flag gives the virtual machine a Public IPv4
|
||||||
|
- `Mycelium` to enable Mycelium on the virtual machine
|
||||||
- **Dedicated** flag to retrieve only dedicated nodes
|
- **Dedicated** flag to retrieve only dedicated nodes
|
||||||
- **Certified** flag to retrieve only certified nodes
|
- **Certified** flag to retrieve only certified nodes
|
||||||
- Choose the location of the node
|
- Choose the location of the node
|
||||||
|
@ -7,86 +7,11 @@ For complementary information on the technology developed by ThreeFold, refer to
|
|||||||
<h2> Table of Contents </h2>
|
<h2> Table of Contents </h2>
|
||||||
|
|
||||||
- [Javascript Client](grid3_javascript_readme.md)
|
- [Javascript Client](grid3_javascript_readme.md)
|
||||||
- [Installation](grid3_javascript_installation.md)
|
|
||||||
- [Loading Client](grid3_javascript_loadclient.md)
|
|
||||||
- [Deploy a VM](grid3_javascript_vm.md)
|
|
||||||
- [Capacity Planning](grid3_javascript_capacity_planning.md)
|
|
||||||
- [Deploy Multiple VMs](grid3_javascript_vms.md)
|
|
||||||
- [Deploy CapRover](grid3_javascript_caprover.md)
|
|
||||||
- [Gateways](grid3_javascript_vm_gateways.md)
|
|
||||||
- [Deploy a Kubernetes Cluster](grid3_javascript_kubernetes.md)
|
|
||||||
- [Deploy a ZDB](grid3_javascript_zdb.md)
|
|
||||||
- [Deploy ZDBs for QSFS](grid3_javascript_qsfs_zdbs.md)
|
|
||||||
- [QSFS](grid3_javascript_qsfs.md)
|
|
||||||
- [Key Value Store](grid3_javascript_kvstore.md)
|
|
||||||
- [VM with Wireguard and Gateway](grid3_wireguard_gateway.md)
|
|
||||||
- [GPU Support](grid3_javascript_gpu_support.md)
|
|
||||||
- [Go Client](grid3_go_readme.md)
|
- [Go Client](grid3_go_readme.md)
|
||||||
- [Installation](grid3_go_installation.md)
|
|
||||||
- [Loading Client](grid3_go_load_client.md)
|
|
||||||
- [Deploy a VM](grid3_go_vm.md)
|
|
||||||
- [Deploy Multiple VMs](grid3_go_vms.md)
|
|
||||||
- [Deploy Gateways](grid3_go_gateways.md)
|
|
||||||
- [Deploy Kubernetes](grid3_go_kubernetes.md)
|
|
||||||
- [Deploy a QSFS](grid3_go_qsfs.md)
|
|
||||||
- [GPU Support](grid3_go_gpu.md)
|
|
||||||
- [TFCMD](tfcmd.md)
|
- [TFCMD](tfcmd.md)
|
||||||
- [Getting Started](tfcmd_basics.md)
|
|
||||||
- [Deploy a VM](tfcmd_vm.md)
|
|
||||||
- [Deploy Kubernetes](tfcmd_kubernetes.md)
|
|
||||||
- [Deploy ZDB](tfcmd_zdbs.md)
|
|
||||||
- [Gateway FQDN](tfcmd_gateway_fqdn.md)
|
|
||||||
- [Gateway Name](tfcmd_gateway_name.md)
|
|
||||||
- [Contracts](tfcmd_contracts.md)
|
|
||||||
- [TFROBOT](tfrobot.md)
|
- [TFROBOT](tfrobot.md)
|
||||||
- [Installation](tfrobot_installation.md)
|
- [ThreeFold Chain](dev_tfchain.md)
|
||||||
- [Configuration File](tfrobot_config.md)
|
|
||||||
- [Deployment](tfrobot_deploy.md)
|
|
||||||
- [Commands and Flags](tfrobot_commands_flags.md)
|
|
||||||
- [Supported Configurations](tfrobot_configurations.md)
|
|
||||||
- [ThreeFold Chain](tfchain.md)
|
|
||||||
- [Introduction](introduction.md)
|
|
||||||
- [Farming Policies](farming_policies.md)
|
|
||||||
- [External Service Contract](tfchain_external_service_contract.md)
|
|
||||||
- [Solution Provider](tfchain_solution_provider.md)
|
|
||||||
- [Grid Proxy](proxy_readme.md)
|
- [Grid Proxy](proxy_readme.md)
|
||||||
- [Introducing Grid Proxy](proxy.md)
|
|
||||||
- [Setup](setup.md)
|
|
||||||
- [DB Testing](db_testing.md)
|
|
||||||
- [Commands](commands.md)
|
|
||||||
- [Contributions](contributions.md)
|
|
||||||
- [Explorer](explorer.md)
|
|
||||||
- [Database](database.md)
|
|
||||||
- [Production](production.md)
|
|
||||||
- [Release](release.md)
|
|
||||||
- [Flist](flist.md)
|
- [Flist](flist.md)
|
||||||
- [ThreeFold Hub Intro](zos_hub.md)
|
|
||||||
- [Generate an API Token](api_token.md)
|
|
||||||
- [Convert Docker Image Into Flist](convert_docker_image.md)
|
|
||||||
- [Supported Flists](grid3_supported_flists.md)
|
|
||||||
- [Flist Case Studies](flist_case_studies.md)
|
|
||||||
- [Case Study: Debian 12](flist_debian_case_study.md)
|
|
||||||
- [Case Study: Nextcloud AIO](flist_nextcloud_case_study.md)
|
|
||||||
- [Internals](internals.md)
|
- [Internals](internals.md)
|
||||||
- [Reliable Message Bus (RMB)](rmb_toc.md)
|
- [Grid Deployment](grid_deployment.md)
|
||||||
- [Introduction to RMB](rmb_intro.md)
|
|
||||||
- [RMB Specs](rmb_specs.md)
|
|
||||||
- [RMB Peer](peer.md)
|
|
||||||
- [RMB Relay](relay.md)
|
|
||||||
- [ZOS](index.md)
|
|
||||||
- [Manual](manual.md)
|
|
||||||
- [Workload Types](workload_types.md)
|
|
||||||
- [Internal Modules](zos_internals.md)
|
|
||||||
- [Capacity](capacity.md)
|
|
||||||
- [Performance Monitor Package](performance.md)
|
|
||||||
- [Public IPs Validation Task](publicips.md)
|
|
||||||
- [CPUBenchmark](cpubench.md)
|
|
||||||
- [IPerf](iperf.md)
|
|
||||||
- [Health Check](healthcheck.md)
|
|
||||||
- [API](api.md)
|
|
||||||
- [Grid Deployment](grid_deployment.md)
|
|
||||||
- [TFGrid Stacks](tfgrid_stacks.md)
|
|
||||||
- [Full VM Grid Deployment](grid_deployment_full_vm.md)
|
|
||||||
- [Grid Snapshots](snapshots.md)
|
|
||||||
- [Deploy the Dashboard](deploy_dashboard.md)
|
|
||||||
- [Application Case Study: Nextcloud](app_case_study_nextcloud.md)
|
|
After Width: | Height: | Size: 241 KiB |
@ -0,0 +1,200 @@
|
|||||||
|
|
||||||
|
<h1>Zero-OS Boot Generator</h1>
|
||||||
|
|
||||||
|
<h2>Table of Contents</h2>
|
||||||
|
|
||||||
|
- [Introduction](#introduction)
|
||||||
|
- [Set the Environment](#set-the-environment)
|
||||||
|
- [With Docker Ubuntu 22.04](#with-docker-ubuntu-2204)
|
||||||
|
- [With Ubuntu 22.04 Micro VM on TFGrid](#with-ubuntu-2204-micro-vm-on-tfgrid)
|
||||||
|
- [Prepare the Machine](#prepare-the-machine)
|
||||||
|
- [Set a DNS A Record](#set-a-dns-a-record)
|
||||||
|
- [Set a Firewall](#set-a-firewall)
|
||||||
|
- [Set HTTPS with Caddy](#set-https-with-caddy)
|
||||||
|
- [Manually](#manually)
|
||||||
|
- [With Zinit](#with-zinit)
|
||||||
|
- [Run the Development Server](#run-the-development-server)
|
||||||
|
- [Visit the Boot Generator](#visit-the-boot-generator)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
We cover how to deploy the development server of the Zero-OS Boot Generator Assistant.
|
||||||
|
|
||||||
|
Visit the [0-bootstrap repo](https://github.com/threefoldtech/0-bootstrap) for more information.
|
||||||
|
|
||||||
|
## Set the Environment
|
||||||
|
|
||||||
|
There are many ways to set your environment. Here we show with Docker and a micro VM.
|
||||||
|
|
||||||
|
Using Docker should only be used as a test before deploying on a micro VM with IPv4 and IPv6.
|
||||||
|
|
||||||
|
### With Docker Ubuntu 22.04
|
||||||
|
|
||||||
|
- Deploy Ubuntu 22.04 (Jammy) with Docker
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo docker pull ubuntu:jammy
|
||||||
|
sudo docker run -it ubuntu:jammy /bin/bash
|
||||||
|
```
|
||||||
|
|
||||||
|
### With Ubuntu 22.04 Micro VM on TFGrid
|
||||||
|
|
||||||
|
- Deploy an Ubuntu 22.04 micro VM on the [Dashboard](https://dashboard.grid.tf/)
|
||||||
|
- Set IPv4 and IPv6 as `Network`
|
||||||
|
- SSH into the VM
|
||||||
|
- It is recommended to use VSCodium Explorer to facilitate the file management and editing
|
||||||
|
|
||||||
|
## Prepare the Machine
|
||||||
|
|
||||||
|
Set the machine to deploy the server
|
||||||
|
|
||||||
|
- Set the machine in i386
|
||||||
|
```
|
||||||
|
dpkg --add-architecture i386
|
||||||
|
```
|
||||||
|
- Update the packages
|
||||||
|
```
|
||||||
|
apt update
|
||||||
|
```
|
||||||
|
- Install python3-flask
|
||||||
|
```
|
||||||
|
echo "2" | apt install -y python3-flask
|
||||||
|
```
|
||||||
|
- Install the prerequisites
|
||||||
|
```
|
||||||
|
apt install -y mtools syslinux isolinux libc6-dev-i386 libc6-dbg:i386 git wget genisoimage liblzma-dev build-essential sqlite3 nano
|
||||||
|
```
|
||||||
|
|
||||||
|
## Set a DNS A Record
|
||||||
|
|
||||||
|
Set a DNS A Record pointing to the server hosting the micro VM.
|
||||||
|
|
||||||
|
* Go to your domain name registrar
|
||||||
|
* In the section **Advanced DNS**, add a **DNS A Record** to your domain and link it to the IP address of the VM you deployed on:
|
||||||
|
* Type: A Record
|
||||||
|
* Host: @
|
||||||
|
* Value: <IPv4_Address>
|
||||||
|
* TTL: Automatic
|
||||||
|
* It might take up to 30 minutes to set the DNS properly.
|
||||||
|
* To check if the A record has been registered, you can use a common DNS checker:
|
||||||
|
* ```
|
||||||
|
https://dnschecker.org/#A/example.com
|
||||||
|
```
|
||||||
|
|
||||||
|
## Set a Firewall
|
||||||
|
|
||||||
|
We set a firewall.
|
||||||
|
|
||||||
|
- Install ufw
|
||||||
|
```
|
||||||
|
apt install -y ufw
|
||||||
|
```
|
||||||
|
- Set the ports
|
||||||
|
```
|
||||||
|
ufw allow 80
|
||||||
|
ufw allow 443
|
||||||
|
ufw allow 22
|
||||||
|
```
|
||||||
|
- Enable and see the status
|
||||||
|
```
|
||||||
|
ufw enable
|
||||||
|
ufw status
|
||||||
|
```
|
||||||
|
|
||||||
|
## Set HTTPS with Caddy
|
||||||
|
|
||||||
|
We set HTTPS with Caddy. First, we test manually, then we set a zinit service.
|
||||||
|
|
||||||
|
### Manually
|
||||||
|
|
||||||
|
- Install Caddy
|
||||||
|
```
|
||||||
|
apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
|
||||||
|
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
|
||||||
|
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' > /etc/apt/sources.list.d/caddy-stable.list
|
||||||
|
apt update
|
||||||
|
apt install caddy
|
||||||
|
```
|
||||||
|
|
||||||
|
- Start Caddy
|
||||||
|
```
|
||||||
|
caddy reverse-proxy -r --from example.com --to :5555
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also set Caddy to run with zinit, as shown below.
|
||||||
|
|
||||||
|
### With Zinit
|
||||||
|
|
||||||
|
We manage Caddy with zinit.
|
||||||
|
|
||||||
|
- Open the file for editing
|
||||||
|
```bash
|
||||||
|
nano /etc/zinit/caddy.yaml
|
||||||
|
```
|
||||||
|
- Insert the following line with your own domain and save the file
|
||||||
|
```
|
||||||
|
exec: caddy reverse-proxy -r --from example.com --to :80
|
||||||
|
```
|
||||||
|
- Add the new Caddy file to zinit
|
||||||
|
```bash
|
||||||
|
zinit monitor caddy
|
||||||
|
```
|
||||||
|
|
||||||
|
Zinit will start up Caddy immediately, restart it if it ever crashes, and start it up automatically after any reboots. Assuming you tested the Caddy invocation above and used the same form here, that should be all there is to it.
|
||||||
|
|
||||||
|
Here are some other Zinit commands that could be helpful to troubleshoot issues:
|
||||||
|
|
||||||
|
- See status of all services (same as "zinit list")
|
||||||
|
```
|
||||||
|
zinit
|
||||||
|
```
|
||||||
|
- Get logs for a service
|
||||||
|
```
|
||||||
|
zinit log caddy
|
||||||
|
```
|
||||||
|
- Restart a service (to test configuration changes, for example)
|
||||||
|
```
|
||||||
|
zinit stop caddy
|
||||||
|
zinit start caddy
|
||||||
|
```
|
||||||
|
|
||||||
|
Now that we set the domain and HTTPS, let's deploy the development server with Python.
|
||||||
|
|
||||||
|
## Run the Development Server
|
||||||
|
|
||||||
|
We show how to deploy the Boot Generator with Python.
|
||||||
|
|
||||||
|
|
||||||
|
- Clone the repository
|
||||||
|
```
|
||||||
|
git clone https://github.com/threefoldtech/0-bootstrap
|
||||||
|
cd 0-bootstrap
|
||||||
|
```
|
||||||
|
- Copy the sample file to config.py and add the proper info (e.g. set domain)
|
||||||
|
```
|
||||||
|
cp config.py.sample config.py
|
||||||
|
```
|
||||||
|
- In config.py, set the proper info, e.g. replace `http://default.tld` with your own domain, e.g. `https://example.com`
|
||||||
|
```
|
||||||
|
sed -i 's/http:\/\/default\.tld/https:\/\/example\.com/g' config.py
|
||||||
|
```
|
||||||
|
- Create the database
|
||||||
|
```
|
||||||
|
cat db/schema.sql | sqlite3 db/bootstrap.sqlite3
|
||||||
|
```
|
||||||
|
- Run the template script
|
||||||
|
```
|
||||||
|
bash setup/template.sh
|
||||||
|
```
|
||||||
|
- Run the development server with Python
|
||||||
|
```
|
||||||
|
python3 bootstrap.py
|
||||||
|
```
|
||||||
|
|
||||||
|
## Visit the Boot Generator
|
||||||
|
|
||||||
|
You can now access the boot generator on `https://example.com`.
|
||||||
|
|
||||||
|
![](./img/zos_boot_generator_main.png)
|
@ -11,6 +11,7 @@ Please make sure to check the [basics](system_administrators@@tfgrid3_getstarted
|
|||||||
- [Installation](grid3_javascript_installation.md)
|
- [Installation](grid3_javascript_installation.md)
|
||||||
- [Loading Client](grid3_javascript_loadclient.md)
|
- [Loading Client](grid3_javascript_loadclient.md)
|
||||||
- [Deploy a VM](grid3_javascript_vm.md)
|
- [Deploy a VM](grid3_javascript_vm.md)
|
||||||
|
- [Deploy a VM with Mycelium Network](grid3_javascript_vm_with_mycelium_network.md)
|
||||||
- [Capacity Planning](grid3_javascript_capacity_planning.md)
|
- [Capacity Planning](grid3_javascript_capacity_planning.md)
|
||||||
- [Deploy Multiple VMs](grid3_javascript_vms.md)
|
- [Deploy Multiple VMs](grid3_javascript_vms.md)
|
||||||
- [Deploy CapRover](grid3_javascript_caprover.md)
|
- [Deploy CapRover](grid3_javascript_caprover.md)
|
||||||
|
@ -0,0 +1,202 @@
|
|||||||
|
<h1> Deploying a VM with Mycelium Network</h1>
|
||||||
|
|
||||||
|
<h2>Table of Contents</h2>
|
||||||
|
|
||||||
|
- [Introduction](#introduction)
|
||||||
|
- [Example](#example)
|
||||||
|
- [Detailed Explanation](#detailed-explanation)
|
||||||
|
- [What is the Mycelium Network](#what-is-the-mycelium-network)
|
||||||
|
- [How to Deploy a Machine with the Mycelium Network](#how-to-deploy-a-machine-with-the-mycelium-network)
|
||||||
|
- [Summary](#summary)
|
||||||
|
- [Mycelium Flag Behavior](#mycelium-flag-behavior)
|
||||||
|
- [Mycelium Machine Seed](#mycelium-machine-seed)
|
||||||
|
- [Mycelium Network Seed](#mycelium-network-seed)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
We present information on how to deploy a VM with `Mycelium network` by the Javascript client with concrete examples.
|
||||||
|
|
||||||
|
Consult the [official Mycelium repo](https://github.com/threefoldtech/mycelium) to learn more.
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
Here is a simple example on how to use Mycelium with the Javascript client:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import { generateRandomHexSeed, GridClient, MachinesDeleteModel, MachinesModel } from "../src";
|
||||||
|
import { config, getClient } from "./client_loader";
|
||||||
|
import { log } from "./utils";
|
||||||
|
|
||||||
|
async function deploy(client: GridClient, vms: MachinesModel) {
|
||||||
|
const res = await client.machines.deploy(vms);
|
||||||
|
log("================= Deploying VM =================");
|
||||||
|
log(res);
|
||||||
|
log("================= Deploying VM =================");
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getDeployment(client: GridClient, name: string) {
|
||||||
|
const res = await client.machines.getObj(name);
|
||||||
|
log("================= Getting deployment information =================");
|
||||||
|
log(res);
|
||||||
|
log("================= Getting deployment information =================");
|
||||||
|
}
|
||||||
|
|
||||||
|
async function cancel(client: GridClient, options: MachinesDeleteModel) {
|
||||||
|
const res = await client.machines.delete(options);
|
||||||
|
log("================= Canceling the deployment =================");
|
||||||
|
log(res);
|
||||||
|
log("================= Canceling the deployment =================");
|
||||||
|
}
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
const name = "newMY";
|
||||||
|
const grid3 = await getClient(`vm/${name}`);
|
||||||
|
|
||||||
|
const vms: MachinesModel = {
|
||||||
|
name,
|
||||||
|
network: {
|
||||||
|
name: "hellotest",
|
||||||
|
ip_range: "10.249.0.0/16",
|
||||||
|
myceliumSeeds: [
|
||||||
|
{
|
||||||
|
nodeId: 168,
|
||||||
|
/**
|
||||||
|
* ### Mycelium Network Seed:
|
||||||
|
* - The `seed` is an optional field used to provide a specific seed for the Mycelium network.
|
||||||
|
* - If not provided, the `GridClient` will generate a seed automatically when the `mycelium` flag is enabled.
|
||||||
|
* - **Use Case:** If you need the new machine to have the same IP address as a previously deleted machine, you can reuse the old seed by setting the `myceliumSeed` field.
|
||||||
|
*/
|
||||||
|
seed: generateRandomHexSeed(32),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
machines: [
|
||||||
|
{
|
||||||
|
name: "testvmMY",
|
||||||
|
node_id: 168,
|
||||||
|
disks: [
|
||||||
|
{
|
||||||
|
name: "wedDisk",
|
||||||
|
size: 8,
|
||||||
|
mountpoint: "/testdisk",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
public_ip: false,
|
||||||
|
public_ip6: false,
|
||||||
|
planetary: true,
|
||||||
|
/**
|
||||||
|
* ### Mycelium Flag Behavior:
|
||||||
|
* - When the `mycelium` flag is enabled, there’s no need to manually provide the `myceliumSeed` flag.
|
||||||
|
* - The `GridClient` will automatically generate the necessary seed for you.
|
||||||
|
* - **However**, if you have **an existing seed** from a previously deleted machine and wish to deploy a new machine that retains the same IP address,
|
||||||
|
* - **you can simply pass in the old seed during deployment instead of calling the `generateRandomHexSeed()` function**.
|
||||||
|
*/
|
||||||
|
mycelium: true,
|
||||||
|
/**
|
||||||
|
* ### Mycelium Seed:
|
||||||
|
* - The `myceliumSeed` is an optional field used to provide a specific seed for the Mycelium network.
|
||||||
|
* - If not provided, the `GridClient` will generate a seed automatically when the `mycelium` flag is enabled.
|
||||||
|
* - **Use Case:** If you need the new machine to have the same IP address as a previously deleted machine, you can reuse the old seed by setting the `myceliumSeed` field.
|
||||||
|
*/
|
||||||
|
myceliumSeed: generateRandomHexSeed(3), // (HexSeed of length 6)
|
||||||
|
cpu: 1,
|
||||||
|
memory: 1024 * 2,
|
||||||
|
rootfs_size: 0,
|
||||||
|
flist: "https://hub.grid.tf/tf-official-apps/base:latest.flist",
|
||||||
|
entrypoint: "/sbin/zinit init",
|
||||||
|
env: {
|
||||||
|
SSH_KEY: config.ssh_key,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
metadata: "",
|
||||||
|
description: "test deploying single VM with mycelium via ts grid3 client",
|
||||||
|
};
|
||||||
|
|
||||||
|
//Deploy VMs
|
||||||
|
await deploy(grid3, vms);
|
||||||
|
|
||||||
|
//Get the deployment
|
||||||
|
await getDeployment(grid3, name);
|
||||||
|
|
||||||
|
//Uncomment the line below to cancel the deployment
|
||||||
|
// await cancel(grid3, { name });
|
||||||
|
|
||||||
|
await grid3.disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
|
main();
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Detailed Explanation
|
||||||
|
|
||||||
|
### What is the Mycelium Network
|
||||||
|
|
||||||
|
Mycelium is an IPv6 overlay network written in Rust. Each node that joins the overlay network will receive an overlay network IP in the 400::/7 range.
|
||||||
|
|
||||||
|
### How to Deploy a Machine with the Mycelium Network
|
||||||
|
|
||||||
|
You just need to enable `mycelium`: set it to true as we did in the example above.
|
||||||
|
|
||||||
|
```ts
|
||||||
|
const machines = [
|
||||||
|
{
|
||||||
|
// Other attrs
|
||||||
|
mycelium: true,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
### Mycelium Flag Behavior
|
||||||
|
|
||||||
|
```ts
|
||||||
|
const machines = [
|
||||||
|
{
|
||||||
|
// Other attrs
|
||||||
|
mycelium: true,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
- When the `mycelium` flag is enabled, there’s no need to manually provide the `myceliumSeed` flag.
|
||||||
|
- The `GridClient` will automatically generate the necessary seed for you.
|
||||||
|
- **However**, if you have **an existing seed** from a previously deleted machine and wish to deploy a new machine that retains the same IP address,
|
||||||
|
- **you can simply pass in the old seed during deployment instead of calling the `generateRandomHexSeed()` function**.
|
||||||
|
|
||||||
|
### Mycelium Machine Seed
|
||||||
|
|
||||||
|
```ts
|
||||||
|
const machines = [
|
||||||
|
{
|
||||||
|
// Other attrs
|
||||||
|
myceliumSeed: generateRandomHexSeed(3),
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
- The `myceliumSeed` is an optional field used to provide a specific seed for the Mycelium network.
|
||||||
|
- If not provided, the `GridClient` will generate a seed automatically when the `mycelium` flag is enabled.
|
||||||
|
- **Use Case:** If you need the new machine to have the same IP address as a previously deleted machine, you can reuse the old seed by setting the `myceliumSeed` field.
|
||||||
|
|
||||||
|
### Mycelium Network Seed
|
||||||
|
|
||||||
|
```ts
|
||||||
|
const network = {
|
||||||
|
// Other attrs
|
||||||
|
myceliumSeeds: [
|
||||||
|
{
|
||||||
|
nodeId: 1,
|
||||||
|
seed: generateRandomHexSeed(32),
|
||||||
|
}
|
||||||
|
],
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
- The `seed` is an optional field used to provide a specific seed for the Mycelium network.
|
||||||
|
- If not provided, the `GridClient` will generate a seed automatically when the `mycelium` flag is enabled.
|
||||||
|
- **Use Case:** If you need the new machine to have the same IP address as a previously deleted machine, you can reuse the old seed by setting the `myceliumSeed` field.
|
@ -99,7 +99,6 @@
|
|||||||
- [I set up a 3Node in the middle of the month, does it affect uptime requirements and rewards?](#i-set-up-a-3node-in-the-middle-of-the-month-does-it-affect-uptime-requirements-and-rewards)
|
- [I set up a 3Node in the middle of the month, does it affect uptime requirements and rewards?](#i-set-up-a-3node-in-the-middle-of-the-month-does-it-affect-uptime-requirements-and-rewards)
|
||||||
- [What is the difference between a certified and a non-certified 3Node?](#what-is-the-difference-between-a-certified-and-a-non-certified-3node)
|
- [What is the difference between a certified and a non-certified 3Node?](#what-is-the-difference-between-a-certified-and-a-non-certified-3node)
|
||||||
- [What are the different certifications available for 3Node servers and farms? What are the Gold and Silver certifications?](#what-are-the-different-certifications-available-for-3node-servers-and-farms-what-are-the-gold-and-silver-certifications)
|
- [What are the different certifications available for 3Node servers and farms? What are the Gold and Silver certifications?](#what-are-the-different-certifications-available-for-3node-servers-and-farms-what-are-the-gold-and-silver-certifications)
|
||||||
- [What is the difference between V2 and V3 minting?](#what-is-the-difference-between-v2-and-v3-minting)
|
|
||||||
- [What is the TFT minting address on Stellar Chain?](#what-is-the-tft-minting-address-on-stellar-chain)
|
- [What is the TFT minting address on Stellar Chain?](#what-is-the-tft-minting-address-on-stellar-chain)
|
||||||
- [Can Titans and DIY 3Nodes share the same farm?](#can-titans-and-diy-3nodes-share-the-same-farm)
|
- [Can Titans and DIY 3Nodes share the same farm?](#can-titans-and-diy-3nodes-share-the-same-farm)
|
||||||
- [Do I need one farm for each 3Node?](#do-i-need-one-farm-for-each-3node)
|
- [Do I need one farm for each 3Node?](#do-i-need-one-farm-for-each-3node)
|
||||||
@ -116,7 +115,6 @@
|
|||||||
- [Farming Rewards and Related Notions](#farming-rewards-and-related-notions)
|
- [Farming Rewards and Related Notions](#farming-rewards-and-related-notions)
|
||||||
- [What are the rewards of farming? Can I get more rewards when my 3Node is being utilized?](#what-are-the-rewards-of-farming-can-i-get-more-rewards-when-my-3node-is-being-utilized)
|
- [What are the rewards of farming? Can I get more rewards when my 3Node is being utilized?](#what-are-the-rewards-of-farming-can-i-get-more-rewards-when-my-3node-is-being-utilized)
|
||||||
- [How can I know the potential farming rewards for Grid Utilization?](#how-can-i-know-the-potential-farming-rewards-for-grid-utilization)
|
- [How can I know the potential farming rewards for Grid Utilization?](#how-can-i-know-the-potential-farming-rewards-for-grid-utilization)
|
||||||
- [What is the easiest way to farm ThreeFold tokens (TFT)?](#what-is-the-easiest-way-to-farm-threefold-tokens-tft)
|
|
||||||
- [When do I receive my rewards?](#when-do-i-receive-my-rewards)
|
- [When do I receive my rewards?](#when-do-i-receive-my-rewards)
|
||||||
- [Do farming rewards take into account the type of RAM, SSD, HDD and CPU of the 3Node server?](#do-farming-rewards-take-into-account-the-type-of-ram-ssd-hdd-and-cpu-of-the-3node-server)
|
- [Do farming rewards take into account the type of RAM, SSD, HDD and CPU of the 3Node server?](#do-farming-rewards-take-into-account-the-type-of-ram-ssd-hdd-and-cpu-of-the-3node-server)
|
||||||
- [Can I send my farming rewards directly to a crypto exchange?](#can-i-send-my-farming-rewards-directly-to-a-crypto-exchange)
|
- [Can I send my farming rewards directly to a crypto exchange?](#can-i-send-my-farming-rewards-directly-to-a-crypto-exchange)
|
||||||
@ -162,7 +160,6 @@
|
|||||||
- [Farming Optimization](#farming-optimization)
|
- [Farming Optimization](#farming-optimization)
|
||||||
- [What is the difference between a ThreeFold 3Node and a ThreeFold farm? What is the difference between the farm ID and the node ID?](#what-is-the-difference-between-a-threefold-3node-and-a-threefold-farm-what-is-the-difference-between-the-farm-id-and-the-node-id)
|
- [What is the difference between a ThreeFold 3Node and a ThreeFold farm? What is the difference between the farm ID and the node ID?](#what-is-the-difference-between-a-threefold-3node-and-a-threefold-farm-what-is-the-difference-between-the-farm-id-and-the-node-id)
|
||||||
- [How can I know how many GB of SSD and RAM do I need?](#how-can-i-know-how-many-gb-of-ssd-and-ram-do-i-need)
|
- [How can I know how many GB of SSD and RAM do I need?](#how-can-i-know-how-many-gb-of-ssd-and-ram-do-i-need)
|
||||||
- [What is the optimal ratio of virtual cores - vcores or threads - SSD storage and RAM memory? What is the best optimization scenario for a 3Node, in terms of TFT farming rewards?](#what-is-the-optimal-ratio-of-virtual-cores---vcores-or-threads---ssd-storage-and-ram-memory-what-is-the-best-optimization-scenario-for-a-3node-in-terms-of-tft-farming-rewards)
|
|
||||||
- [What does TBW mean? What is a good TBW level for a SSD disk?](#what-does-tbw-mean-what-is-a-good-tbw-level-for-a-ssd-disk)
|
- [What does TBW mean? What is a good TBW level for a SSD disk?](#what-does-tbw-mean-what-is-a-good-tbw-level-for-a-ssd-disk)
|
||||||
- [Are SATA and SAS drives interchangeable?](#are-sata-and-sas-drives-interchangeable)
|
- [Are SATA and SAS drives interchangeable?](#are-sata-and-sas-drives-interchangeable)
|
||||||
- [What is the speed difference between SAS and SATA disks?](#what-is-the-speed-difference-between-sas-and-sata-disks)
|
- [What is the speed difference between SAS and SATA disks?](#what-is-the-speed-difference-between-sas-and-sata-disks)
|
||||||
@ -1130,13 +1127,6 @@ DIY certified 3Nodes are a future possibility.
|
|||||||
Farms can also be certified. The certifications are: [gold certified farming](https://forum.threefold.io/t/gep-gold-certified-farming-specs-closed/2925) and [silver certified farming](https://forum.threefold.io/t/silver-booster-request-for-comments/3416).
|
Farms can also be certified. The certifications are: [gold certified farming](https://forum.threefold.io/t/gep-gold-certified-farming-specs-closed/2925) and [silver certified farming](https://forum.threefold.io/t/silver-booster-request-for-comments/3416).
|
||||||
|
|
||||||
Note that gold and silver certifications are still being discussed. Join the discussion on the [ThreeFold Forum](http://forum.threefold.io/).
|
Note that gold and silver certifications are still being discussed. Join the discussion on the [ThreeFold Forum](http://forum.threefold.io/).
|
||||||
|
|
||||||
|
|
||||||
### What is the difference between V2 and V3 minting?
|
|
||||||
|
|
||||||
V2 is being sunset. New miners should directly onboard to V3.
|
|
||||||
On the tokenomics side, V2 rewards decrease as the difficulty level increases. For the V3 rewards, the rewards are constant for 5 years. In short, V3 is more profitable in the long run. For more information, read [this post](https://forum.threefold.io/t/comparison-v2-vs-v3-minting/2122).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### What is the TFT minting address on Stellar Chain?
|
### What is the TFT minting address on Stellar Chain?
|
||||||
@ -1241,13 +1231,6 @@ By connecting a 3Node to the Grid, you get Farming Rewards. If you set a public
|
|||||||
Go on the [ThreeFold simulator](https://simulator.grid.tf/), enter your 3Node resources, check the Public IP address. This will enable farming rewards from the parameter NU Required Per CU. Check the difference in the farming rewards per month. Note that you will need a Public IP address.
|
Go on the [ThreeFold simulator](https://simulator.grid.tf/), enter your 3Node resources, check the Public IP address. This will enable farming rewards from the parameter NU Required Per CU. Check the difference in the farming rewards per month. Note that you will need a Public IP address.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### What is the easiest way to farm ThreeFold tokens (TFT)?
|
|
||||||
|
|
||||||
Buy a [certified 3Node](https://marketplace.3node.global/index.php). This is more or less *plug n play*! You can also build a [DIY 3Node](#what-are-the-general-requirements-for-a-diy-3node-server). It's fun and there are many resources to help you along the way.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### When do I receive my rewards?
|
### When do I receive my rewards?
|
||||||
|
|
||||||
They are distributed once a month, around the 8th*. Distributions are not daily, or after a certain threshold. Note that upcoming minting rules may have a 24 month lockup or until 30% utilization for 3 months on your 3Node.
|
They are distributed once a month, around the 8th*. Distributions are not daily, or after a certain threshold. Note that upcoming minting rules may have a 24 month lockup or until 30% utilization for 3 months on your 3Node.
|
||||||
@ -1268,7 +1251,7 @@ This is not possible. When you send tokens to a crypto exchange, you need to inc
|
|||||||
|
|
||||||
### Do I need collateral to farm ThreeFold tokens?
|
### Do I need collateral to farm ThreeFold tokens?
|
||||||
|
|
||||||
Many decentralized data projects require collateral, but not ThreeFold. There is an ongoing discussion on collateral. Join the discussion [here](https://forum.threefold.io/t/should-tft-collateral-be-required-for-3nodes/3724).
|
Many decentralized data projects require collateral, but not ThreeFold.
|
||||||
|
|
||||||
|
|
||||||
### Can I add external drives to the 3Nodes to increase rewards and resources available to the ThreeFold Grid?
|
### Can I add external drives to the 3Nodes to increase rewards and resources available to the ThreeFold Grid?
|
||||||
@ -1575,19 +1558,6 @@ You need 50 GB of SSD per compute units (CU) and a minimum of 500 GB SSD and 2 G
|
|||||||
|
|
||||||
A 3Node has, in general, 2 compute units (CU) per thread. Thus, for peak optimisation, you need 100 GB SSD and 8GB RAM per thread.
|
A 3Node has, in general, 2 compute units (CU) per thread. Thus, for peak optimisation, you need 100 GB SSD and 8GB RAM per thread.
|
||||||
|
|
||||||
### What is the optimal ratio of virtual cores - vcores or threads - SSD storage and RAM memory? What is the best optimization scenario for a 3Node, in terms of TFT farming rewards?
|
|
||||||
|
|
||||||
In short, for peak optimization, aim for 100 GB SSD of storage and 8GB RAM of memory per virtual core (vcore or thread).
|
|
||||||
|
|
||||||
For example, a 32 threads (32 vcores) 3Nodes would need 3.2 TB SSD and 256GB RAM to be optimal, reward-wise.
|
|
||||||
That is: 32 * 100 = 3200 GB SSD = 3.2TB SSD, and 32 * 8 = 256 GB RAM total.
|
|
||||||
|
|
||||||
Adding more GB of RAM would not increase your TFT rewards. You would need more vcores if you want to expand.
|
|
||||||
|
|
||||||
NB: This is purely based on reward considerations. Some users might need different ratios for different specific uses of the Grid.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### What does TBW mean? What is a good TBW level for a SSD disk?
|
### What does TBW mean? What is a good TBW level for a SSD disk?
|
||||||
|
|
||||||
TBW means Terabytes Written. TBW directly measures how much you can write cumulatively into the drive over its lifetime. For your 3Node, it can be a good idea to prioritize a minimum ratio of 500 TBW per 1TB for SSD.
|
TBW means Terabytes Written. TBW directly measures how much you can write cumulatively into the drive over its lifetime. For your 3Node, it can be a good idea to prioritize a minimum ratio of 500 TBW per 1TB for SSD.
|
||||||
|
@ -24,6 +24,8 @@
|
|||||||
|
|
||||||
We will now learn how to create a Zero-OS bootstrap image in order to boot a DIY 3Node.
|
We will now learn how to create a Zero-OS bootstrap image in order to boot a DIY 3Node.
|
||||||
|
|
||||||
|
If you are building an HDD-only node, read [this section](hdd_only_nodes.md) too.
|
||||||
|
|
||||||
## Download the Zero-OS Bootstrap Image
|
## Download the Zero-OS Bootstrap Image
|
||||||
|
|
||||||
Let's download the Zero-OS bootstrap image.
|
Let's download the Zero-OS bootstrap image.
|
||||||
|
@ -31,6 +31,8 @@ The essential information are available in the section [3Node Requirements Summa
|
|||||||
|
|
||||||
You need a theoretical minimum of 500 GB of SSD and 2 GB of RAM on a mini pc, desktop or server. In short, for peak optimization, aim for 100 GB of SSD and 8GB of RAM per thread. (Thread is equivalent to virtual core or logical core.)
|
You need a theoretical minimum of 500 GB of SSD and 2 GB of RAM on a mini pc, desktop or server. In short, for peak optimization, aim for 100 GB of SSD and 8GB of RAM per thread. (Thread is equivalent to virtual core or logical core.)
|
||||||
|
|
||||||
|
If you are building an HDD-only node, read [this section](hdd_only_nodes.md) too.
|
||||||
|
|
||||||
Also, TFDAO might implement a farming parameter based on [passmark](https://www.cpubenchmark.net/cpu_list.php). From the ongoing discussion on the Forum, you should aim at a CPU mark of 1000 and above per core.
|
Also, TFDAO might implement a farming parameter based on [passmark](https://www.cpubenchmark.net/cpu_list.php). From the ongoing discussion on the Forum, you should aim at a CPU mark of 1000 and above per core.
|
||||||
|
|
||||||
> 3Node optimal farming hardware ratio -> 100 GB of SSD + 8 GB of RAM per Virtual Core
|
> 3Node optimal farming hardware ratio -> 100 GB of SSD + 8 GB of RAM per Virtual Core
|
||||||
@ -58,6 +60,7 @@ Any computer with the following specifications can be used as a DIY 3Node.
|
|||||||
|
|
||||||
*A passmark of 1000 per core is recommend and will be a minimum requirement in the future. This is not yet an official requirement. A 3Node with less than 1000 passmark per core of CPU would not be penalized if it is registered before the DAO settles the [Passmark Question](https://forum.threefold.io/t/cpu-benchmarking-for-reward-calculations/2479).
|
*A passmark of 1000 per core is recommend and will be a minimum requirement in the future. This is not yet an official requirement. A 3Node with less than 1000 passmark per core of CPU would not be penalized if it is registered before the DAO settles the [Passmark Question](https://forum.threefold.io/t/cpu-benchmarking-for-reward-calculations/2479).
|
||||||
|
|
||||||
|
> Note: It is also possible to build an HDD-only node. Read more about this [here](hdd_only_nodes.md).
|
||||||
|
|
||||||
|
|
||||||
## Bandwidth Requirements
|
## Bandwidth Requirements
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
- [1. Booting the 3Node with Zero-OS](#1-booting-the-3node-with-zero-os)
|
- [1. Booting the 3Node with Zero-OS](#1-booting-the-3node-with-zero-os)
|
||||||
- [2. Check the 3Node Status Online](#2-check-the-3node-status-online)
|
- [2. Check the 3Node Status Online](#2-check-the-3node-status-online)
|
||||||
|
- [Check Node Health](#check-node-health)
|
||||||
- [3. Receive the Farming Rewards](#3-receive-the-farming-rewards)
|
- [3. Receive the Farming Rewards](#3-receive-the-farming-rewards)
|
||||||
- [Advanced Booting Methods (Optional)](#advanced-booting-methods-optional)
|
- [Advanced Booting Methods (Optional)](#advanced-booting-methods-optional)
|
||||||
- [PXE Booting with OPNsense](#pxe-booting-with-opnsense)
|
- [PXE Booting with OPNsense](#pxe-booting-with-opnsense)
|
||||||
@ -42,6 +43,9 @@ You can use the ThreeFold [Node Finder](node_finder.md) to verify that your 3Nod
|
|||||||
* [ThreeFold Dev Net Dashboard](https://dashboard.dev.grid.tf/)
|
* [ThreeFold Dev Net Dashboard](https://dashboard.dev.grid.tf/)
|
||||||
* [ThreeFold QA Net Dashboard](https://dashboard.qa.grid.tf/)
|
* [ThreeFold QA Net Dashboard](https://dashboard.qa.grid.tf/)
|
||||||
|
|
||||||
|
### Check Node Health
|
||||||
|
|
||||||
|
It is also possible to check the node health via the Node Finder. Read [this section](dashboard@@node_finder) for more information.
|
||||||
|
|
||||||
## 3. Receive the Farming Rewards
|
## 3. Receive the Farming Rewards
|
||||||
|
|
||||||
|
@ -74,13 +74,19 @@ included_nodes: [optional, if no nodes are added then the farmerbot will include
|
|||||||
- "<your node ID to be included, required at least 2>"
|
- "<your node ID to be included, required at least 2>"
|
||||||
excluded_nodes:
|
excluded_nodes:
|
||||||
- "<your node ID to be excluded, optional>"
|
- "<your node ID to be excluded, optional>"
|
||||||
|
priority_nodes:
|
||||||
|
- "<your node ID to have a priority in nodes management, optional>"
|
||||||
never_shutdown_nodes:
|
never_shutdown_nodes:
|
||||||
- "<your node ID to be never shutdown, optional>"
|
- "<your node ID to be never shutdown, optional>"
|
||||||
power:
|
power:
|
||||||
periodic_wake_up_start: "<daily time to wake up nodes for your farm, default is the time your run the command, format is 00:00AM or 00:00PM, optional>"
|
periodic_wake_up_start: "<daily time to wake up nodes for your farm, default is the time your run the command, format is 00:00AM or 00:00PM, optional>"
|
||||||
wake_up_threshold: "<the threshold number for resources usage that will need another node to be on, default is 80, optional>"
|
|
||||||
periodic_wake_up_limit: "<the number (limit) of nodes to be waken up everyday, default is 1, optional>"
|
periodic_wake_up_limit: "<the number (limit) of nodes to be waken up everyday, default is 1, optional>"
|
||||||
overprovision_cpu: "<how much node allows over provisioning the CPU , default is 1, range: [1;4], optional>"
|
overprovision_cpu: "<how much node allows over provisioning the CPU , default is 1, range: [1;4], optional>"
|
||||||
|
wake_up_threshold:
|
||||||
|
cru: "<the threshold number for cru usage that will need another node to be on, default is 80, optional>"
|
||||||
|
mru: "<the threshold number for mru usage that will need another node to be on, default is 80, optional>"
|
||||||
|
sru: "<the threshold number for sru usage that will need another node to be on, default is 80, optional>"
|
||||||
|
hru: "<the threshold number for hru usage that will need another node to be on, default is 80, optional>"
|
||||||
```
|
```
|
||||||
|
|
||||||
## Supported Commands and Flags
|
## Supported Commands and Flags
|
||||||
|
@ -155,8 +155,6 @@ It is highly recommended to set a Ubuntu systemd service to keep the Farmerbot r
|
|||||||
[Service]
|
[Service]
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
StandardOutput=append:/root/farmerbotfiles/farmerbot.log
|
|
||||||
StandardError=append:/root/farmerbotfiles/farmerbot.log
|
|
||||||
ExecStart=/usr/local/bin/farmerbot run -e /root/farmerbotfiles/.env -c /root/farmerbotfiles/config.yml -d
|
ExecStart=/usr/local/bin/farmerbot run -e /root/farmerbotfiles/.env -c /root/farmerbotfiles/config.yml -d
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
@ -175,26 +173,28 @@ It is highly recommended to set a Ubuntu systemd service to keep the Farmerbot r
|
|||||||
|
|
||||||
### Check the Farmerbot Logs
|
### Check the Farmerbot Logs
|
||||||
|
|
||||||
Once you've set a Farmerbot systemd service [as show above](#set-a-systemd-service), the Farmerbot will start writing logs to the file `farmerbot.log` in the directory `farmerbotfiles`.
|
You can get more details on the operation of the Farmerbot by inspecting the log file.
|
||||||
|
|
||||||
Thus, you can get more details on the operation of the Farmerbot by inspecting the log file. This can also be used to see the **Farmerbot Report Table** as this table is printed in the Farmerbot log.
|
* View the log file
|
||||||
|
```
|
||||||
* See all logs so far
|
journalctl -u <unit file name>
|
||||||
```
|
```
|
||||||
cat ~/farmerbotfiles/farmerbot.log
|
* View the log file with reverse output
|
||||||
```
|
```
|
||||||
* See the last ten lines and new logs as they are generated
|
journalctl -ru <unit file name>
|
||||||
```
|
```
|
||||||
tail -f ~/farmerbotfiles/farmerbot.log
|
* View X lines from the log file
|
||||||
```
|
```
|
||||||
* See all logs and new lines as they are generated
|
journalctl -u <unit file name> -n X
|
||||||
```
|
```
|
||||||
tail -f -n +1 ~/farmerbotfiles/farmerbot.log
|
* View the log file since a given date
|
||||||
```
|
```
|
||||||
* See the last report table
|
journalctl -u <unit file name> --since <date>
|
||||||
```
|
```
|
||||||
tac ~/farmerbotfiles/farmerbot.log | grep -B5000 -m1 "Nodes report" | tac
|
* Create a log file with journalctl with the last 1000 lines
|
||||||
```
|
```
|
||||||
|
journalctl -u farmerbot -n 1000 > farmerbot.log
|
||||||
|
```
|
||||||
|
|
||||||
### Stop the Farmerbot
|
### Stop the Farmerbot
|
||||||
|
|
||||||
|
@ -9,29 +9,10 @@ To buy a certified node from an official ThreeFold vendor, check the [ThreeFold
|
|||||||
<h2> Table of Contents </h2>
|
<h2> Table of Contents </h2>
|
||||||
|
|
||||||
- [Build a 3Node](3node_building.md)
|
- [Build a 3Node](3node_building.md)
|
||||||
- [1. Create a Farm](1_create_farm.md)
|
- [Farming Requirements](farming_requirements.md)
|
||||||
- [2. Create a Zero-OS Bootstrap Image](2_bootstrap_image.md)
|
|
||||||
- [3. Set the Hardware](3_set_hardware.md)
|
|
||||||
- [4. Wipe All the Disks](4_wipe_all_disks.md)
|
|
||||||
- [5. Set the BIOS/UEFI](5_set_bios_uefi.md)
|
|
||||||
- [6. Boot the 3Node](6_boot_3node.md)
|
|
||||||
- [Farming Optimization](farming_optimization.md)
|
- [Farming Optimization](farming_optimization.md)
|
||||||
- [GPU Farming](gpu_farming.md)
|
|
||||||
- [Set Additional Fees](set_additional_fees.md)
|
|
||||||
- [Minting Receipts](minting_receipts.md)
|
|
||||||
- [Minting Periods](minting_periods.md)
|
|
||||||
- [Room Parameters](farm_room_parameters.md)
|
|
||||||
- [Farming Costs](farming_costs.md)
|
|
||||||
- [Calculate Your ROI](calculate_roi.md)
|
|
||||||
- [Farming Requirements](farming_requirements.md)
|
|
||||||
- [Advanced Networking](advanced_networking_toc.md)
|
- [Advanced Networking](advanced_networking_toc.md)
|
||||||
- [Networking Overview](networking_overview.md)
|
|
||||||
- [Network Considerations](network_considerations.md)
|
|
||||||
- [Network Setup](network_setup.md)
|
|
||||||
- [Farmerbot](farmerbot_intro.md)
|
- [Farmerbot](farmerbot_intro.md)
|
||||||
- [Quick Guide](farmerbot_quick.md)
|
|
||||||
- [Additional Information](farmerbot_information.md)
|
|
||||||
- [Minting and the Farmerbot](farmerbot_minting.md)
|
|
||||||
- [Node Status Bot](node_status_bot.md)
|
- [Node Status Bot](node_status_bot.md)
|
||||||
- [Farming Troubleshooting](farming_troubleshooting.md)
|
- [Farming Troubleshooting](farming_troubleshooting.md)
|
||||||
- [Farmers FAQ](faq@@faq)
|
- [Farmers FAQ](faq@@faq)
|
||||||
|
@ -6,9 +6,9 @@ The section [Build a 3Node](3node_building.md) covered the notions necessary to
|
|||||||
|
|
||||||
- [GPU Farming](gpu_farming.md)
|
- [GPU Farming](gpu_farming.md)
|
||||||
- [Set Additional Fees](set_additional_fees.md)
|
- [Set Additional Fees](set_additional_fees.md)
|
||||||
|
- [HDD-Only Nodes](hdd_only_nodes.ms)
|
||||||
- [Minting Receipts](minting_receipts.md)
|
- [Minting Receipts](minting_receipts.md)
|
||||||
- [Minting Periods](minting_periods.md)
|
- [Minting Periods](minting_periods.md)
|
||||||
- [Room Parameters](farm_room_parameters.md)
|
- [Room Parameters](farm_room_parameters.md)
|
||||||
- [Farming Costs](farming_costs.md)
|
- [Farming Costs](farming_costs.md)
|
||||||
- [Calculate Your ROI](calculate_roi.md)
|
- [Calculate Your ROI](calculate_roi.md)
|
||||||
- [Farming Requirements](farming_requirements.md)
|
|
@ -1,28 +0,0 @@
|
|||||||
<h1> Farming Requirements </h1>
|
|
||||||
|
|
||||||
<h2> Table of Contents </h2>
|
|
||||||
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [Uptime Requirements](#uptime-requirements)
|
|
||||||
- [Farmerbot Consideration](#farmerbot-consideration)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
This section contains information on the farming requirements.
|
|
||||||
|
|
||||||
## Uptime Requirements
|
|
||||||
|
|
||||||
To be eligible for proof-of-capacity farming rewards, farmers need to ensure that their nodes have a minimum uptime per minting period.
|
|
||||||
|
|
||||||
- 95% uptime requirements for DIY nodes
|
|
||||||
- This means that nodes have 36 hours of allowed downtime per month
|
|
||||||
- 98% uptime requirements for certified nodes
|
|
||||||
- This means that nodes have 14.4 hours of allowed downtime per month
|
|
||||||
|
|
||||||
A minting period is 720 hours.
|
|
||||||
|
|
||||||
### Farmerbot Consideration
|
|
||||||
|
|
||||||
When minting considers a node running the Farmerbot, it counts standby time as uptime, as long as the node is healthy. If the node fails to wake within 24 hours, those 24 are deducted. This means that if the node misses two different wakeup within 24 hours, it will not have sufficient uptime for this minting period. This accounts for both certified and DIY cases.
|
|
37
collections/farmers/farming_optimization/hdd_only_nodes.md
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<h1> HDD-Only Nodes</h1>
|
||||||
|
|
||||||
|
<h2> Table of Contents </h2>
|
||||||
|
|
||||||
|
- [Introduction](#introduction)
|
||||||
|
- [Requirements](#requirements)
|
||||||
|
- [BIOS Parameters](#bios-parameters)
|
||||||
|
- [Bootstrap Image for HDD-Only Nodes](#bootstrap-image-for-hdd-only-nodes)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
It is possible to create an HDD-only node. This means that this node doesn't have SSD disks, but only HDD disks.
|
||||||
|
|
||||||
|
The steps are almost all the same, except for the creation of the Zero-OS Bootstrap image, which needs an extra kernel argument.
|
||||||
|
|
||||||
|
The requirements and BIOS parameters differences are also covered.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
An HDD-only node needs at least 100GB of HDD disk.
|
||||||
|
|
||||||
|
## BIOS Parameters
|
||||||
|
|
||||||
|
In the BIOS, make sure to set `AHCI` for SATA disks.
|
||||||
|
|
||||||
|
## Bootstrap Image for HDD-Only Nodes
|
||||||
|
|
||||||
|
To create an HDD-only node, the bootstrap image needs an extra kernel argument:
|
||||||
|
|
||||||
|
- Navigate to the [Zero-OS Bootstrap site](https://bootstrap.grid.tf/).
|
||||||
|
- Select `Expert mode` from the menu at the top.
|
||||||
|
- Fill in all the needed inputs (Farm ID, network, kernel and format).
|
||||||
|
- You can keep the default kernel
|
||||||
|
- In the `Extra kernel arguments` input field, type `missing-ssd`.
|
||||||
|
- Generate and download the image.
|
30
collections/farmers/farming_requirements.md
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<h1> Farming Requirements </h1>
|
||||||
|
|
||||||
|
<h2> Table of Contents </h2>
|
||||||
|
|
||||||
|
- [Introduction](#introduction)
|
||||||
|
- [Uptime Requirements](#uptime-requirements)
|
||||||
|
- [Farmerbot Considerations](#farmerbot-considerations)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
This section contains information on the farming requirements.
|
||||||
|
|
||||||
|
## Uptime Requirements
|
||||||
|
|
||||||
|
To be eligible for proof-of-capacity farming rewards, farmers need to ensure that their nodes have a minimum uptime per minting period.
|
||||||
|
|
||||||
|
- 95% uptime requirements for DIY nodes
|
||||||
|
- This means that nodes have 36 hours of allowed downtime per month
|
||||||
|
- 98% uptime requirements for certified nodes
|
||||||
|
- This means that nodes have 14.4 hours of allowed downtime per month
|
||||||
|
|
||||||
|
Each minting period is 720 hours. The minimum uptime is always calculated against the duration of a full minting period.
|
||||||
|
|
||||||
|
> We can recommend that farmers bring any new nodes online shortly before the start of a new minting period, to avoid any extra energy use during a period where the node can't possibly be eligible for minting. Consult the 2024 minting periods [here](./farming_optimization/minting_periods.md#2024-minting-periods).
|
||||||
|
|
||||||
|
### Farmerbot Considerations
|
||||||
|
|
||||||
|
When minting considers a node running the Farmerbot, it counts standby time as uptime, as long as the node is healthy. If the node fails to wake within 24 hours, those 24 hours are deducted. This means that if the node misses two different wakeup within 24 hours, it will not have sufficient uptime for this minting period. This accounts for both certified and DIY cases.
|
@ -1,507 +1,23 @@
|
|||||||
<h1> Farming Troubleshooting </h1>
|
<h1> Farming Troubleshooting </h1>
|
||||||
|
|
||||||
<h2> Table of Contents </h2>
|
When building a 3Node, we advise to follow carefully the 6 steps laid out in the [3Node building](3node_building/3node_building.md) section of the manual. Make sure that the disks are properly wiped, that you have the correct bootstrap image and that the BIOS/UEFI is set correctly.
|
||||||
|
|
||||||
- [Introduction](#introduction)
|
If you are still having issues, you may find solutions to your issues by reading the sections [Build Troubleshooting](farming_troubleshooting_tips.md#build-troubleshooting) and [Basic Post Build Troubleshooting](farming_troubleshooting_tips.md#basic-post-build-troubleshooting).
|
||||||
- [General Troubleshooting Process](#general-troubleshooting-process)
|
|
||||||
- [Build Troubleshooting](#build-troubleshooting)
|
|
||||||
- [Set the BIOS](#set-the-bios)
|
|
||||||
- [BIOS Troubleshooting](#bios-troubleshooting)
|
|
||||||
- [When running wipefs to wipe my disks on Linux, I get either of the following errors: "syntax error near unexpected token" or "Probing Initialized Failed". Is there a fix?](#when-running-wipefs-to-wipe-my-disks-on-linux-i-get-either-of-the-following-errors-syntax-error-near-unexpected-token-or-probing-initialized-failed-is-there-a-fix)
|
|
||||||
- [Disk Not Recognized by Zero-OS](#disk-not-recognized-by-zero-os)
|
|
||||||
- [Onboard Storage](#onboard-storage)
|
|
||||||
- [When I tried to boot my 3Node, at some point the screen went black, with or without a blinking hyphen or dash. What could cause this and what could I do to resolve the issue?](#when-i-tried-to-boot-my-3node-at-some-point-the-screen-went-black-with-or-without-a-blinking-hyphen-or-dash-what-could-cause-this-and-what-could-i-do-to-resolve-the-issue)
|
|
||||||
- [I get the error Certificate is not yet valid when booting my 3Node server, what can I do?](#i--get-the-error-certificate-is-not-yet-valid-when-booting-my-3node-server-what-can-i-do)
|
|
||||||
- [My SSD is sometimes detected as HDD by Zero-OS when there is a reboot. Is there a fix or a way to test the SSD disk?](#my-ssd-is-sometimes-detected-as-hdd-by-zero-os-when-there-is-a-reboot-is-there-a-fix-or-a-way-to-test-the-ssd-disk)
|
|
||||||
- [My 3Node uses only PCIe adapters and SSD NVME disks. Do I need the RAID controller on?](#my-3node-uses-only-pcie-adapters-and-ssd-nvme-disks-do-i-need-the-raid-controller-on)
|
|
||||||
- [My 3Node has 2 ethernet ports in the back, with one written AMT above, what does it mean? Can I use this port to connect my 3Node to the ThreeFold Grid?](#my-3node-has-2-ethernet-ports-in-the-back-with-one-written-amt-above-what-does-it-mean-can-i-use-this-port-to-connect-my-3node-to-the-threefold-grid)
|
|
||||||
- [When I boot my Dell server, I get the message: All of the disks from your previous configuration are gone... Press any key to continue or 'C' to load the configuration utility. What can I do?](#when-i-boot-my-dell-server-i-get-the-message-all-of-the-disks-from-your-previous-configuration-are-gone-press-any-key-to-continue-or-c-to-load-the-configuration-utility-what-can-i-do)
|
|
||||||
- [When booting a 3Node, how to fix the error: "no disks: registration failed"?](#when-booting-a-3node-how-to-fix-the-error-no-disks-registration-failed)
|
|
||||||
- [I have trouble connecting the 3Node to the Grid with a 10GB NIC card. What can I do?](#i-have-trouble-connecting-the-3node-to-the-grid-with-a-10gb-nic-card-what-can-i-do)
|
|
||||||
- [What does it mean when I see, during the 3Node boot, the message: error = context deadline exceeded?](#what-does-it-mean-when-i-see-during-the-3node-boot-the-message-error--context-deadline-exceeded)
|
|
||||||
- [How can I fix the error messages: "context deadline exceeded" accompanied with "node is behind acceptable delay with timestamp"?](#how-can-i-fix-the-error-messages-context-deadline-exceeded-accompanied-with-node-is-behind-acceptable-delay-with-timestamp)
|
|
||||||
- [I try to boot a 3Node, but I get the error: "No Route to Host on Linux". What does it mean?](#i-try-to-boot-a-3node-but-i-get-the-error-no-route-to-host-on-linux-what-does-it-mean)
|
|
||||||
- [How can I fix the error: "Network configuration succeed but Zero-OS kernel could not be downloaded" when booting a 3Node?](#how-can-i-fix-the-error-network-configuration-succeed-but-zero-os-kernel-could-not-be-downloaded-when-booting-a-3node)
|
|
||||||
- [Using SAS disks, I get the error; "No ssd found, failed to register". What can I do to fix this?](#using-sas-disks-i-get-the-error-no-ssd-found-failed-to-register-what-can-i-do-to-fix-this)
|
|
||||||
- [When booting a 3Node, I get the message: failed to register node: failed to create node: failed to submit extrinsic: Invalid Transaction: registration failed. What could fix this?](#when-booting-a-3node-i-get-the-message-failed-to-register-node-failed-to-create-node-failed-to-submit-extrinsic-invalid-transaction-registration-failed-what-could-fix-this)
|
|
||||||
- [I did a format on my SSD disk, but Zero-OS still does not recognize them. What's wrong?](#i-did-a-format-on-my-ssd-disk-but-zero-os-still-does-not-recognize-them-whats-wrong)
|
|
||||||
- [My 3Node doesn't boot properly without a monitor plugged in. What can I do?](#my-3node-doesnt-boot-properly-without-a-monitor-plugged-in-what-can-i-do)
|
|
||||||
- [My 3Node won't boot without disabling the Secure Boot option, is it safe?](#my-3node-wont-boot-without-disabling-the-secure-boot-option-is-it-safe)
|
|
||||||
- [When booting the 3Node, I get the error Network interface detected but autoconfiguration failed. What can I do?](#when-booting-the-3node-i-get-the-error-network-interface-detected-but-autoconfiguration-failed-what-can-i-do)
|
|
||||||
- [When I try to boot my 3Node, the fans start spinning fast with a loud noise and the screen is black. What can I do to resolve this?](#when-i-try-to-boot-my-3node-the-fans-start-spinning-fast-with-a-loud-noise-and-the-screen-is-black-what-can-i-do-to-resolve-this)
|
|
||||||
- [When booting Zero-OS with IPV6 configurations, I get the errors (1) dial tcp: address IPV6-address too many columns in address and (2) no pools matches key: not routable. What can I do to fix this issue?](#when-booting-zero-os-with-ipv6-configurations-i-get-the-errors-1-dial-tcp-address-ipv6-address-too-many-columns-in-address-and-2-no-pools-matches-key-not-routable-what-can-i-do-to-fix-this-issue)
|
|
||||||
- [I try to boot a 3Node, but I get the message no route with default gateway found. What does it mean?](#i-try-to-boot-a-3node-but-i-get-the-message-no-route-with-default-gateway-found-what-does-it-mean)
|
|
||||||
- [When booting a 3Node, Zero-OS downloads fine, but then I get the message: error no route with default gateway found, and the message: info check if interface has a cable plugged in. What could fix this?](#when-booting-a-3node-zero-os-downloads-fine-but-then-i-get-the-message-error-no-route-with-default-gateway-found-and-the-message-info-check-if-interface-has-a-cable-plugged-in-what-could-fix-this)
|
|
||||||
- [How can I update Dell and HP servers to Intel E5-2600v2, E5-2400v2 and E5-4600v2, when applicable?](#how-can-i-update-dell-and-hp-servers-to-intel-e5-2600v2-e5-2400v2-and-e5-4600v2-when-applicable)
|
|
||||||
- [How can I update the firmware and driver of a Dell PowerEdge server?](#how-can-i-update-the-firmware-and-driver-of-a-dell-poweredge-server)
|
|
||||||
- [When I boot a 3Node in UEFI mode, it gets stuck at: Initializing Network Device, is there a way to fix this?](#when-i-boot-a-3node-in-uefi-mode-it-gets-stuck-at-initializing-network-device-is-there-a-way-to-fix-this)
|
|
||||||
- [When I boot my 3Node, it gets stuck during the Zero-OS download. It never reaches 100%. What can I do to fix this issue?](#when-i-boot-my-3node-it-gets-stuck-during-the-zero-os-download-it-never-reaches-100-what-can-i-do-to-fix-this-issue)
|
|
||||||
- [When booting a 3Node, I get the error=“context deadline exceeded” module=network error=failed to initialize rmb api failed to initialized admin mw: failed to get farm: farm not found: object not found. What can I do to fix this issue?](#when-booting-a-3node-i-get-the-errorcontext-deadline-exceeded-modulenetwork-errorfailed-to-initialize-rmb-api-failed-to-initialized-admin-mw-failed-to-get-farm-farm-not-found-object-not-found-what-can-i-do-to-fix-this-issue)
|
|
||||||
- [Memory Troubleshooting](#memory-troubleshooting)
|
|
||||||
- [Can I use different type of RAM for the same 3Node?](#can-i-use-different-type-of-ram-for-the-same-3node)
|
|
||||||
- [How can I know if the memory I am buying is correct for my specific hardware?](#how-can-i-know-if-the-memory-i-am-buying-is-correct-for-my-specific-hardware)
|
|
||||||
- [What do the terms RDIMM, LDIMM, UDIMM, LRDIMM, FBDIMM mean when it comes to RAM memory sticks?](#what-do-the-terms-rdimm-ldimm-udimm-lrdimm-fbdimm-mean-when-it-comes-to-ram-memory-sticks)
|
|
||||||
- [What is the difference between ECC and non-ECC memory?](#what-is-the-difference-between-ecc-and-non-ecc-memory)
|
|
||||||
- [How can I change the RAM memory sticks on my 3Nodes? How can I achieve dual channel configuration with sticks of RAM?](#how-can-i-change-the-ram-memory-sticks-on-my-3nodes-how-can-i-achieve-dual-channel-configuration-with-sticks-of-ram)
|
|
||||||
- [What does RAM mean?](#what-does-ram-mean)
|
|
||||||
- [What does DIMM mean when it comes to RAM sticks?](#what-does-dimm-mean-when-it-comes-to-ram-sticks)
|
|
||||||
- [I have 24 DIMMS ram slots on my server. Can I use them all?](#i-have-24-dimms-ram-slots-on-my-server-can-i-use-them-all)
|
|
||||||
- [Basic Post Build Troubleshooting](#basic-post-build-troubleshooting)
|
|
||||||
- [Reboot a 3Node](#reboot-a-3node)
|
|
||||||
- [Reboot a Router](#reboot-a-router)
|
|
||||||
- [Reboot a Modem with the Reset Button](#reboot-a-modem-with-the-reset-button)
|
|
||||||
- [My 3Nodes go offline after a modem reboot. Is there a way to prevent this?](#my-3nodes-go-offline-after-a-modem-reboot-is-there-a-way-to-prevent-this)
|
|
||||||
- [When I try to access iDRAC on a web browswer, even with protected mode off, I get the error The webpage cannot be found, what can I do?](#when-i-try-to-access-idrac-on-a-web-browswer-even-with-protected-mode-off-i-get-the-error-the-webpage-cannot-be-found-what-can-i-do)
|
|
||||||
- [When I boot my 3Node, it reaches the Welcome to Zero-OS window, but it doesn't boot properly and there's an error message: failed to load object : type substrate..., what can I do?](#when-i-boot-my-3node-it-reaches-the-welcome-to-zero-os-window-but-it-doesnt-boot-properly-and-theres-an-error-message-failed-to-load-object--type-substrate-what-can-i-do)
|
|
||||||
- [I want redundancy of power for my 3 nodes. I have two PSU on my Dell server. What can I do?](#i-want-redundancy-of-power-for-my-3-nodes-i-have-two-psu-on-my-dell-server-what-can-i-do)
|
|
||||||
- [I switch the ethernet cable to a different port when my 3Node was running. Internet connection is lost. What can I do?](#i-switch-the-ethernet-cable-to-a-different-port-when-my-3node-was-running-internet-connection-is-lost-what-can-i-do)
|
|
||||||
- [Advanced Post Build Troubleshooting](#advanced-post-build-troubleshooting)
|
|
||||||
- [Access the Error/Log Screen](#access-the-errorlog-screen)
|
|
||||||
- [Can I use a VGA to HDMI adaptor to connect a TV screen or monitor to the 3Node? I tried to boot a 3Node with a VGA to HDMI adaptor but the boot fails, what can I do?](#can-i-use-a-vga-to-hdmi-adaptor-to-connect-a-tv-screen-or-monitor-to-the-3node-i-tried-to-boot-a-3node-with-a-vga-to-hdmi-adaptor-but-the-boot-fails-what-can-i-do)
|
|
||||||
- [My 3Node is running on the Grid, but when I plugged in the monitor, it states: Disabling IR #16. Is there a problem?](#my-3node-is-running-on-the-grid-but-when-i-plugged-in-the-monitor-it-states-disabling-ir-16-is-there-a-problem)
|
|
||||||
- [Address Certain Errors](#address-certain-errors)
|
|
||||||
- [Get Further Assistance](#get-further-assistance)
|
|
||||||
---
|
|
||||||
|
|
||||||
## Introduction
|
If your issues are related to memory, the section [Memory Troubleshooting](farming_troubleshooting_tips.md#memory-troubleshooting) should help.
|
||||||
|
|
||||||
We cover different ways and levels to troubleshoot farming issues.
|
If you still can't fix your issue, try to get more info by reading the Error/Log screen. Read the section [Advanced Post Build Troubleshooting](farming_troubleshooting_tips.md#advanced-post-build-troubleshooting) for more information.
|
||||||
|
|
||||||
## General Troubleshooting Process
|
Once you have more information via the Error/Log screen, you should first try to find fixes to the errors by reading the troubleshooting section.
|
||||||
|
|
||||||
When building a 3Node, we advise to follow carefully the 6 steps laid out in the [3Node building](3node_building.md) section of the manual. Make sure that the disks are properly wiped, that you have the correct bootstrap image and that the BIOS/UEFI is set correctly.
|
If you still can't find solutions to your issues, read the section [Get Further Assistance](farming_troubleshooting_tips.md#get-further-assistance) to ask for help.
|
||||||
|
|
||||||
If you are still having issues, you may find solutions to your issues by reading the sections [Build Troubleshooting](#build-troubleshooting) and [Basic Post Build Troubleshooting](#basic-post-build-troubleshooting).
|
Going through the [whole table of contents](farming_troubleshooting_tips.md#table-of-contents) can quicken your search.
|
||||||
|
|
||||||
If your issues are related to memory, the section [Memory Troubleshooting](#memory-troubleshooting) should help.
|
<h2>Table of Contents</h2>
|
||||||
|
|
||||||
If you still can't fix your issue, try to get more info by reading the Error/Log screen. Read the section [Advanced Post Build Troubleshooting](#advanced-post-build-troubleshooting) for more information. Once you have more information via the Error/Log screen, you should first try to find fixes to the errors by reading the troubleshooting section.
|
- [Build Troubleshooting](farming_troubleshooting_tips.md#build-troubleshooting)
|
||||||
|
- [Basic Post Build Troubleshooting](farming_troubleshooting_tips.md#basic-post-build-troubleshooting)
|
||||||
If you still can't find solutions to your issues, read the section [Get Further Assistance](#get-further-assistance) to ask for help.
|
- [Advanced Post Build Troubleshooting](farming_troubleshooting_tips.md#advanced-post-build-troubleshooting)
|
||||||
|
- [Memory Troubleshooting](farming_troubleshooting_tips.md#memory-troubleshooting)
|
||||||
## Build Troubleshooting
|
- [Get Further Assistance](farming_troubleshooting_tips.md#get-further-assistance)
|
||||||
|
|
||||||
In this section, we cover notions such as how to wipe disks, how to set the BIOS configurations and more.
|
|
||||||
|
|
||||||
### Set the BIOS
|
|
||||||
|
|
||||||
You need to set the BIOS properly for your 3Node to boot with Zero-OS.
|
|
||||||
|
|
||||||
The basic information is available [here](5_set_bios_uefi.md#the-essential-features-of-biosuefi-for-a-3node).
|
|
||||||
|
|
||||||
### BIOS Troubleshooting
|
|
||||||
|
|
||||||
You might have to try UEFI first and if it doesn't work, try BIOS. Usually when this is the case (UEFI doesn't work with your current computer), the following message will be shown:
|
|
||||||
|
|
||||||
> Initializing Network Devices...
|
|
||||||
|
|
||||||
And then... nothing. This means that you are still in the BIOS of the hardware and boot is not even started yet. When this happens, try the BIOS mode of your computer.
|
|
||||||
|
|
||||||
### When running wipefs to wipe my disks on Linux, I get either of the following errors: "syntax error near unexpected token" or "Probing Initialized Failed". Is there a fix?
|
|
||||||
|
|
||||||
Many different reasons can cause this issue. When you get that error, sometimes it is because your are trying to wipe your boot USB by accident. If this is not the case, and you really are trying to wipe the correct disk, here are some fixes to try out, with the disk `sda` as an example:
|
|
||||||
|
|
||||||
* Fix 1:
|
|
||||||
* Force the wiping of the disk:
|
|
||||||
```
|
|
||||||
sudo wipefs -af /dev/sda
|
|
||||||
```
|
|
||||||
* Fix 2:
|
|
||||||
* Unmount the disk then wipe it:
|
|
||||||
```
|
|
||||||
sudo umount /dev/sda
|
|
||||||
sudo wipefs -a /dev/sda
|
|
||||||
```
|
|
||||||
|
|
||||||
### Disk Not Recognized by Zero-OS
|
|
||||||
|
|
||||||
If you're having trouble getting your disks recognized by Zero-OS, some farmers have had success enabling AHCI mode for SATA in their BIOS.
|
|
||||||
|
|
||||||
### Onboard Storage
|
|
||||||
|
|
||||||
If you are using a server with onboard storage and are having issues, there are many ways to troubleshooting this.
|
|
||||||
|
|
||||||
You can use the on board storage on a server without RAID. You can [re-flash](https://fohdeesha.com/docs/perc.html) the RAID card, turn on HBA/non-RAID mode, or install a different card. There is no need for RAID with ThreeFold farming.
|
|
||||||
|
|
||||||
It's usually easy to set servers such as a HP Proliant with the HBA mode. For Dell servers, you can either cross-flash the RAID controller with an “IT-mode-Firmware” (see this [video](https://www.youtube.com/watch?v=h5nb09VksYw)) or get a DELL H310-controller (which has the non-RAID option). Otherwise, you can install a NVME SSD with a PCIe adaptor, and turn off the RAID controller.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### When I tried to boot my 3Node, at some point the screen went black, with or without a blinking hyphen or dash. What could cause this and what could I do to resolve the issue?
|
|
||||||
|
|
||||||
There is a possibility that this happens because you are booting your 3Node on a HDD. A 3Node needs a minimum of 500GB of SSD to work properly.
|
|
||||||
|
|
||||||
Also, make sure that you are using the correct boot option (Legacy BIOS or UEFI) in Settings and that it corresponds to the correct booting image on the ThreeFold Bootstrap page.
|
|
||||||
|
|
||||||
This problem often arises when you plug your disks in the wrong controller. For example, try unplugging the disks from the SAS controller, and plug them in the SATA controller. Also, disable the SAS controller if needed.
|
|
||||||
|
|
||||||
In a Legacy BIOS boot, make sure Legacy is enabled and disable *Data Execution Prevention* if possible.
|
|
||||||
|
|
||||||
Also, it might have to do with your RAID controller configuration. Make sure this is properly set. For example, configuring all the HDD disks into one logical disk can fix this problem, or re-flashing the RAID card can also help.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### I get the error Certificate is not yet valid when booting my 3Node server, what can I do?
|
|
||||||
|
|
||||||
Make sure your firmware is up to date. If necessary, reinstall it. You might have to install and then re-install the firmware if your system is very old.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### My SSD is sometimes detected as HDD by Zero-OS when there is a reboot. Is there a fix or a way to test the SSD disk?
|
|
||||||
|
|
||||||
If your SSD disk shows as HDD, usually you can reboot the 3Node and Z-OS adjusts correctly.
|
|
||||||
|
|
||||||
Anyone experiencing frequently this issue where Z-OS sometimes detects an SSD as HDD can try the following:
|
|
||||||
|
|
||||||
* Boot up a live Ubuntu Desktop image
|
|
||||||
* Run the benchmark utility within the Disks app
|
|
||||||
* Check if the seektime of the disk is sufficient for Z-OS
|
|
||||||
* If the seektime is above 0.5ms, Z-OS will consider your SSD as HDD
|
|
||||||
|
|
||||||
**Detailed Steps:**
|
|
||||||
|
|
||||||
* Boot a Ubuntu Linux live USB
|
|
||||||
* Install **gnome-disks** if it isn't already installed:
|
|
||||||
```
|
|
||||||
sudo apt install gnome-disks
|
|
||||||
```
|
|
||||||
* Open the application launcher and search for **Disks**
|
|
||||||
* Select your disk
|
|
||||||
* Click on the tree dots menu
|
|
||||||
* Select **Benchmark Disk...**
|
|
||||||
* Use the default parameters
|
|
||||||
* **Transfer rate**: This is not relevant for our current test
|
|
||||||
* You can set to it to minimum (e.g. 2)
|
|
||||||
* **Sample size**: 10 MB is sufficient
|
|
||||||
* Check the average access time on the [ThreeFold repository](https://www.github.com/threefoldtech/seektime)
|
|
||||||
* Check seek time for HDD and SSD
|
|
||||||
* A SSD needs to be <=0.5ms
|
|
||||||
* If the result is above 0.5ms, this is why Z-OS doesn't recognize the disk properly
|
|
||||||
* You can then run diagnostics (e.g. smartmontools)
|
|
||||||
* If this is not fixable, you should change disk (e.g. take a more performing disk)
|
|
||||||
|
|
||||||
Note: The green dots on the output represent seektime and that's what Z-OS is looking at. Specifically, it checks that the average seektime is below 0.5ms. If the seektime is above this, Z-OS will consider your SSD as HDD.
|
|
||||||
|
|
||||||
### My 3Node uses only PCIe adapters and SSD NVME disks. Do I need the RAID controller on?
|
|
||||||
|
|
||||||
The onboard RAID controller is not linked to your PCIe SSDs. In this case, you can switch the RAID controller off.
|
|
||||||
|
|
||||||
|
|
||||||
### My 3Node has 2 ethernet ports in the back, with one written AMT above, what does it mean? Can I use this port to connect my 3Node to the ThreeFold Grid?
|
|
||||||
|
|
||||||
First, let's define the term AMT. It means: Active Management Technology. Without going into too much details, it is to remotely access servers via the network at the BIOS level. Thus, you should plug the ethernet cable in the port next to AMT, and not into the AMT port. You can explore AMT properties if you want remote access to your server.
|
|
||||||
|
|
||||||
|
|
||||||
### When I boot my Dell server, I get the message: All of the disks from your previous configuration are gone... Press any key to continue or 'C' to load the configuration utility. What can I do?
|
|
||||||
|
|
||||||
Many changes to your server can lead to this message.
|
|
||||||
|
|
||||||
Usually, the easiest solution is to reset the disk configuration in iDRAC's configuration utility.
|
|
||||||
|
|
||||||
What can causes this message:
|
|
||||||
|
|
||||||
1. During a new installation, the cables connecting to your external storage are not wired to the correct ports.
|
|
||||||
2. Your RAID adapter has failed.
|
|
||||||
3. Your SAS cables are not plugged properly or are malfunctioning.
|
|
||||||
|
|
||||||
Note: Resetting the configuration will destroy all data on all virtual disks. Make sure you know what you are doing! In doubt, ask the TF community.
|
|
||||||
|
|
||||||
### When booting a 3Node, how to fix the error: "no disks: registration failed"?
|
|
||||||
|
|
||||||
There can be many different fixes for this error. Here are some troubleshooting tips to test separately:
|
|
||||||
|
|
||||||
* In BIOS, enable AHCI
|
|
||||||
* Make sure to [wipe the disks](4_wipe_all_disks.md) of the 3Nodes
|
|
||||||
* If the 3Node has a RAID Controller:
|
|
||||||
* Disabled the RAID controller, OR;
|
|
||||||
* [Flash the RAID controller](https://fohdeesha.com/docs/perc.html) (i.e. crossflashing), OR;
|
|
||||||
* Change the controller to a Dell H310 controller (for Dell servers)
|
|
||||||
* Try the command **badblocks** (replace **sda** with your specific disk). Note that this command will delete all the data on the disk
|
|
||||||
```
|
|
||||||
sudo badblocks -svw -b 512 -t 0x00 /dev/sda
|
|
||||||
```
|
|
||||||
|
|
||||||
### I have trouble connecting the 3Node to the Grid with a 10GB NIC card. What can I do?
|
|
||||||
|
|
||||||
As of now, Zero-OS sometimes has trouble with 10GB NIC card. The easiest solution to this is to connect your 3Node with the 1GB NIC card. This should solve the issue. More fine tuning might be needed to get your 3Node to work with a 10GB NIC card. Future Zero-OS version might solve this issue.
|
|
||||||
|
|
||||||
### What does it mean when I see, during the 3Node boot, the message: error = context deadline exceeded?
|
|
||||||
|
|
||||||
In general, this message means that the ThreeFold Grid asked something to your 3Node, and your 3Node could not respond fast enough. It is usually necessary to read the following error message to understand the situation more specifically.
|
|
||||||
|
|
||||||
### How can I fix the error messages: "context deadline exceeded" accompanied with "node is behind acceptable delay with timestamp"?
|
|
||||||
|
|
||||||
This often indicates that the real-time clock of the system is not synced with current time. There have been different fixes reported to this issue.
|
|
||||||
|
|
||||||
You can boot the node using a Ubuntu live image to sync the hardware time. After that, you can reboot the node and it should boot normally.
|
|
||||||
|
|
||||||
You can fix this manually in the BIOS. Go to the BIOS settings and adjust the **Time** and **Date** settings.
|
|
||||||
|
|
||||||
You can also try to adjust the clock by NTP over the network, if it applies to your case.
|
|
||||||
|
|
||||||
### I try to boot a 3Node, but I get the error: "No Route to Host on Linux". What does it mean?
|
|
||||||
|
|
||||||
There are many potential answers to this. Perhaps the Host is offline, the service isn't running. This is usually the reason with TF Grid. It means the Grid is not responsive. In this case, try to boot the 3Node later. If it persists ask TF Support.
|
|
||||||
|
|
||||||
There can also be other reasons. You might have connected to the wrong port. Perhaps you have configured iptables to block connections on that port. Your DNS might be improperly configured. You might have an Incorrect Network or Host Configuration. Many troubleshoots are possible. Here's a [good place to start](https://www.maketecheasier.com/fix-no-route-to-host-error-linux/).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### How can I fix the error: "Network configuration succeed but Zero-OS kernel could not be downloaded" when booting a 3Node?
|
|
||||||
|
|
||||||
To fix the error "Network configuration succeed but Zero-OS kernel could not be downloaded", you can try to restart the router and reboot the 3Node. This usually fixes the issue. If this doesn't work, check if the router is still functional. The cause of this issue might be that your router is broken.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Using SAS disks, I get the error; "No ssd found, failed to register". What can I do to fix this?
|
|
||||||
|
|
||||||
First make sure to wipe the disks and then boot your 3Node. If you've wiped the disks and it doesn't work, it's been reported that using the command "diskpart clean command" on Windows can fix this issue.
|
|
||||||
|
|
||||||
|
|
||||||
### When booting a 3Node, I get the message: failed to register node: failed to create node: failed to submit extrinsic: Invalid Transaction: registration failed. What could fix this?
|
|
||||||
|
|
||||||
The most probable fix to this error is simply to properly [wipe your disks](4_wipe_all_disks.md).
|
|
||||||
|
|
||||||
|
|
||||||
### I did a format on my SSD disk, but Zero-OS still does not recognize them. What's wrong?
|
|
||||||
|
|
||||||
Formatting is one thing, but to boot properly, Zero-OS needs to work on a completely wiped disk. Thus, make sure you [wipe your disks](4_wipe_all_disks.md). Formatting is not enough.
|
|
||||||
|
|
||||||
### My 3Node doesn't boot properly without a monitor plugged in. What can I do?
|
|
||||||
|
|
||||||
First, try to disable the "Halt On" mode in BIOS. If you do not have this option, try simply enabling Legacy Support (Dell BIOS for example). If this doesn't work, try to plug in a Dummy Plug/Headless Ghost/Display Emulator in your 3Node. This will simulate a plugged monitor. This should fix the problem.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### My 3Node won't boot without disabling the Secure Boot option, is it safe?
|
|
||||||
|
|
||||||
In the case where you want to boot Zero-OS, disabling Secure Boot option is safe. With Secure Boot disabled, it can be easier or even necessary when it comes to booting Zero-OS. Secure Boot is used when you want to lock the BIOS/UEFI settings.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### When booting the 3Node, I get the error Network interface detected but autoconfiguration failed. What can I do?
|
|
||||||
|
|
||||||
First make sure your network cable is plugged in and that your DHCP is working and responding. If you change the NIC port of the ethernet cable, make sure to reboot the 3Node so Zero-OS can change the NIC port attribution.
|
|
||||||
|
|
||||||
Some farmers reported that this got fixed by simply powering off the 3Node(s), the router and modem for 2 minutes then powering it all back on. Resetting the modem and router (switch on the hardware) in the process can also help.
|
|
||||||
|
|
||||||
If this doesn't work, try to upgrade the firmware of the NIC and the motherboard. If this still doesn't work, the NIC card might be broken. Try with another NIC card.
|
|
||||||
|
|
||||||
|
|
||||||
### When I try to boot my 3Node, the fans start spinning fast with a loud noise and the screen is black. What can I do to resolve this?
|
|
||||||
|
|
||||||
There may be several causes to this issue. You can try to remove all the RAM sticks, to clean the dust and then to reseat the RAM sticks. If it still doesn't resolve the issue, you can check the RAM sticks one by one to see if one is malfunctioning. This often resolves the issue. Also, some cables might not be properly connected.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### When booting Zero-OS with IPV6 configurations, I get the errors (1) dial tcp: address IPV6-address too many columns in address and (2) no pools matches key: not routable. What can I do to fix this issue?
|
|
||||||
|
|
||||||
This usually means that the IPV6 attributed is not valid. It is also often caused when the DNS configuration does not resolve IPV6 correctly.
|
|
||||||
|
|
||||||
To fix this issue, it is often necessary to adjust the IPV6 settings related to the router and the modem. Confirming with your Internet service provider (ISP) that the IPV6 settings are properly configured could also be necessary to fix the issue.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### I try to boot a 3Node, but I get the message no route with default gateway found. What does it mean?
|
|
||||||
|
|
||||||
First, let's see the main terms. Default gateway acts as an access point to other networks, in this case the TF Grid, when there is a back and forth exchange of data packets.
|
|
||||||
|
|
||||||
While the last question implied a communication problem from the Grid, this error message usually means that the 3Node has communication problem. In short, it has difficulty reaching the TF Grid. There are many ways to troubleshoot this error. First, let's give the most direct solution. Make sure you have a direct connection with your Internet Service Provider (ISP): your 3Node should be connected to a router or a switch via an ethernet cable. Wifi doesn't work. Make sure your DHCP is set correctly.
|
|
||||||
|
|
||||||
If the problem persists, check the default gateway of your 3Node and then make sure your router can reach it.
|
|
||||||
|
|
||||||
|
|
||||||
### When booting a 3Node, Zero-OS downloads fine, but then I get the message: error no route with default gateway found, and the message: info check if interface has a cable plugged in. What could fix this?
|
|
||||||
|
|
||||||
Make sure you have network stack enabled in BIOS. If so, check you ethernet port and make sure that it's clean. Also make sure the ethernet rj45 connectors are clean on both ends. If that does not work, verify the state of your SATA cables. If all this doesn't work, download and re-install Zero-OS.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### How can I update Dell and HP servers to Intel E5-2600v2, E5-2400v2 and E5-4600v2, when applicable?
|
|
||||||
|
|
||||||
There are many ressources online with steps on how to do this. You can check this [youtube video](https://www.youtube.com/watch?v=duzrULLtonM) on Dell and HP servers, as welll as this [documentation](https://ixnfo.com/en/hp-proliant-gen8-update-to-support-cpu-e5-2600v2-e5-2400v2-e5-4600v2.html) for HP Proliant Gen8.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### How can I update the firmware and driver of a Dell PowerEdge server?
|
|
||||||
|
|
||||||
Dell has excellen documentation for this. Read [this](https://www.dell.com/support/kbdoc/en-us/000128194/updating-firmware-and-drivers-on-dell-emc-poweredge-servers) for the detailed steps.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### When I boot a 3Node in UEFI mode, it gets stuck at: Initializing Network Device, is there a way to fix this?
|
|
||||||
|
|
||||||
In short, booting the 3Node in BIOS mode instead of UEFI mode usually fixes this issue.
|
|
||||||
|
|
||||||
You can make bootable USB with the USB option of the [Zero-OS bootstrap image page](https://bootstrap.grid.tf/). Make sure to boot your server using BIOS and not UEFI. In the boot sequence, make the USB as your first choice to boot.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### When I boot my 3Node, it gets stuck during the Zero-OS download. It never reaches 100%. What can I do to fix this issue?
|
|
||||||
|
|
||||||
Here are some ways to troubleshoot your 3Node when it cannot download Zero-OS completely (to 100%):
|
|
||||||
|
|
||||||
* Sometimes, just rebooting the 3Node and/or trying a little bit later can work.
|
|
||||||
* It can help to reboot the modem and the router.
|
|
||||||
* Make sure your BIOS/UEFI is up to date. Updating the BIOS/UEFI can help.
|
|
||||||
* It can also help to set the correct date and time.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### When booting a 3Node, I get the error=“context deadline exceeded” module=network error=failed to initialize rmb api failed to initialized admin mw: failed to get farm: farm not found: object not found. What can I do to fix this issue?
|
|
||||||
|
|
||||||
Usually, the simple fix to this issue is to make sure that your bootstrap image is on the same network as your farm. For example, if you created your farm on the Main net, you should use a Main net Zero-OS bootstrap image.
|
|
||||||
|
|
||||||
|
|
||||||
## Memory Troubleshooting
|
|
||||||
|
|
||||||
### Can I use different type of RAM for the same 3Node?
|
|
||||||
|
|
||||||
No. Always use the same type of RAM per 3Node. If you use RDIMM, go all RDIMM, etc. Check your hardware specifications to make sure you have the right type of memory.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### How can I know if the memory I am buying is correct for my specific hardware?
|
|
||||||
|
|
||||||
To be sure, look into the owner's manual of your specific computer.
|
|
||||||
|
|
||||||
In general, you can go to [Memory.net](https://memory.net/) and look for your specific computer model. As general steps, select your computer's system in *By system*, then select the series and then select the specific model of the series. You will then see available memories to buy from memory.net. You can also simply read the documentation at the bottom. The memory type supported by your computer will be explained. Then you can buy the memory needed from any other computer store.
|
|
||||||
|
|
||||||
For servers, you can check with Cloudninja's documentation [here](https://cloudninjas.com/pages/server-memory). Search for your specific hardware and look for the compatible memory. This reference is good for rack and tower servers.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### What do the terms RDIMM, LDIMM, UDIMM, LRDIMM, FBDIMM mean when it comes to RAM memory sticks?
|
|
||||||
|
|
||||||
Well first, the DIMM means dual inline memory module.
|
|
||||||
|
|
||||||
* U stands for or unregistered (or unbuffered).
|
|
||||||
|
|
||||||
* R stands for registered memory.
|
|
||||||
|
|
||||||
* LR stands for load-reduced.
|
|
||||||
|
|
||||||
* FB stands for fully-buffered.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### What is the difference between ECC and non-ECC memory?
|
|
||||||
|
|
||||||
ECC means error correction code memory. This type of memory can detect and correct data corruption. Non-ECC mostly cannot detect nor correct, but some can detect, but never correct data corruption. Check your hardware specifications to make sure you have the right type of memory (ECC or non-ECC).
|
|
||||||
|
|
||||||
|
|
||||||
### How can I change the RAM memory sticks on my 3Nodes? How can I achieve dual channel configuration with sticks of RAM?
|
|
||||||
|
|
||||||
First, always use RAM sticks of the same size and type. It should be noted on your motherboard which slots to populate first. As a general guide, there is usually 2 slots A and B, with each 2 memory stick entries. You must then install the ram sticks on A1 and B1 in order to achieve dual channel, then A2 and B2 if you have more (visual order: A1 A2 B1 B2).
|
|
||||||
|
|
||||||
> Example: You want to start with your largest sticks, evenly distributed between both processors and work your way down to your smallest. Let's take an example with 2 processors as well as 4x 16GB sticks and 4x 8GB sticks. The arrangement would be A1-16GB, B1-16GB, A2-16GB, B2-16GB, A3-8GB, B3-8GB, A4-8GB, B4-8GB. Avoid odd numbers as well. You optimally want pairs. So if you only have 5x 8GB sticks, only install 4 until you have an even 6.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### What does RAM mean?
|
|
||||||
|
|
||||||
RAM means random access memory. Those type of memory can be read and changed in any order.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### What does DIMM mean when it comes to RAM sticks?
|
|
||||||
|
|
||||||
It means *dual in-line memory module*. This type of computer memory is natively 64 bits, enabling fast data transfer.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### I have 24 DIMMS ram slots on my server. Can I use them all?
|
|
||||||
|
|
||||||
Be careful when installing memory on a server. Always check your server's documentation to make sure your RAM sticks combination are correct.
|
|
||||||
|
|
||||||
For example, on the Dell R720, you can have 24x16gb RAM ECC sticks, but it can only handle 16 Quad ranked DIMMs. In this case, you can fill up all slots with registered DIMMs if you have a maximum of 4 quad DIMMS ranked on each CPU.
|
|
||||||
|
|
||||||
## Basic Post Build Troubleshooting
|
|
||||||
|
|
||||||
In this section, we cover notions such as how to reboot node or a router, how to check the network signal path and more.
|
|
||||||
|
|
||||||
### Reboot a 3Node
|
|
||||||
|
|
||||||
To reboot your 3Node, simply turn if off manually then turn it back on.
|
|
||||||
|
|
||||||
### Reboot a Router
|
|
||||||
|
|
||||||
- Locate the power cord of your router and unplug it from the power outlet.
|
|
||||||
- Wait for at least 30 seconds to allow the router to completely shut down.
|
|
||||||
- Plug the power cord back into the power outlet.
|
|
||||||
- Wait for the router to boot up again. This may take around 2-5 minutes.
|
|
||||||
- Once the router is back up, check your internet connection to see if it’s working properly.
|
|
||||||
|
|
||||||
### Reboot a Modem with the Reset Button
|
|
||||||
|
|
||||||
- Find the reset button on the back or bottom of the modem.
|
|
||||||
- Press and hold the reset button for 30 seconds.
|
|
||||||
- Release the button when the power light turns another color (usually amber/orange).
|
|
||||||
- Wait for the modem to fully reboot and the lights to stabilize.
|
|
||||||
|
|
||||||
### My 3Nodes go offline after a modem reboot. Is there a way to prevent this?
|
|
||||||
|
|
||||||
Yes, there are many ways to prevent this. An easy solution is to set the DHCP server to reserve local IPs for the 3Nodes MAC addresses.
|
|
||||||
|
|
||||||
This problem is also preventable if your router stays online during the modem reboot.
|
|
||||||
|
|
||||||
Indeed, rebooting the 3Nodes is necessary when there are local IP changes, as 3Nodes are addressed a local IP addresses when they are booted.
|
|
||||||
|
|
||||||
The DHCP will addresses any local IP address that is available when you are booting a 3Node. Reserving local IP addresses is a good TF farming practice.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### When I try to access iDRAC on a web browswer, even with protected mode off, I get the error The webpage cannot be found, what can I do?
|
|
||||||
|
|
||||||
Open iDRAC in the Internet Explorer emulator extension (IE Tab) in Chrome, then update iDRAC. It should work elsewhere then. Sometimes, it will be needed to add "ST1=code" at the end of the IE Tab url.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### When I boot my 3Node, it reaches the Welcome to Zero-OS window, but it doesn't boot properly and there's an error message: failed to load object : type substrate..., what can I do?
|
|
||||||
|
|
||||||
Usually simply rebooting the 3Node fixes this problem.
|
|
||||||
|
|
||||||
### I want redundancy of power for my 3 nodes. I have two PSU on my Dell server. What can I do?
|
|
||||||
|
|
||||||
Make sure you enable the Hot Spare feature. This feature is accessible in iDRAC Settings - Power Configuration. Other servers might have this function, with a different name and configuration. Check the server's manual for more details.
|
|
||||||
|
|
||||||
### I switch the ethernet cable to a different port when my 3Node was running. Internet connection is lost. What can I do?
|
|
||||||
|
|
||||||
When your 3Node boots, Zero-OS marks the NIC port. This means you cannot change NIC port when your 3Node is running. You can either put back the ethernet cable in the initial NIC port, or reboot the 3Node. At boot, Zero-OS will marks the new NIC port as the main entry.
|
|
||||||
|
|
||||||
|
|
||||||
## Advanced Post Build Troubleshooting
|
|
||||||
|
|
||||||
In this section, we cover notions such as how to connect a screen and look for errors, how to address certain errors, etc.
|
|
||||||
|
|
||||||
### Access the Error/Log Screen
|
|
||||||
|
|
||||||
To access the error/log screen, connect a monitor to your 3Node and on the Zero-OS console, hit alt-F2 to open up the Error/Log Screen, and hit alt-F3 to go back to the main screen.
|
|
||||||
|
|
||||||
### Can I use a VGA to HDMI adaptor to connect a TV screen or monitor to the 3Node? I tried to boot a 3Node with a VGA to HDMI adaptor but the boot fails, what can I do?
|
|
||||||
|
|
||||||
This might work, but it has been reported by farmers that Zero-OS might have difficulties booting when this is done with a VGA/HDMI adaptor on a TV screen. This is most likely due to the TV screen not supporting the output once the system loaded into Zero-OS. The easy fix to this issue is to use a standard computer monitor with a VGA plug.
|
|
||||||
|
|
||||||
|
|
||||||
### My 3Node is running on the Grid, but when I plugged in the monitor, it states: Disabling IR #16. Is there a problem?
|
|
||||||
|
|
||||||
In general, you can simply ignore this error statement. This error is linked to the Nvidia binary driver. It simply means that your 3Node lost connection with the graphic card (by unplugging and replugging the monitor for example).
|
|
||||||
|
|
||||||
### Address Certain Errors
|
|
||||||
|
|
||||||
Once you had access to the error/log screen and took notes of the errors, you can look for fixes in the manual. This troubleshooting section is a good place to look for solutions.
|
|
||||||
|
|
||||||
If you could not find any fixes to your issues, go to the next section to ask for further assistance.
|
|
||||||
|
|
||||||
## Get Further Assistance
|
|
||||||
|
|
||||||
If you've read this whole section and tried different troubleshooting methods to no avail, do not lose hope! You can get further assistance and we will most surely resolve your issues.
|
|
||||||
|
|
||||||
You can contact the [ThreeFold support team](https://threefoldfaq.crisp.help/en/) and raise a ticket to get further assistance.
|
|
||||||
|
|
||||||
Also, you can ask questions on the [ThreeFold Forum](https://forum.threefold.io/) or on the [ThreeFold Farmer Telegram Channel](https://t.me/threefoldfarmers).
|
|