mirror of
https://codeberg.org/cunicu/cunicu.git
synced 2025-10-05 08:47:03 +08:00
137 lines
3.8 KiB
Markdown
137 lines
3.8 KiB
Markdown
---
|
|
sidebar_position: 5
|
|
# SPDX-FileCopyrightText: 2023 Steffen Vogel <post@steffenvogel.de>
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
---
|
|
|
|
# Installation
|
|
|
|
This guide shows how to install cunīcu.
|
|
cunīcu can be installed either from source, or from pre-built binary releases.
|
|
|
|
## From the Binary Releases
|
|
|
|
Every release of cunīcu provides binary releases for a variety of OSes.
|
|
These binary versions can be manually downloaded and installed.
|
|
|
|
## By Hand
|
|
|
|
1. [Download your desired version](https://github.com/cunicu/cunicu/releases)
|
|
2. Unzip it: `gunzip cunicu_0.0.1_linux_amd64.tar.gz`
|
|
3. Move the unzipped binary to its desired destination: `mv cunicu /usr/local/bin/cunicu`
|
|
4. Make it executable: `chmod +x /usr/local/bin/cunicu`
|
|
5. From there, you should be able to run the client and add the stable repo: `cunicu help`.
|
|
|
|
:::note
|
|
cunīcu automated tests are performed for Linux, macOS and Windows on x86_64, ARMv6, ARMv8 amd ARM64 architectures.
|
|
Testing of other OSes are the responsibility of the community requesting cunīcu for the OS in question.
|
|
:::
|
|
|
|
## From Script
|
|
|
|
cunīcu also has an installer script that will automatically grab the latest version of cunīcu and install it locally.
|
|
|
|
You can fetch that script, and then execute it locally.
|
|
It's well documented so that you can read through it and understand what it is doing before you run it.
|
|
|
|
```shell
|
|
curl -fsSL -o get_cunicu.sh get.cunicu.li
|
|
chmod 700 get_cunicu.sh
|
|
./get_cunicu.sh
|
|
```
|
|
|
|
Yes, you can `curl -fsSL get.cunicu.li | bash` if you want to live on the edge.
|
|
|
|
## Through Package Managers
|
|
|
|
cunīcu provides the ability to install via operating system package managers.
|
|
|
|
### From Apt (Debian, Ubuntu)
|
|
|
|
```shell
|
|
sudo apt-get install apt-transport-https --yes
|
|
echo "deb [arch=$(dpkg --print-architecture) trusted=yes] https://packages.cunicu.li/apt/ /" | sudo tee /etc/apt/sources.list.d/cunicu.list
|
|
sudo apt-get update
|
|
sudo apt-get install cunicu
|
|
```
|
|
|
|
### From Yum (Redhat, Fedora, RockyLinux)
|
|
|
|
```shell
|
|
echo '[cunicu]
|
|
name=cunicu
|
|
baseurl=https://packages.cunicu.li/yum/
|
|
enabled=1
|
|
gpgcheck=0' | sudo tee /etc/yum.repos.d/cunicu.repo
|
|
sudo yum install cunicu
|
|
```
|
|
|
|
### From Homebrew (macOS)
|
|
|
|
A formulae for cunīcu is available in our Homebrew Tap: https://github.com/cunicu/homebrew-cunicu.
|
|
|
|
```shell
|
|
brew tap cunicu/cunicu
|
|
brew install cunicu
|
|
```
|
|
|
|
### From Archlinux User Repository (AUR)
|
|
|
|
cunīcu is available in the Archlinux User Repository: https://aur.archlinux.org/packages/cunicu-bin.
|
|
|
|
```shell title="via Yaourt"
|
|
yaourt -S cunicu-bin
|
|
```
|
|
|
|
```shell title="or via Packer"
|
|
packer -S cunicu-bin
|
|
```
|
|
|
|
```shell title="or via yay"
|
|
yay cunicu-bin
|
|
```
|
|
|
|
### Nix
|
|
|
|
The `nix` branch of the cunicu repo is intended to always have a working nix package/flake.
|
|
|
|
#### Flakes
|
|
|
|
Building and installing cunīcu via [Nix](https://nix.dev/) is possible with [flakes](https://nixos.wiki/wiki/Flakes):
|
|
|
|
```shell
|
|
nix profile install github:cunicu/cunicu/nix?dir=nix
|
|
```
|
|
|
|
#### Legacy
|
|
|
|
You can also use `nix-env`/`nix-build` if you have cunicu checked out locally.
|
|
|
|
```shell
|
|
# check out cunicu
|
|
git clone https://github.com/cunicu/cunicu --branch nix && cd cunicu
|
|
|
|
# Build cunicu and add it to the environment
|
|
nix-env -if ./nix
|
|
```
|
|
|
|
## From Source (all)
|
|
|
|
Building cunīcu is fairly easy and allows you to install the latest unreleased version.
|
|
|
|
You must have a working Go environment.
|
|
|
|
```shell
|
|
go install github.com/cunicu/cunicu/cmd/cunicu@latest
|
|
```
|
|
|
|
If required, it will fetch the dependencies and cache them, and validate configuration.
|
|
It will then compile cunīcu and place it in `${GOPATH}/bin/cunicu`.
|
|
|
|
## Conclusion
|
|
|
|
In most cases, installation is as simple as getting a pre-built cunīcu binary.
|
|
This document covers additional cases for those who want to do more sophisticated things with cunīcu.
|
|
|
|
Once you have cunīcu successfully installed, you can move on to [using cunīcu](./usage/index.md) to setup your mesh VPN network.
|