# Fleek Network (Ubuntu - c5.xlarge)
This is a living document and subject to change as Ursa changes.
## Install
**Environment**
Ubuntu
4vCPU & 8GiB Memory
Disk Usage after build ~10GB (36.4% of 24.05GB)
Port(s):
- `4069`
__Install dependencies__
```shell=
sudo apt update -y
sudo apt upgrade -y
sudo apt install build-essential -y
sudo apt install libssl-dev pkg-config libclang-dev protobuf-compiler -y
```
__Install Rust (^1.65.0)__
```shell=
curl https://sh.rustup.rs -sSf > RUSTUP.sh
sh RUSTUP.sh -y
rm RUSTUP.sh
source "$HOME/.cargo/env"
```
<https://gist.github.com/BlueyNeilo/7f4bb0f13b0f89792371bc08ee3cb087>
__Install sccache__
`cargo install sccache`
__Install cmake__
```shell=
cd /tmp
wget https://cmake.org/files/v3.18/cmake-3.20.0.tar.gz
tar -xvzf cmake-3.20.0.tar.gz
cd cmake-3.20.0
./bootstrap
make
sudo make install
```
__Install Ursa__
```shell=
git clone https://github.com/Psychedelic/ursa.git
cd ursa
make install
```
Building ursa generates numerous warnings related to unused variables. These can be ignored.
**example warnings**:
```text=
```
__Run__
In another terminal window:
```shell=
ursa
```
<https://github.com/fleek-network/ursa>
## Simple test
_Ursa server must be running for this step_
1. Source test file: `curl https://ipfs.io/ipfs/bafybeidqdywrzg7c3b4dmm332m4b7uiakgitplz2pep2zntederxpj3odi -o basic.car`
2. Put file: `ursa rpc put basic.car`
3. Result: `Put car file done: "bafybeifyjj2bjhtxmp235vlfeeiy7sz6rzyx3lervfk3ap2nyn4rggqgei"`
4. Get file: `ursa rpc get bafybeifyjj2bjhtxmp235vlfeeiy7sz6rzyx3lervfk3ap2nyn4rggqgei ./output`
5. Compare `ls -la ./output` and `ls -la ./basic.car`
## Keeping usra up-to-date
From the `usra` directory:
```shell=
git pull origin
make install
```
__Resources__
- <https://fleek.network/fleek-network.pdf>
- <https://fleek.network/#run-a-node_node>
- <https://blog.fleek.co/posts/fleek-network-getting-started-guide>
- <https://twitter.com/fleekxyz/status/1598723966331686912?s=20&t=aKXgcQJ53e9gBdUxt_izgw>
- <https://blog.fleek.co/posts/fleek-network-how-to-install-rust-and-the-dependencies-for-ursa-cli>
- <https://blog.fleek.co/posts/fleek-network-how-to-install-rust-and-the-dependencies-for-ursa-cli>
- <https://blog.fleek.co/posts/fleek-network-running-a-node-in-a-docker-container>