Skip to content

Commit

Permalink
Merge pull request #493 from threefoldtech/development
Browse files Browse the repository at this point in the history
dev to master periodic update
  • Loading branch information
mik-tf authored Apr 15, 2024
2 parents b58a0ad + f1a4548 commit 8cd2ab0
Show file tree
Hide file tree
Showing 20 changed files with 675 additions and 22 deletions.
2 changes: 1 addition & 1 deletion book.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[book]
title = "ThreeFold Grid Manual"
title = "ThreeFold Manual"

[output.html.fold]
enable = true
Expand Down
4 changes: 4 additions & 0 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
- [ownCloud](documentation/dashboard/solutions/owncloud.md)
- [Peertube](documentation/dashboard/solutions/peertube.md)
- [Presearch](documentation/dashboard/solutions/presearch.md)
- [Static Website](documentation/dashboard/solutions/static_website.md)
- [Subsquid](documentation/dashboard/solutions/subsquid.md)
- [Taiga](documentation/dashboard/solutions/taiga.md)
- [Umbrel](documentation/dashboard/solutions/umbrel.md)
Expand Down Expand Up @@ -151,6 +152,7 @@
- [TFGrid Stacks](documentation/developers/grid_deployment/tfgrid_stacks.md)
- [Full VM Grid Deployment](documentation/developers/grid_deployment/grid_deployment_full_vm.md)
- [Grid Snapshots](documentation/developers/grid_deployment/snapshots.md)
- [Deploy the Dashboard](documentation/developers/grid_deployment/deploy_dashboard.md)
- [Farmers](documentation/farmers/farmers.md)
- [Build a 3Node](documentation/farmers/3node_building/3node_building.md)
- [1. Create a Farm](documentation/farmers/3node_building/1_create_farm.md)
Expand Down Expand Up @@ -242,6 +244,7 @@
- [UFW Basics](documentation/system_administrators/computer_it_basics/firewall_basics/ufw_basics.md)
- [Firewalld Basics](documentation/system_administrators/computer_it_basics/firewall_basics/firewalld_basics.md)
- [File Transfer](documentation/system_administrators/computer_it_basics/file_transfer.md)
- [Screenshots](documentation/system_administrators/computer_it_basics/screenshots.md)
- [Advanced](documentation/system_administrators/advanced/advanced.md)
- [Token Transfer Keygenerator](documentation/system_administrators/advanced/token_transfer_keygenerator.md)
- [Cancel Contracts](documentation/system_administrators/advanced/cancel_contracts.md)
Expand Down Expand Up @@ -310,6 +313,7 @@
- [Technology](knowledge_base/technology/technology_toc.md)
- [How It Works](knowledge_base/technology/grid3_howitworks.md)
- [Grid Concepts](knowledge_base/technology/concepts/concepts_readme.md)
- [Zero-OS](knowledge_base/technology/concepts/zos.md)
- [TFGrid Primitives](knowledge_base/technology/concepts/grid_primitives.md)
- [TFGrid Component List](knowledge_base/technology/concepts/grid3_components.md)
- [Infrastructure as Code](knowledge_base/technology/concepts/grid3_iac.md)
Expand Down
1 change: 1 addition & 0 deletions src/documentation/dashboard/deploy/applications.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Easily deploy your favourite applications on the ThreeFold grid with a click of
- [ownCloud](../solutions/owncloud.md)
- [Peertube](../solutions/peertube.md)
- [Presearch](../solutions/presearch.md)
- [Static Website](../solutions/static_website.md)
- [Subsquid](../solutions/subsquid.md)
- [Taiga](../solutions/taiga.md)
- [Umbrel](../solutions/umbrel.md)
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
53 changes: 53 additions & 0 deletions src/documentation/dashboard/solutions/static_website.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<h1> Static Website </h1>

<h2>Table of Contents </h2>

- [Introduction](#introduction)
- [Prerequisites](#prerequisites)
- [Deployment](#deployment)

---

## Introduction

Static Website is an application where a user provides a GitHub repository URL for the files to be automatically served online using Caddy.

## Prerequisites

- Make sure you have a [wallet](../wallet_connector.md)
- From the sidebar click on **Applications**
- Click on **Static Website**

## Deployment

![ ](./img/solutions_staticwebsite.png)

- Enter an instance name

- Enter a GitHub repository URL that needs to be cloned

- Enter the title for the cloned repository

- Select a capacity package:

- **Small**: {cpu: 1, memory: 2 , diskSize: 50 }
- **Medium**: {cpu: 2, memory: 4, diskSize: 100 }
- **Large**: {cpu: 4, memory: 16, diskSize: 250 }
- Or choose a **Custom** plan

- `Dedicated` flag to retrieve only 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
- Note: You can select a specific node with manual selection
- `Custom Domain` flag allows the user to use a custom domain
- Choose a gateway node to deploy your static website

Once this is done, you can see a list of all of your deployed instances:

![ ](./img/staticwebsite_list.png)

Click on the button **Visit** under **Actions** to go to your static website!
3 changes: 2 additions & 1 deletion src/documentation/developers/developers.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,5 @@ For complementary information on the technology developed by ThreeFold, refer to
- [Grid Deployment](./grid_deployment/grid_deployment.md)
- [TFGrid Stacks](./grid_deployment/tfgrid_stacks.md)
- [Full VM Grid Deployment](./grid_deployment/grid_deployment_full_vm.md)
- [Grid Snapshots](./grid_deployment/snapshots.md)
- [Grid Snapshots](./grid_deployment/snapshots.md)
- [Deploy the Dashboard](./grid_deployment/deploy_dashboard.md)
91 changes: 91 additions & 0 deletions src/documentation/developers/grid_deployment/deploy_dashboard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
<h1>Deploy the Dashboard Locally</h1>

<h2>Table of Contents</h2>

- [Introduction](#introduction)
- [Prerequisites](#prerequisites)
- [Create an SSH Tunnel](#create-an-ssh-tunnel)
- [VSCode SSH Remote Connection](#vscode-ssh-remote-connection)
- [Set the VM](#set-the-vm)
- [Build the Dashboard](#build-the-dashboard)

***

## Introduction

We show how to deploy the Dashboard (devnet) on a full VM. To do so, we set an SSH tunnel and use the VSCodium Remote Explorer function. We will then be able to use a source-code editor to explore the code and see changes on a local browser.

## Prerequisites

- TFChain account with TFT
- [Deploy full VM with WireGuard connection](../../system_administrators/getstarted/ssh_guide/ssh_wireguard.md)
- [Make sure you can connect via SSH on the terminal](../../system_administrators/getstarted/ssh_guide/ssh_openssh.md)

## Create an SSH Tunnel

- Open a terminal and create an SSH tunnel
```
ssh -4 -L 5173:127.0.0.1:5173 [email protected]
```
Simply leave this window open and follow the next steps.
## VSCode SSH Remote Connection
You can connect via SSH through the source-code editor to a VM on the grid. In this example, WireGuard is set.
- Add the SSH Remote extension to VSCodium
- Add a new SSH remote connection
- Set the following (adjust with your own username and host)
```
Host 10.20.4.2
HostName 10.20.4.2
User root
```
- Click on `Connect to host`
## Set the VM
We set the VM to be able to build the Dashboard.
```

apt update && apt install build-essential python3 -y

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

export NVM_DIR="$HOME/.nvm"

[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

nvm install 18

apt install wget

npm install -g yarn

```
## Build the Dashboard
We now build the Dashboard.
Clone the repository, then install, build and run the Dashboard. Note that here it is called `playground`:
```

git clone https://github.com/threefoldtech/tfgrid-sdk-ts

cd tfgrid-sdk-ts/

yarn install

make build

make run project=playground

```
You can then access the dev net Dashboard on your local browser.
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@

The TFGrid whole source code is open-source and instances of the grid can be deployed by anyone thanks to the distribution of daily grid snapshots of the complete ThreeFold Grid stacks.

This section also covers the steps to deploy the Dashboard locally. This can be useful when testing the grid or contributing to the open-source project.

## Table of Contents

- [TFGrid Stacks](./tfgrid_stacks.md)
- [Full VM Grid Deployment](./grid_deployment_full_vm.md)
- [Grid Snapshots](./snapshots.md)
- [Grid Snapshots](./snapshots.md)
- [Deploy the Dashboard](./deploy_dashboard.md)
10 changes: 5 additions & 5 deletions src/documentation/farmers/advanced_networking/network_setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The nodes themselves can have connectivity in a few different ways:

- Only have RFC1918 private addresses, connected to the Internet through NAT, NO IPv6
Mostly, these are single-NIC (Network card) machines that can host some workloads through the Overlay Network, but
cant't expose services directly. These are HIDDEN nodes, and are mostly booted with an USB stick from
can't expose services directly. These are HIDDEN nodes, and are mostly booted with an USB stick from
bootstrap.grid.tf .
- Dual-stacked: having RFC1918 private IPv4 and public IPv6 , where the IPv6 addresses are received from a home router,
but firewalled for outgoing traffic only. These nodes are effectively also HIDDEN
Expand Down Expand Up @@ -70,9 +70,9 @@ Use your (home) ISP router Ipv6 DHCP capabilities to provide (private) IPv6 addr

### 2.2 Data Center/Advanced Setup

In this situation there are many options on how to setup you node. This requires you as the expert to make a few decisions on how to connect what what the best setup is that you can support for the operaitonal time of your farm. The same basics principles apply:
- You have to have a block of (public) IPv6 routed to you router, or you have to have your router setup to provide Network Address Translation (NAT)
- You have to have a DHCP server in your network that manages and controls IPV6 ip adress leases. Depending on your specific setup you have this DHCP server manage a public IPv6y range which makes all nodes directly connected to the public internet or you have this DHCP server manage a private block og IPv6 addresses which makes all you nodes connect to the internet through NAT.
In this situation there are many options on how to setup your node. This requires you as the expert to make a few decisions on how to connect what what the best setup is that you can support for the operaitonal time of your farm. The same basics principles apply:
- You have to have a block of (public) IPv6 routed to your router, or you have to have your router setup to provide Network Address Translation (NAT)
- You have to have a DHCP server in your network that manages and controls IPV6 ip adress leases. Depending on your specific setup you have this DHCP server manage a public IPv6 range which makes all nodes directly connected to the public internet or you have this DHCP server manage a private block of IPv6 addresses which makes all your nodes connect to the internet through NAT.

As a farmer you are in charge of selecting and creating the appropriate network setup for your farm.

Expand All @@ -83,4 +83,4 @@ The above setup will allows your node(s) to appear in explorer on the TFGrid and
We have started a forum where people share their experiences and configurations. This will be work in progress and forever growing.

**IMPORTANT**: You as a farmer do not need access to IPV4 to be able to rent capacity for IT workloads that need to be visible on IPV4, this is something that can happen elsewhere on the TFGrid.


Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ The minting periods for the 12 months of 2024 are the following:
| Jan 2024 | December 31, 2023 at 14\:08\:40 | January 31, 2024 at 00\:56\:40 |
| Feb 2024 | January 31, 2024 at 00\:56\:40 | March 1, 2024 at 11\:44\:40 |
| Mar 2024 | March 1, 2024 at 11\:44\:40 | March 31, 2024 at 22\:32\:40 |
| Apr 2024 | Marc 31, 2024 at 22\:32\:40 | May 1, 2024 at 09\:20\:40 |
| Apr 2024 | March 31, 2024 at 22\:32\:40 | May 1, 2024 at 09\:20\:40 |
| May 2024 | May 1, 2024 at 09\:20\:40 | May 31, 2024 at 20\:08\:40 |
| Jun 2024 | May 31, 2024 at 20\:08\:40 | July 1, 2024 at 06\:56\:40 |
| Jul 2024 | July 1, 2024 at 06\:56\:40 | July 31, 2024 at 17:44\:40 |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ In this section, tailored specifically for system administrators, we'll delve in
- [Firewall Basics](./firewall_basics/firewall_basics.md)
- [UFW Basics](./firewall_basics/ufw_basics.md)
- [Firewalld Basics](./firewall_basics/firewalld_basics.md)
- [File Transfer](./file_transfer.md)
- [File Transfer](./file_transfer.md)
- [Screenshots](./screenshots.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<h1> Screenshots </h1>

<h2>Table of Contents</h2>

- [Introduction](#introduction)
- [Linux](#linux)
- [MAC](#mac)
- [Windows](#windows)

***

## Introduction

In this section, we show how to easily take screenshots on Linux, MAC and Windows.

## Linux

- Copy to the clipboard a full screenshot
```
PrintScreen
```
- Copy to the clipboard a screenshot of an active window
```
Alt + PrintScreen
```
- Copy to the clipboard a screenshot of an active app
```
Control + Alt + PrintScreen
```
- Copy to the clipboard a screenshot of a selected area
```
Shift + PrintScreen
```

## MAC

- Save to the desktop a full screenshot
```
Shift + Command (⌘) + 3
```
- Save to the desktop a screenshot of an active window
```
Shift + Command (⌘) + 4 + Spacebar
```
- Copy to the clipboard a screenshot of an active window
```
Shift + Control + Command (⌘) + 3
```
- Save to the desktop a screenshot of a selected area
```
Shift + Command (⌘) + 4
```
- Copy to the clipboard a screenshot of a selected area
```
Shift + Control + Command (⌘) + 4
```

## Windows

- Copy to the clipboard a full screenshot
```
PrintScreen
```
- Save to the pictures directory a full screenshot
```
Windows key + PrintScreen
```
- Copy to the clipboard a screenshot of an active window
```
Alt + PrintScreen
```
- Copy to the clipboard a selected area of the screen
```
Windows key + Shift + S
```
Loading

0 comments on commit 8cd2ab0

Please sign in to comment.