Commit Graph

15 Commits

Author SHA1 Message Date
Mykola Nikishov
5b2e305fef Really run as non-root user in docker container
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>
2018-12-10 16:25:14 -08:00
Steven Allen
8b573dc771 switch to go 1.11
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>
2018-10-08 17:03:20 -07:00
Łukasz Magiera
22a25ef15c switch minimum go version to go 1.10
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>
2018-05-16 12:43:20 +01:00
Steven Allen
a7acb77889 fix empty continuation line docker error
I believe this is actually a bug in docker but it's easier to fix it ourselves
here.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2017-12-14 08:31:53 -08:00
Jeromy Johnson
5012a9d11e Merge pull request #4330 from ipfs/fix/docker-comments
docker: move comments to avoid "empty continuation lines"
2017-10-23 12:29:50 +01:00
Hector Sanjuan
b57539c109 Dockerfiles: do not set gecos field on user add. Set group.
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>
2017-10-20 20:59:26 +02:00
Lars Gierth
87408886b2 docker: move comments to avoid "empty continuation lines"
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2017-10-20 16:22:51 +02:00
Lars Gierth
e2a3cd3b66 docker: switch from musl to glibc
The Dockerfile now has two stages: build and assembly.
This allows for a full-fledged debian build container,
while still resulting in a super-thin busybox image.

License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2017-09-13 15:49:34 +02:00
kpcyrd
3c96b09ae7 docker: Automatically fix permissions
This patch is delaying the point where permissions are dropped into the `start_ipfs` script. This way, instead of exiting on permission issues, we can fix them on our own inside the script, then drop privileges and continue doing ipfs specific stuff with the correct user.

I've removed the `chmod 0777` step from the readme since it's not needed anymore.

License: MIT
Signed-off-by: kpcyrd <git@rxv.cc>
2017-03-03 21:10:02 +01:00
kpcyrd
3799bcfc2e Docker: Automatically migrate repo
This keeps docker containers from entering a crashloop on new image versions

License: MIT
Signed-off-by: kpcyrd <git@rxv.cc>
2017-02-12 21:10:28 +00:00
kpcyrd
77e4c64ac0 Dockerfile: Deprecate implicit daemon argument
After the discussion in https://github.com/ipfs/go-ipfs/pull/3573 this patch prints a deprecation warning if:

1) the image has been executed with additional arguments
2) the first argument isn't daemon

This way people are able to migrate to the new syntax without any breaking changes.

License: MIT
Signed-off-by: kpcyrd <git@rxv.cc>
2017-02-12 20:53:19 +00:00
Lars Gierth
b84ca68fa3 docker: switch to alpine dev channel, for go1.7
Go 1.7 funnily demands gcc for installing gx.

License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-08-26 01:44:32 +02:00
Lars Gierth
8cdf819af9 docker: remove go version constraint
There's only ever one version of a given package
per Alpine release, so GO_VERSION is superfluous
and only breaks the build if the go packages is updated.

License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-07-01 16:33:16 +02:00
Lars Gierth
a04570df73 docker: update to go 1.6.2 and alpine 3.4
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-06-24 02:24:20 +02:00
Lars Gierth
00ae31cbdd docker: make dockerfile differences more obvious
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-06-03 02:12:31 +02:00