manual removed files

This commit is contained in:
2024-04-15 17:49:09 +00:00
parent a567404ef3
commit c19931fd32
1763 changed files with 0 additions and 51340 deletions

View File

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

View File

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

View File

@@ -1,11 +0,0 @@
<h1> Basic Environments </h1>
<h2> Table of Contents </h2>
- [Virtual Machines](./vm_intro.md)
- [Micro and Full VM Differences ](./vm_differences.md)
- [Full Virtual Machine](./fullVm.md)
- [Micro Virtual Machine](./vm.md)
- [Kubernetes](./k8s.md)
- [NixOS MicroVM](./nixos_micro.md)
- [Add a Domain](./add_domain.md)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,59 +0,0 @@
<h1> Funkwhale </h1>
<h2>Table of Contents</h2>
- [Introduction](#introduction)
- [Prerequisites](#prerequisites)
- [Deployment](#deployment)
***
## Introduction
[Funkwhale](https://funkwhale.audio/) is social platform to enjoy and share music.
Funkwhale is a community-driven project that lets you listen and share music and audio within a decentralized, open network.
## Prerequisites
- Make sure you have a [wallet](../wallet_connector.md)
- From the sidebar click on **Applications**
- Click on **Funkwhale**
## Deployment
__Process__ :
![ ](./img/solutions_funkwhale.png)
- Enter an Application Name. It's used in generating a unique subdomain on one of the gateways on the network alongside your twin ID. Ex. ***fw100myfunk*.gent02.dev.grid.tf**
- Enter administrator information including **Username**, **Email** and **Password**. This admin user will have full permission on the deployed instance.
- Select a capacity package:
- **Small**: {cpu: 1, memory: 2, diskSize: 50 }
- **Medium**: {cpu: 2, memory: 4, diskSize: 100 }
- **Large**: {cpu: 4, memory: 16, diskSize: 250 }
- Or choose a **Custom** plan
- Choose the network
- `Public IPv4` flag gives the virtual machine a Public IPv4
- `Dedicated` flag to retrieve only dedeicated nodes
- `Certified` flag to retrieve only certified nodes
- Choose the location of the node
- `Region`
- `Country`
- `Farm Name`
- Choose the node to deploy on
> Or you can select a specific node with manual selection.
- `Custom Domain` flag lets the user to use a custom domain
- Choose a gateway node to deploy your Funkwhale instance on.
After that is done you can see a list of all of your deployed instances
![ ](./img/funkwhale2.png)
Click on ***Visit*** to go to the homepage of your Funkwhale instance!
![ ](./img/funkwhale3.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 263 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Some files were not shown because too many files have changed in this diff Show More