Giter Site home page Giter Site logo

docker-ipfs's Introduction

IPFS - New Storage for Planet

Docker images for IPFS Node.

Supported tags and respective Dockerfile links

For more information about this image and its history, please see the relevant manifest file in the yeasy/docker-ipfs GitHub repo.

If you want to quickly test its features, please refer to IPFS Getting Started.

What is IPFS image?

Docker image with IPFS, can be used as an indivual node.

How to use this image?

The docker image is auto built at https://registry.hub.docker.com/u/yeasy/ipfs/. The data will be stored to ~/.ipfs of the container by default.

In Dockerfile

FROM yeasy/ipfs:latest

Local Testing

By default, the cmd will start a ipfs daemon node.

$ docker run -it \
        --name ipfs \
        -p 4001:4001 \
        -p 5002:5002 \
        -p 8080:8080 \
        yeasy/ipfs

After the daemon start up, can explore through a [web ui](http://localhost:5002/webui), or test with entering the container

```bash
$ docker exec -it ipfs bash # enter container
$ ipfs id # check your node's ID
$ ipfs swarm peers # check your peers in the network

$ hash=`ipfs add some-file` # add some file into ipfs
$ ipfs ls ${hash}  # list file based on hash
$ curl "https://ipfs.io/ipfs/$hash" > localfile

$ ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/quick-start # check out the quick start

Which image is based on?

The image is built based on golang 1.11 image.

What has been changed?

install ipfs-update

Use to manage the ipfs binary.

install the ipfs

Main binary to run the service.

Address configs

Expose all ports to public.

Supported Docker versions

This image is officially supported on Docker version 1.7.0+.

Support for older versions (down to 1.0) is provided on a best-effort basis.

Known Issues

  • N/A.

User Feedback

Documentation

Be sure to familiarize yourself with the repository's README.md file before attempting a pull request.

Issues

If you have any problems with or questions about this image, please contact us through a GitHub issue.

You can also reach many of the official image maintainers via the email.

Contributing

You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.

docker-ipfs's People

Contributors

yeasy avatar mitra42 avatar

Stargazers

Thiti Yamsung avatar Mustang Kong avatar 0xMett avatar Edi Sinovcic avatar Julien Bouquillon avatar Dmitry avatar Dwight Spencer (denzuko@mastodon.social) avatar Ivan Monteiro Cantalice avatar koji toukubo avatar  avatar  avatar lixucheng avatar  avatar  avatar  avatar ZenoTian avatar

Watchers

Steven avatar  avatar Dixing (Dex) Xu avatar  avatar  avatar

docker-ipfs's Issues

What is the line about FABRIC_ROOT

I'm unclear what the line ENV FABRIC_ROOT=$GOPATH/src/github.com/hyperledger/fabric
refers to since that project [https://github.com/hyperledger/fabric] doesn't seem to have anything to do with IPFS, the comment Only useful for this Dockerfile doesnt really help.

If its necessary for your own project wouldnt it be better to build another docker FROM this one with the project specific env variables ?

Interrelated peerid and volume and config persistence

Thanks for this docker, it was super useful to help us put together a potential production IPFS node for dweb.archive.org.

There are three issues, but they are tightly interrelated so posting as one, since any change could break one while fixing the others.

As I see it, there are three stages.

  1. build docker image - when we want the configuration to be defined. (We add three more lines to your image to fix CORS and enable URLStore). Looks good in current Dockerfile.

  2. Run container first time on new machine.- when we need a peerid established.
    The problem is that peer id is set in "ipfs init", so I'm pretty sure each machine will get the same peer id.

  3. Restart after a crash (IPFS daemon currently crashes on us approx every 25 hours, so supervisord is restarting it). At this point we want the Repo to remain the same, but in this image I think its going to use the fresh initialized repo each time.

One problem with potential fixes to this sequence - for example the Dockerfile in the go-ipfs repo uses start_ipfs - is that if you start IPFS in the instance and check for an initialized repo, then you can't run the config in the Dockerfile since it appears that you have to run config AFTER the repo is initialized.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.