diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 9475ccaed..a9b3e64f0 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -209,14 +209,10 @@ module.exports = { '/how-to/modify-bootstrap-list', '/how-to/nat-configuration', '/how-to/kubo-rpc-tls-auth', - '/how-to/ipfs-updater', - [ - 'https://github.com/ipfs-examples/js-ipfs-examples/tree/master/examples/custom-ipfs-repo', - 'Customize an IPFS repo' - ], '/how-to/kubo-garbage-collection', '/how-to/troubleshooting', '/how-to/webtransport', + '/install/run-ipfs-inside-docker', ] }, { diff --git a/docs/.vuepress/redirects b/docs/.vuepress/redirects index 505b2b2f3..9747f8956 100644 --- a/docs/.vuepress/redirects +++ b/docs/.vuepress/redirects @@ -43,6 +43,7 @@ /how-to/browser-tools-frameworks /how-to/ipfs-on-the-web /how-to/troubleshoot-file-transfers /how-to/troubleshooting /how-to/run-ipfs-inside-docker /install/run-ipfs-inside-docker +/how-to/ipfs-updater /install/command-line /install/command-line-quick-start/ /how-to/command-line-quick-start /install/js-ipfs/ https://github.com/ipfs/helia/wiki /introduction/ /concepts @@ -50,7 +51,7 @@ /introduction/how-ipfs-works/ /concepts/how-ipfs-works /introduction/overview/ /concepts/what-is-ipfs /introduction/usage/ /how-to/command-line-quick-start -/install/ipfs-updater /how-to/ipfs-updater +/install/ipfs-updater /install/command-line /install/recent-releases/ https://github.com/ipfs/kubo/releases /install/recent-releases/go-ipfs-0-5/ https://github.com/ipfs/kubo/releases /install/recent-releases/go-ipfs-0-5/features/ https://github.com/ipfs/kubo/releases diff --git a/docs/how-to/ipfs-updater.md b/docs/how-to/ipfs-updater.md deleted file mode 100644 index 0a63a6309..000000000 --- a/docs/how-to/ipfs-updater.md +++ /dev/null @@ -1,266 +0,0 @@ ---- -title: Using ipfs-update -description: This page provides installation and usage guidance for ipfs-update, a command-line utility that can be used to install, uninstall, downgrade and upgrade IPFS Kubo. -current-ipfs-updater-version: v1.9.0 ---- - -# ipfs-update - -The ipfs-update tool is a command-line utility that can be used to install, uninstall, downgrade and upgrade IPFS [Kubo](../install/command-line.md). - -:::callout -See the [project repository](https://github.com/ipfs/ipfs-update#from-source) if you'd prefer to build ipfs-update from source. -::: - -## Install ipfs-update - -The ipfs-update tool can be downloaded using pre-built binaries from [`dist.ipfs.tech`](https://dist.ipfs.tech/#ipfs-update). Binaries are also available from the [IPFS Update GitHub release page](https://github.com/ipfs/ipfs-update/releases). - -:::: tabs - -::: tab windows id="install-ipfs-update-windows" - -### Windows - -1. Download the Windows binary from [`dist.ipfs.tech`](https://dist.ipfs.tech/#ipfs-update). - - ```powershell - wget https://dist.ipfs.tech/ipfs-update/v1.9.0/ipfs-update_v1.9.0_windows-amd64.zip -Outfile ipfs-update_v1.9.0_windows-amd64.zip - ``` - -1. Unzip the file to a sensible location, such as `~\Apps\ipfs-update_v1.9.0`: - - ```powershell - Expand-Archive -Path ipfs-update_v1.9.0_windows-amd64.zip -DestinationPath ~\Apps\ipfs-update_v1.9.0 - ``` - -1. Move into the `ipfs-update_v1.9.0` folder: - - ```powershell - cd Apps\ipfs-update_v1.9.0\ipfs-update\ - ``` - -1. Check that the `ipfs-update.exe` works: - - ```powershell - .\ipfs-update.exe --version - ``` - - At this point, ipfs-update is usable. However, it's strongly recommended that you first add `ipfs-update.exe` to your `PATH` using the following steps: - -1. Print the current working directory and copy it to your clipboard: - - ```powershell - pwd - ``` - -1. Check if a profile file for PowerShell already exists: - - ```powershell - Test-Path $profile - ``` - - If a profile already file exists, skip the next step and proceed to step 8. - -1. Create a new PowerShell profile file: - - ```powershell - New-Item -path $profile -type file –force - ``` - -1. Add the address copied in step 5 to PowerShell's `PATH` by adding it to the end of the `Microsoft.PowerShell_profile.ps1` file stored in `Documents\WindowsPowerShell`: - - ```powershell - Add-Content C:\Users\\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 "[System.Environment]::SetEnvironmentVariable('PATH',`$Env:PATH+';;C:\Users\\Apps\ipfs-update_v1.9.0\ipfs-update')" - ``` - -1. Close and reopen your PowerShell window. - - -1. Test that your `PATH` is set correctly by going to your home folder and asking `ipfs-update` for the version: - - ```powershell - ipfs-update --version - ``` - - :::tip - If an error occurs on the next startup of PowerShell while loading the profile file, change the PowerShell `ExecutionPolicy` to `Unrestricted`, as described in the [Microsoft PowerShell documentation](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-7). - ::: - - -::: - -::: tab macOS id="install-ipfs-update-mac" - -### macOS - -1. Download the macOS binary from [`dist.ipfs.tech`](https://dist.ipfs.tech/#ipfs-update). - - ```bash - curl -O https://dist.ipfs.tech/ipfs-update/v1.9.0/ipfs-update_v1.9.0_darwin-amd64.tar.gz - ``` - -1. Unzip the file: - - ```bash - tar -xvzf ipfs-update_v1.9.0_darwin-amd64.tar.gz - ``` - -1. Move into the `ipfs-update` folder - - ```bash - cd ipfs-update - ``` - -1. Run the install script: - - ```bash - sudo bash install.sh - ``` - -4. Check that `ipfs-update` installed properly: - - ```bash - ipfs-update --version - ``` - -::: - -::: tab linux id="install-ipfs-update-linux" - -### Linux - -1. Download the Linux binary from [`dist.ipfs.tech`](https://dist.ipfs.tech/#ipfs-update). - - ```bash - wget https://dist.ipfs.tech/ipfs-update/v1.9.0/ipfs-update_v1.9.0_linux-amd64.tar.gz - ``` - -1. Unzip the file: - - ```bash - tar -xvzf ipfs-update_v1.9.0_linux-amd64.tar.gz - ``` - -1. Move into the `ipfs-update` folder: - - ```bash - cd ipfs-update - ``` - -1. and run the install script: - - ```bash - sudo bash install.sh - ``` - -4. Test that `ipfs-update` has installed correctly: - - ```bash - ipfs-update --version - ``` - -::: - -:::: - -## Install Kubo - -The ipfs-update tool can be used to install Kubo. You can install the latest version, or specify a specific version. - -### Latest version - -To install the latest release of Kubo, use the `latest` tag: - -```bash -ipfs-update install latest -``` - -### Specific version -To install a specific Kubo ``, run: - -```bash -ipfs-update install -``` - -:::tip -When `ipfs-update install` is run and a version of IPFS is already installed, that version is _stashed_ and can be reverted to later. -::: - -## Roll-back Kubo version - -Use the `revert` function to roll-back to a previous version of Kubo: - -```bash -ipfs-update revert -``` - -The `revert` function is useful if a newly installed version needs to be reverted to a more stable version, or you want to test or use older versions of Kubo. - -## Uninstall ipfs-update - -To uninstall IPFS Update, delete the binary and `ipfs-update` from your `PATH` variable. - -:::: tabs - -::: tab windows id="uninstall-ipfs-update-windows" - -### Windows - -1. Find the location of the `ipfs-update.exe` file: - - ```powershell - gci -recurse -filter ipfs-update.exe -File -ErrorAction SilentlyContinue - ``` - -2. Remove the `ipfs-update` directory: - - ```powershell - Remove-Item -Recurse -Force C:\Users\\Apps\ipfs-update_v1.9.0 - ``` - -3. Delete the `ipfs-update` directory from the `PATH` variable. - - :::tip - This process differs between Windows installations, so please check the [Microsoft documentation for details](https://docs.microsoft.com/en-us/cpp/build/setting-the-path-and-environment-variables-for-command-line-builds?view=msvc-160). - ::: - -::: - -::: tab macOS id="uninstall-ipfs-update-macos" - -### MacOS - -1. Find the location of the `ipfs-update` file: - - ```bash - sudo find / -name ipfs-update - ``` - -2. Remove the file: - - ```bash - sudo rm /usr/local/bin/ipfs-update - ``` - -::: - -::: tab linux id="uninstall-ipfs-update-linux" - -### Linux - -1. Find the location of the `ipfs-update` file: - - ```bash - sudo find / -name ipfs-update - ``` - -2. Remove the file: - - ```bash - sudo rm /usr/local/bin/ipfs-update - ``` - -::: - -:::: \ No newline at end of file diff --git a/docs/install/command-line.md b/docs/install/command-line.md index 6d14df5b9..91df1bd9f 100644 --- a/docs/install/command-line.md +++ b/docs/install/command-line.md @@ -8,10 +8,13 @@ current-ipfs-version: v0.33.2 This guide describes the available installation processes for IPFS Kubo, a Go-based implementation of the InterPlanetary File System (IPFS) protocol. Kubo was the first implementation of IPFS, and is the most widely used implementation today. Kubo allows you to do everything that IPFS Desktop can do, but at a more granular level, since you can specify which commands to run. Kubo has the following features: -- An IPFS daemon server -- Extensive command line tooling -- An HTTP RPC API for controlling the node -- An HTTP Gateway for serving content to HTTP browsers +- Runs an IPFS-Node as a network service that is part of LAN and WAN ([Amino](https://probelab.io/ipfs/amino/)) DHT +- [HTTP Gateway](https://specs.ipfs.tech/http-gateways/) (`/ipfs` and `/ipns`) functionality for trusted and [trustless](https://docs.ipfs.tech/reference/http/gateway/#trustless-verifiable-retrieval) content retrieval +- [HTTP Routing V1](https://specs.ipfs.tech/routing/http-routing-v1/) (`/routing/v1`) client and server implementation for [delegated routing](https://github.com/ipfs/kubo/blob/master/docs/delegated-routing.md) lookups +- [HTTP Kubo RPC API](https://docs.ipfs.tech/reference/kubo/rpc/) (`/api/v0`) to access and control the daemon +- [Command Line Interface](https://docs.ipfs.tech/reference/kubo/cli/) (`ipfs --help`) based on (`/api/v0`) RPC API +- [WebUI](https://github.com/ipfs/ipfs-webui/#readme) to manage the Kubo node +- [Content blocking](https://github.com/ipfs/kubo/blob/master/docs/content-blocking.md) support for operators of public nodes - Binaries for Windows, MacOS, Linux, FreeBSD and OpenBSD Installing Kubo in the command line is handy for many use cases, such as building applications and services on top of an IPFS node, or setting up a node without a user interface (which is usually the case with remote servers or virtual machines). @@ -55,21 +58,58 @@ This section describes how to download and install the Kubo binary from `dist.ip If you are unable to access [dist.ipfs.tech](https://dist.ipfs.tech#kubo), you can also download Kubo (go-ipfs) from the project's GitHub [releases](https://github.com/ipfs/kubo/releases/latest) page or `/ipns/dist.ipfs.tech` at the [dweb.link](https://dweb.link/ipns/dist.ipfs.tech#kubo) gateway. ::: -Binaries are available for the following operating systems: - -| OS | 32-bit | 64-bit | ARM | ARM-64 | -|---------|--------|--------|-----|--------| -| macOS | No | Yes | No | Yes | -| FreeBSD | Yes | Yes | Yes | No | -| Linux | Yes | Yes | Yes | Yes | -| OpenBSD | Yes | Yes | Yes | No | -| Windows | Yes | Yes | No | No | - For installation instructions for your operating system, select the appropriate tab. :::: tabs -::: tab windows id="install-kubo-windows" +::: tab Linux id="install-kubo-linux" + +### Linux + +1. Download the Linux binary from [`dist.ipfs.tech`](https://dist.ipfs.tech/#kubo). + + ```bash + wget https://dist.ipfs.tech/kubo/v0.33.2/kubo_v0.33.2_linux-amd64.tar.gz + ``` + +1. Unzip the file: + + ```bash + tar -xvzf kubo_v0.33.2_linux-amd64.tar.gz + + > x kubo/install.sh + > x kubo/ipfs + > x kubo/LICENSE + > x kubo/LICENSE-APACHE + > x kubo/LICENSE-MIT + > x kubo/README.md + ``` + +1. Move into the `kubo` folder: + + ```bash + cd kubo + ``` + +1. Run the installation script + + ```bash + sudo bash install.sh + + > Moved ./ipfs to /usr/local/bin + ``` + +1. Test that Kubo has installed correctly: + + ```bash + ipfs --version + + > ipfs version 0.33.2 + ``` + +::: + +::: tab Windows id="install-kubo-windows" ### Windows @@ -174,54 +214,7 @@ For installation instructions for your operating system, select the appropriate ``` ::: -::: tab linux id="install-kubo-linux" - -### Linux - -1. Download the Linux binary from [`dist.ipfs.tech`](https://dist.ipfs.tech/#kubo). - - ```bash - wget https://dist.ipfs.tech/kubo/v0.33.2/kubo_v0.33.2_linux-amd64.tar.gz - ``` - -1. Unzip the file: - - ```bash - tar -xvzf kubo_v0.33.2_linux-amd64.tar.gz - - > x kubo/install.sh - > x kubo/ipfs - > x kubo/LICENSE - > x kubo/LICENSE-APACHE - > x kubo/LICENSE-MIT - > x kubo/README.md - ``` - -1. Move into the `kubo` folder: - - ```bash - cd kubo - ``` - -1. Run the install script - - ```bash - sudo bash install.sh - - > Moved ./ipfs to /usr/local/bin - ``` - -1. Test that Kubo has installed correctly: - - ```bash - ipfs --version - - > ipfs version 0.33.2 - ``` - -::: - -::: tab freeBSD id="install-kubo-freeBSD" +::: tab FreeBSD id="install-kubo-freeBSD" ### FreeBSD @@ -268,7 +261,7 @@ For installation instructions for your operating system, select the appropriate ::: -::: tab openBSD id="install-kubo-openBSD" +::: tab OpenBSD id="install-kubo-openBSD" ### OpenBSD @@ -342,6 +335,14 @@ When an IPFS command executes without parameters, the CLI client checks whether - If an `$IPFS_PATH` isn't in the default location, use the `--api ` command-line argument. Alternatively, you can set the environment variable to `IPFS_PATH`. `IPFS_PATH` will point to a directory with the `$IPFS_PATH/api` file pointing at the Kubo RPC of the existing `ipfs` daemon instance. +::: tip + +If you plan to expose the RPC API to the public internet with TLS encryption and HTTP authentication, check out the [TLS and HTTP Auth for Kubo with Caddy](../how-to/kubo-rpc-tls-auth.md) guide. + +If you are just interested in retrieval, see implementation-agnostic [HTTP Gateway](../reference/http/gateway.md) instead. + +::: + #### Most common examples If you are an IPFS Desktop user, you can install CLI tools and an `.ipfs/api` file is automatically picked up. @@ -355,4 +356,3 @@ You can use `mkdir -p ~/.ipfs && echo "/ip4//tcp/" > ~/.ipfs/api` Now that you've installed IPFS Kubo: - Check out the [IPFS Kubo Tutorial in Guides](../how-to/command-line-quick-start.md), which will guide you through taking a Kubo node online and interacting with the network. -- Learn how to quickly install, uninstall, upgrade and downgrade Kubo using [ipfs-update](../how-to/ipfs-updater.md).