There are two versions of Duniter. Choose the wich most fits your needs.
## Desktop version
A desktop machine will make it easier for you to manage your Duniter instance thanks to a graphical interface.
Your instance will be up as long as you keep your computer and Duniter software on. If you close your software or shut down your computer, Duniter will be able to resync with the network when you restart it.
> Once you are done with the installation, you can follow [the desktop user's guide](https://forum.duniter.org/t/duniter-desktop-guide/902) to understand how to use Duniter.
## Server version
## GNU/Linux
### Ubuntu 64 bits
For the most advanced users, a _server_ install allows you to have a node up 100% of the time since a server is made to run forever.
1. Go to the [releases page](https://github.com/duniter/duniter/releases) and choose the latest build. You have to download the file with `.deb` extension.
Go to the [release page](https://git.duniter.org/nodes/typescript/duniter/wikis/Releases) to get a link to the last stable release.
1. Go to the [releases page](https://github.com/duniter/duniter/releases) and choose the latest build. You have to download the file with `.deb` extension.
Choose the file you need:
* Files for Ubuntu and Debian are terminated by the `.deb` extension.
* Choose either the file which name is containing `desktop` or `server` for respectively _desktop_ or _server_ version.
* Choose the file matching your architecture. If you don't know what it is, you probably need version x64.
2. Process the installation by opening the file with `GDebi` (or with `dpkg` software if you prefer to use it).
> At any moment you could also use `duniter-desktop` command to launch Duniter. It is an equivalent.
> Note: it is also possible to start _bureau_ version with the `duniter-desktop` command. Using the command or the GUI is equivalent.
To launch the daemon (_server_ version):
duniter start
> You can follow [the command line user's guide](../commands) in order to use your server node.
### Enable automatic startup
> Automatic startup is only available on _server_ versions after 1.6.15.
In order for the node to be automatically launched at computer startup, execute the command:
systemctl enable duniter.service
By default, the server will start as `duniter` user in the directory `/var/lib/duniter`.
You can customize the service behavior using [drop-ins][drop-ins](https://coreos.com/os/docs/latest/using-systemd-drop-in-units.html). For example, in order to start with web interface, you can create a file named `/etc/systemd/system/duniter.service.d/10-web.conf` with the following content:
[Service]
Environment="DUNITER_WEB=web"
Adjustable environment variables for this service are:
| Variable | Description |
|----------|-------------|
| `DUNITER_WEB` | Must be empty for classical startup, or _web_ to start the web interface |
| `DUNITER_HOME` | Server file location, default: `/var/lib/duniter` |
| `DUNITER_DATA` | Name (location) of the database, default: `duniter_default` |
| `DUNITER_OPTS` | Any other option to be given to command line at startup |
## Gentoo 64 bits
In order to install Duniter on Gentoo, there is a package in the overlay [sveyret-overlay](https://github.com/sveyret/sveyret-overlay). A _README_ file can be found in this overlay to help you and add it to the _Portage_ tree.
### Other distribution
#### With tarball archive
You will then be able to install the package `net-p2p/duniter`:
1. Go to the [releases page](https://github.com/duniter/duniter/releases) and choose the latest build. Download the file with `.tar.gz` extension.
emerge -av net-p2p/duniter
The following _USE flags_ allow you to decide what will be built:
| Flag | Description |
|------|-------------|
| `desktop` | Build and install the _desktop_ version instead of the _server_ one |
| `gui` | Add the GUI (mandatory for _desktop_ version, add the web interface for _server_ version) |
## YunoHost
A [YunoHost package](https://github.com/duniter/duniter_ynh) is available (_server_ version only).
## Other distributions
For other distributions, there is a binary file containing the _desktop_ version.
1. Go to the [release page](https://git.duniter.org/nodes/typescript/duniter/wikis/Releases) to get a link to the last stable release and download the `duniter-desktop` file with `.tar.gz` extension.
2. Extract the tarball: `tar zxvf duniter-*.tar.gz`.
3.Run it with `./nw/nw`.
3.**Go to the extracted directory** and run Duniter with `./nw`.
## Windows
## Docker
1. Go to the [releases page](https://github.com/duniter/duniter/releases) and choose the latest build. You have to download the file with `.exe` extension.
Unavailable for the moment.
2. Process the installation by a double-click on the downloaded `.exe` file.
> It may occur that the downloaded file misses the `.exe` extension. This is a Windows protection. You have to circumvent it by renaming the file and add `.exe` to the end of the name to be able to execute it.
## Manual building
3. Follow the installation procedure. You basically just need to accept the licence and click "Next" on each step.
_Server_ version of Duniter can be compiled on the majority of Linux machines (32 bits or 64 bits) in just a few steps (first two should only be done once):
4. Duniter is now installed, by default it will be launched at the end of the installation. You can launch it in the Windows menus "Start > Programs > Duniter > Duniter".
For the most advanced users, a server install allows you to have a node up 100% of the time since a server is made to run forever.
A tool can be used to install the wanted Node.js version and change as needed: its name is [nvm](https://github.com/creationix/nvm).
You will control your instance using *command line tools*, but if you want you could also access the graphical interface using a web browser. Note how this is an even more advanced usage and requires security skills for not opening an admin access to your node.
You may install nvm with:
> Once you are done with the installation, you can follow [the command line user's guide](../commands).
> Note: for version older than Duniter 1.6, required Node.js version is 6.
**2. [Yarn](https://yarnpkg.com/) install**
## GNU/Linux
### Ubuntu/Debian package (64 bits)
Yarn may be installed by:
1. Go to the [releases page](https://github.com/duniter/duniter/releases) and choose the latest build. You have to download the file with `.deb` extension.
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
2. Process the installation by launching `dpkg -i` on the downloaded file. This requires root credentials.
**3. Téléchargement de Duniter**
```bash
dpkg -i[downloaded_file_name].deb
```
Go to the [release page](https://git.duniter.org/nodes/typescript/duniter/wikis/Releases) to get a link to the last stable release and download the `Source code (tar.gz)` file.
3. Launch the daemon with:
```bash
duniter start
```
If you want to launch the node with the administration web interface:
```bash
duniter webstart
```
**4. Start the installation from the uncompressed folder `duniter/`:**
### YunoHost
> Note: **do not launch these commands as `root`.** [This won't work, we know it](https://github.com/duniter/duniter/issues/412).
A [YunoHost package](https://github.com/duniter/duniter_ynh) is available.
cd duniter
yarn
### Manual compilation
**5. Use [the Duniter commands](./commands)** by prefixing `duniter` with `bin/`. Example:
Duniter can be compiled on the majority of Linux machines (32 bits or 64 bits) in just a few steps:
bin/duniter --version
1. Install [Node.js version 6 or above](https://nodejs.org) + [Yarn](https://yarnpkg.com/lang/en/docs/install/)
**6. Add web interface** (not added by default), to add `direct_webstart` et `webstart` commands:
2. Go to the [latest release page](https://github.com/duniter/duniter/releases/latest) and download the `Source code (tar.gz)` file.
bin/duniter plug duniter-ui@1.6.x
3. Start the installation from the uncompressed folder `duniter/` :
> N.B. : **do not launch these commands as `root`.** [This won't work, we know it](https://github.com/duniter/duniter/issues/412).
> Note: for Duniter **1.5.9** ou below:
cd duniter
yarn
4. Use [the Duniter commands](./commands) by prefixing `duniter` with `bin/`. Example:
bin/duniter plug duniter-ui@1.4.x
sed -i "s/duniter\//..\/..\/..\/..\//g" node_modules/duniter-ui/server/controller/webmin.js
bin/duniter --version
# Windows
A _desktop_ version is available for Windows.
1. Go to the [release page](https://git.duniter.org/nodes/typescript/duniter/wikis/Releases) to get a link to the last stable release. You have to download the file with `.exe` extension.
2. Process the installation by a double-click on the downloaded `.exe` file.
> It may occur that the downloaded file misses the `.exe` extension. This is a Windows protection. You have to circumvent it by renaming the file and add `.exe` to the end of the name to be able to execute it.
### Docker
3. Follow the installation procedure. You basically just need to accept the licence and click "Next" on each step.
4. Duniter is now installed, by default it will be launched at the end of the installation. You can launch it in the Windows menus "Start > Programs > Duniter > Duniter".