# DAppNode Monolith - Clean install with script testing
[**⏎ Back** - Main test document](https://hackmd.io/6lBEcLSGSzuVZc9mGsgEAg)
**Who did this test?**
```
wimel
28-Jul-2020
```
## Intro
- All checkboxes should be ticked for a successful test.
- All **empty** code boxes should be filled with an answer
- If anything does not look as expected, **take screenshots**, **record a video** or **paste logs**. This guide is in a hackmd so you can add as much info about the test result as you need
- Add captures in-place with hackmd's native "Insert image"
- Add brief logs (less than 10 lines) or question answers in place between triple back ticks \`\`\`
- Add bigger logs in a [pastebin.com](https://pastebin.com/) and add the link in-place with a brief description of it
- Add videos in an open, free, no-sign in platform such as [streamable.com](https://streamable.com/)
## 1. Prepare test
*Note*: In a new machine you may need to install the [pre-requisites](https://github.com/dappnode/DAppNode/wiki/DAppNode-Installation-Guide#install-dappnode-prerequisites)
### 1.1 Install command
Paste here the install command you will use to install the versions
```
Snapshot
```
### 1.2 Pre-test checklist
- [x] This machine has no DAppNode packages installed. Check by running `docker ps` and expecting an empty list
- [x] The directory `/usr/src/dappnode/DNCORE` is empty. Check by running `ls /usr/src/dappnode/DNCORE` and expecting `No such file or directory`
- [x] There are no DAppNode docker volumes. Check by running `docker volume ls -f name=dappnode` and expecting an empty list
## 2. Do test
> **Note**: Building and installing these test versions can take **10-30 minutes**
- [x] Run install link and expect a successful completition. You should see logs similar like these at the end.
```
DAppNode started
Once connected through the VPN (OpenVPN) you can access to the administration console by following this link:
http://my.dappnode/
```
- [x] Load VPN credentials and enter http://my.dappnode/
- [x] You should see immediately a modal saying ***Some settings require your attention***. Click start and you should see the views:
- [x] Repository. Choose **Full node geth**, and **fallback OFF**. We will test if DAppNode is able to install Geth offline.

- [x] System auto-updates. Choose **ON**

- [ ] *Only if you are installing in a physical machine*: Change host password. **Skip**, or do nothing
- [x] Record resulting DAppNode versions from `/support/report`
```
Core DAppNode Packages versions
dappmanager.dnp.dappnode.eth: 0.2.33, branch: v0.2.33, commit: dbc4cde3
wifi.dnp.dappnode.eth: 0.2.3
bind.dnp.dappnode.eth: 0.2.5
vpn.dnp.dappnode.eth: 0.2.6, branch: v0.2.6, commit: 290c563e
ipfs.dnp.dappnode.eth: 0.2.9
System info
docker version: Docker version 18.09.8-ce, build 0dd43dd87fd530113bf44c9bba9ad8b20ce4637f
docker compose version: docker-compose version 1.25.5, build unknown
Disk usage: 14%
```

- [x] Make sure old system packages are not installed. Check in UI's view `/packages` system tab
- [x] DNP_ETHFORWARD is **not** installed
- [x] DNP_ADMIN is **not** installed
- [x] DNP_WAMP is **not** installed

Test initial auto-updates setup
- [x] Go to `/system/auto-updates` and
- [x] *System packages* auto-updates should be ON
- [x] *My packages* auto-updates should be OFF

>`System packages` and `My packages` auto-updates activated by default.
Test remote node initial setup and fallback
- [x] Go to `/system/repository` and you should see that Fullnode / Geth is selected and the client is `installing`, `installed` or `syncing`. Wait for the client finish installing.

- [x] Make sure Geth is installed. It should be in UI's view `/packages`
- [x] Go to /installer, and the packages should not be able to load since Geth is still syncing.

- [x] Go back to `/system/repository` and enable the fallback. Turn the fallback switch `ON`.

- [x] Go to /installer, and now the packages should load from the remote server

Do a package add / remove flow
- [x] Install the IPFS Pinner package

- [x] Check its logs and see that info is comming in
- [x] Go to `/system/auto-updates` and enable auto-updates for `My packages`, then for the IPFS Pinner package

- [x] Remove the IPFS Pinner package (+ data)

Do a device add / remove flow
- [x] Add a new device in `/devices`
- [x] Make the new device admin, and un-make it admin

- [x] Remove this new device

Connect with a secondary VPN profile
- [x] Add a new device in `/devices`
- [x] Make it admin
- [x] Click `Get link` and open the credentials URL
- [x] Download the new device credentials
- [x] Install them and connect with the new device credentials
- [x] Successfully connected as an admin and accessed the UI

If you want do extra actions that you normally do with your DAppNode to test all is OK
---
**Great job! You are done with the test!**
Please report if anything did not work as expected
**IMPORTANT! paste the link** of this hackmd in the [**Main document results table**](https://hackmd.io/6lBEcLSGSzuVZc9mGsgEAg?view#Clean-install-with-script)