docs(readme): official vs unofficial packages
Marcin Rataj committed
Aug 31, 2022 at 00:14 UTC
426cb8425589b3ef301ac844db8f84963c54fa37
1 file changed
+74
-74
README.md
+74
-74
@@ -15,8 +15,8 @@ Kubo (go-ipfs) the earliest and most widely used implementation of IPFS.
15
It includes:
16
- an IPFS daemon server
17
- extensive [command line tooling](https://docs.ipfs.tech/reference/kubo/cli/)
18
-- an [HTTP Gateway](https://github.com/ipfs/specs/tree/main/http-gateways#readme) (`/ipfs/`, `/ipns/`) for serving content to HTTP browsers
19
-- an HTTP RPC API (`/api/v0`) for controlling the daemon node
18
+- an [HTTP Gateway](https://docs.ipfs.tech/reference/http/gateway/) (`/ipfs/`, `/ipns/`) for serving content to HTTP browsers
19
+- an [HTTP RPC API](https://docs.ipfs.tech/reference/kubo/rpc/) (`/api/v0`) for controlling the daemon node
20
21
Note: [other implementations exist](https://docs.ipfs.tech/basics/ipfs-implementations/).
22
@@ -51,31 +51,30 @@ Before opening an issue, consider using one of the following locations to ensure
51
- [Install](#install)
52
- [System Requirements](#system-requirements)
53
- [Docker](#docker)
54
- - [Native Linux package managers](#native-linux-package-managers)
55
- - [ArchLinux](#archlinux)
54
+ - [Official prebuilt binaries](#official-prebuilt-binaries)
55
+ - [Updating](#updating)
56
+ - [Using ipfs-update](#using-ipfs-update)
57
+ - [Downloading builds using IPFS](#downloading-builds-using-ipfs)
58
+ - [Unofficial Linux packages](#unofficial-linux-packages)
59
+ - [ArchLinux](#arch-linux)
60
- [Nix](#nix)
61
- [Solus](#solus)
62
- [openSUSE](#opensuse)
59
- - [Other package managers](#other-package-managers)
63
- [Guix](#guix)
64
- [Snap](#snap)
62
- - [macOS package managers](#macos-package-managers)
65
+ - [Unofficial MacOS packages](#unofficial-macos-packages)
66
- [MacPorts](#macports)
67
- [Nix](#nix-1)
65
- - [Homebrew](#homebrew)
66
- - [Windows package managers](#windows-package-managers)
68
+ - [Homebrew](#homebrew)
69
+ - [Unofficial Windows packages](#unofficial-windows-packages)
70
- [Chocolatey](#chocolatey)
71
- [Scoop](#scoop)
69
- - [Install prebuilt binaries](#install-prebuilt-binaries)
72
- [Build from Source](#build-from-source)
73
- [Install Go](#install-go)
74
- [Download and Compile IPFS](#download-and-compile-ipfs)
75
- [Cross Compiling](#cross-compiling)
76
- [OpenSSL](#openssl)
77
- [Troubleshooting](#troubleshooting)
76
- - [Updating](#updating)
77
- - [Using ipfs-update](#using-ipfs-update)
78
- - [Downloading builds using IPFS](#downloading-builds-using-ipfs)
78
- [Getting Started](#getting-started)
79
- [Usage](#usage)
80
- [Some things to try](#some-things-to-try)
@@ -110,16 +109,67 @@ If your system is resource-constrained, we recommend:
109
110
### Docker
111
112
+Official images are published at https://hub.docker.com/r/ipfs/kubo/:
113
+
114
[](https://hub.docker.com/r/ipfs/kubo/)
115
116
More info on how to run Kubo (go-ipfs) inside Docker can be found [here](https://docs.ipfs.tech/how-to/run-ipfs-inside-docker/).
117
117
-### Native Linux package managers
118
+### Official prebuilt binaries
119
+
120
+The official binaries are published at https://dist.ipfs.tech#kubo:
121
+
122
+[](https://dist.ipfs.tech#kubo)
123
+
124
+From there:
125
+- Click the blue "Download Kubo" on the right side of the page.
126
+- Open/extract the archive.
127
+- Move kubo (`ipfs`) to your path (`install.sh` can do it for you).
128
+
129
+If you are unable to access [dist.ipfs.tech](https://dist.ipfs.tech#kubo), you can also download kubo (go-ipfs) from:
130
+- this project's GitHub [releases](https://github.com/ipfs/kubo/releases/latest) page
131
+- `/ipns/dist.ipfs.tech` at [dweb.link](https://dweb.link/ipns/dist.ipfs.tech#kubo) gateway
132
+
133
+#### Updating
134
+
135
+##### Using ipfs-update
136
+
137
+IPFS has an updating tool that can be accessed through `ipfs update`. The tool is
138
+not installed alongside IPFS in order to keep that logic independent of the main
139
+codebase. To install `ipfs-update` tool, [download it here](https://dist.ipfs.tech/#ipfs-update).
140
+
141
+##### Downloading builds using IPFS
142
+
143
+List the available versions of Kubo (go-ipfs) implementation:
144
+
145
+```console
146
+$ ipfs cat /ipns/dist.ipfs.tech/kubo/versions
147
+```
148
+
149
+Then, to view available builds for a version from the previous command (`$VERSION`):
150
+
151
+```console
152
+$ ipfs ls /ipns/dist.ipfs.tech/kubo/$VERSION
153
+```
154
+
155
+To download a given build of a version:
156
+
157
+```console
158
+$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_darwin-386.tar.gz # darwin 32-bit build
159
+$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_darwin-amd64.tar.gz # darwin 64-bit build
160
+$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_freebsd-amd64.tar.gz # freebsd 64-bit build
161
+$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_linux-386.tar.gz # linux 32-bit build
162
+$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_linux-amd64.tar.gz # linux 64-bit build
163
+$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_linux-arm.tar.gz # linux arm build
164
+$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_windows-amd64.zip # windows 64-bit build
165
+```
166
+
167
+### Unofficial Linux packages
168
169
- [Arch Linux](#arch-linux)
170
- [Nix](#nix-linux)
171
- [Solus](#solus)
122
-- [openSUSE](#openSUSE)
172
+- [openSUSE](#opensuse)
173
174
#### Arch Linux
175
@@ -156,11 +206,6 @@ You can also install it through the Solus software center.
206
207
[Community Package for go-ipfs](https://software.opensuse.org/package/go-ipfs)
208
159
-### Other package managers
160
-
161
-- [Guix](#guix)
162
-- [Snap](#snap)
163
-
209
#### Guix
210
211
GNU's functional package manager, [Guix](https://www.gnu.org/software/guix/), also provides a go-ipfs package:
@@ -171,6 +216,11 @@ $ guix package -i go-ipfs
216
217
#### Snap
218
219
+> ⚠️ **SNAP USE IS DISCOURAGED**
220
+>
221
+> If you want something more sophisticated to escape the Snap confinement, we recommend using a different method to install Kubo so that it is not subject to snap confinement.
222
+
223
+
224
With snap, in any of the [supported Linux distributions](https://snapcraft.io/docs/core/install):
225
226
```
@@ -183,14 +233,6 @@ The snap sets `IPFS_PATH` to `SNAP_USER_COMMON`, which is usually `~/snap/ipfs/c
233
$ sudo mount --bind ~/.ipfs ~/snap/ipfs/common
234
```
235
186
-If you want something more sophisticated to escape the snap confinement, we recommend using a different method to install kubo so that it is not subject to snap confinement.
187
-
188
-#### macOS package managers
189
-
190
-- [MacPorts](#macports)
191
-- [Nix](#nix-macos)
192
-- [Homebrew](#Homebrew)
193
-
236
#### MacPorts
237
238
The package [ipfs](https://ports.macports.org/port/ipfs) currently points to kubo (go-ipfs) and is being maintained.
@@ -217,7 +259,7 @@ A Homebrew formula [ipfs](https://formulae.brew.sh/formula/ipfs) is maintained t
259
$ brew install --formula ipfs
260
```
261
220
-### Windows package managers
262
+### Unofficial Windows packages
263
264
- [Chocolatey](#chocolatey)
265
- [Scoop](#scoop)
@@ -239,18 +281,12 @@ PS> scoop bucket add extras
281
PS> scoop install go-ipfs
282
```
283
242
-### Install prebuilt binaries
243
-
244
-[](https://dweb.link/ipns/dist.ipfs.tech#kubo)
284
+### Unofficial macOS packages
285
246
-From there:
247
-- Click the blue "Download kubo" on the right side of the page.
248
-- Open/extract the archive.
249
-- Move kubo (`ipfs`) to your path (`install.sh` can do it for you).
286
+- [MacPorts](#macports)
287
+- [Nix](#nix-macos)
288
+- [Homebrew](#homebrew)
289
251
-If you are unable to access [dist.ipfs.tech](https://dist.ipfs.tech#kubo), you can also download kubo (go-ipfs) from:
252
-- this project's GitHub [releases](https://github.com/ipfs/kubo/releases/latest) page
253
-- `/ipns/dist.ipfs.tech` at [dweb.link](https://dweb.link/ipns/dist.ipfs.tech#kubo) gateway
290
291
### Build from Source
292
@@ -320,42 +356,6 @@ dependencies as well.
356
- Shell command completions can be generated with one of the `ipfs commands completion` subcommands. Read [docs/command-completion.md](docs/command-completion.md) to learn more.
357
- See the [misc folder](https://github.com/ipfs/kubo/tree/master/misc) for how to connect IPFS to systemd or whatever init system your distro uses.
358
323
-### Updating
324
-
325
-#### Using ipfs-update
326
-
327
-IPFS has an updating tool that can be accessed through `ipfs update`. The tool is
328
-not installed alongside IPFS in order to keep that logic independent of the main
329
-codebase. To install `ipfs update`, [download it here](https://dist.ipfs.tech/#ipfs-update).
330
-
331
-#### Downloading builds using IPFS
332
-
333
-<!-- TODO: rename this section after we figure out if dist.ipfs.tech sgould produce both /go-ipfs/ and /kubo/ -->
334
-
335
-List the available versions of kubo (go-ipfs) implementation:
336
-
337
-```
338
-$ ipfs cat /ipns/dist.ipfs.tech/go-ipfs/versions
339
-```
340
-
341
-Then, to view available builds for a version from the previous command ($VERSION):
342
-
343
-```
344
-$ ipfs ls /ipns/dist.ipfs.tech/go-ipfs/$VERSION
345
-```
346
-
347
-To download a given build of a version:
348
-
349
-```
350
-$ ipfs get /ipns/dist.ipfs.tech/go-ipfs/$VERSION/go-ipfs_$VERSION_darwin-386.tar.gz # darwin 32-bit build
351
-$ ipfs get /ipns/dist.ipfs.tech/go-ipfs/$VERSION/go-ipfs_$VERSION_darwin-amd64.tar.gz # darwin 64-bit build
352
-$ ipfs get /ipns/dist.ipfs.tech/go-ipfs/$VERSION/go-ipfs_$VERSION_freebsd-amd64.tar.gz # freebsd 64-bit build
353
-$ ipfs get /ipns/dist.ipfs.tech/go-ipfs/$VERSION/go-ipfs_$VERSION_linux-386.tar.gz # linux 32-bit build
354
-$ ipfs get /ipns/dist.ipfs.tech/go-ipfs/$VERSION/go-ipfs_$VERSION_linux-amd64.tar.gz # linux 64-bit build
355
-$ ipfs get /ipns/dist.ipfs.tech/go-ipfs/$VERSION/go-ipfs_$VERSION_linux-arm.tar.gz # linux arm build
356
-$ ipfs get /ipns/dist.ipfs.tech/go-ipfs/$VERSION/go-ipfs_$VERSION_windows-amd64.zip # windows 64-bit build
357
-```
358
-
359
## Getting Started
360
361
### Usage