* Add initialization directory support to Docker image
* Add sharness test, fix bugs in init script
Fixed in init script:
- Added some missing quotes around expansions
- Fixed INIT_ARGS to not pass any args if IPFS_PROFILE isn't specified
- Use printf instead of "echo -e"
- Only run scripts in top-level of init dir
- Handle filenames correctly when finding init scripts (by using find + xargs)
* chore: docker cleanup
cleans up containers and images (useful when run on developer machine)
* remove container init documentation from README
There is already IPFS Docker documentation where this should live:
https://docs.ipfs.io/how-to/run-ipfs-inside-docker/
Co-authored-by: Caian <caian@ggaunicamp.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
Co-authored-by: Gus Eggert <gus@gus.dev>
Simplify keeping the snap package up to date by including the snapcraft.yaml in the repo.
We can then wire up the snapstore to autobuild the package for amd64,i386,arm* etc.
Many thanks to @elopio for the work of getting ipfs into the snap store in the first place, and to @bertrandfalguiere and @mkg20001 for pushing it forwards.
See: https://github.com/ipfs-shipyard/ipfs-snap for more info.
Fixes#7250
WIP #3595
License: MIT
Signed-off-by: Oli Evans <oli@tableflip.io>
Go 1.14 has a timer reset deadlock (https://github.com/golang/go/issues/38070).
This also downgrades quic-go until either a go patch release fixes this issue or
a version of quic-go is released that works with go 1.13.
- allow IPFS_PLUGINS build-arg to be passed to docker build command
- remove annoying logging from peerlog plugin that appears multiple times in docker logs
usage:
docker build --build-arg IPFS_PLUGINS="foo bar baz"
License: MIT
Signed-off-by: Oli Evans <oli@tableflip.io>
* Explicitly switch to buster.
* Explicitly set the golang version (and use the latest patch release).
* Explicitly set the busybox version.
* Update the maintainer
The main Dockerfile supports dependencies caching now, rendering
Dockerfile.fast useless.
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
As of now,
$ docker pull ipfs/go-ipfs
Using default tag: latest
latest: Pulling from ipfs/go-ipfs
Digest: sha256:31cc5713ef3e3e81bf868cbb56c19de2d15d661743d8b6077804dee26e929ac5
Status: Image is up to date for ipfs/go-ipfs:latest
ipfs daemon will start as root user:
$ docker run --rm --entrypoint=/bin/sh ipfs/go-ipfs -c whoami
root
but later on will drop priviledges:
$ docker logs ipfs/go-ipfs |head -n 1
Changing user to ipfs
With this change applied, ipfs daemon starts as ipfs user right from
the begining:
$ docker run --rm --entrypoint=/bin/sh ipfs/go-ipfs -c whoami
ipfs
License: MIT
Signed-off-by: Mykola Nikishov <mn@mn.com.ua>
Go 1.11 changes the output of `go fmt` slightly so we either need to
all *downgrade* or *upgrade*. Let's upgrade.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
Signed-off-by: Victor Bjelkholm <git@victor.earth>
Signed-off-by: Steven Allen <steven@stebalien.com>
I think this was unintended: useradd -g sets the gecos field to "100".
Probably we meant to use -G to set the ipfs user group.
-G does not take gids, so it needs to be set by name.
The group with gid 100 is "users".
Additionally, since we install the ca-certificates package
(which is already installed), at least we should attempt to update it
to get the latest version of certs.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>