Giter VIP home page Giter VIP logo

docker-ipfs's People

Contributors

aptalca avatar linuxserver-ci avatar thelamer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-ipfs's Issues

ARM Segmentation Fault on startup

linuxserver.io


Expected Behavior

On starting a container I expect IPFS to start-up / I should be able to query the IPFS help page

Current Behavior

On trying to launch IPFS on start-up of the container all I get is a Segmentation Fault in my container logs. Launching a console on the container and doing a ipfs --help also gives a Segmentation Fault.

Steps to Reproduce

  1. Launch a container on an arm32 device. I used the arm32v7-latest tag.
  2. Tail logs and see the segmentation fault

Environment

**OS:**Linux, in particular QTS 4.4 running on a QNAP
CPU architecture: arm32v7
How docker service was installed:
QNAP container station

Command used to create docker container (run/create/compose/screenshot)

Started through the QNAP web ui, command is equivalent to the example provided on the docker hub pages.

Docker logs

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing... 
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing... 
usermod: no changes

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
-------------------------------------

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    911
User gid:    911
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 20-config: executing... 
/var/run/s6/etc/cont-init.d/20-config: line 10:   260 Segmentation fault      ipfs init
/var/run/s6/etc/cont-init.d/20-config: line 10:   261 Segmentation fault      ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
/var/run/s6/etc/cont-init.d/20-config: line 10:   262 Segmentation fault      ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "POST"]'
/var/run/s6/etc/cont-init.d/20-config: line 10:   263 Segmentation fault      ipfs config --json Addresses.API '"/ip4/0.0.0.0/tcp/5001"'
/var/run/s6/etc/cont-init.d/20-config: line 10:   264 Segmentation fault      ipfs config --json Addresses.Gateway '"/ip4/0.0.0.0/tcp/8080"'
[cont-init.d] 20-config: exited 0.
[cont-init.d] 30-keygen: executing... 
generating self-signed keys in /config/keys, you can replace these with your own keys if required
Generating a RSA private key
................+++++
.............................+++++
writing new private key to '/config/keys/cert.key'
-----
[cont-init.d] 30-keygen: exited 0.
[cont-init.d] 40-migrate: executing... 
[cont-init.d] 40-migrate: exited 0.
[cont-init.d] 90-custom-folders: executing... 
[cont-init.d] 90-custom-folders: exited 0.
[cont-init.d] 99-custom-files: executing... 
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-files: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
crond[332]: crond (busybox 1.33.1) started, log level 5

Could not connect to the IPFS API? Why?

I am trying to run ipfs in docker with traefik as reverse proxy I dont know how to get into the WebUi once is running. I think everything is running fine but im not able to connect on my node to check the status or upload content from the WebUI.

Expected Behavior

Once running ipfs web UI should be accessible from anywhere or at least from my pc on the same LAN that is not the case . I know it is not supposed to be accessible from the internet but I run it on a headless raspberry pi. I plan to protect it with traefik middleware basicauth once everything will be up and running. Same as I do with traefik service in this example.

Current Behavior

Once running and when I browse to my subdomain ipfs.mysite.com i get the following error:

Could not connect to the IPFS API?

  1. Is your IPFS daemon running? Try starting or restarting it from your terminal:
  2. Is your IPFS API configured to allow cross-origin (CORS) requests? If not, run these commands and then start your daemon from the terminal:
  3. Is your IPFS API on a port other than 5001? If your node is configured with a custom API address, enter it here.

But when i am following the instructions on the screens it does not work because, I think these instructions are for IPFS companion users that are inside the LAN, not for the external users.

Here is the screenshot:
Imgur

Steps to Reproduce

  1. Install docker and docker-compose on a fresh VPS
  2. Make your DNS pointing to your VPS
  3. Forward the port 5001,4001,80,443,8080 to your VPS
  4. Copy/Paste the docker-compose file into the directory you want to run it
  5. Replace $domain1 and $domain2 in the docker-compose file by yours domain name
  6. Run “docker network create ipfsproxy”
  7. Run “docker-compose up -d”
  8. Browser your subdomain ipfs.mysite.com

Environment

Raspberry Pi4 8GB
DietPi fresh install:
CPU architecture:arm64

Here is the docker-compose file that I use:

Command used to create docker container (run/create/compose/screenshot)


version: "2.1"
services:
  traefik:
    container_name: traefik
    image: "traefik:v2.0.1"
    command:
      - --entrypoints.web.address=:80
      - --entrypoints.websecure.address=:443
      - --providers.docker
      - --api
      - [email protected]
      - --certificatesresolvers.leresolver.acme.storage=/letsencrypt/acme.json
      - --certificatesresolvers.leresolver.acme.tlschallenge=true
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
      - "./letsencrypt:/letsencrypt"
    labels:
      - "traefik.http.routers.traefik.rule=Host(`$domain1`)"
      - "traefik.http.routers.traefik.service=api@internal"
      - "traefik.http.routers.traefik.tls.certresolver=leresolver"
      - "traefik.http.routers.traefik.entrypoints=websecure"
      - "traefik.http.routers.traefik.middlewares=authtraefik"
      - "traefik.http.middlewares.authtraefik.basicauth.users=user:XXXXXXXXXXXXXXXXXXXXXXXXXXX"

      - "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)"
      - "traefik.http.routers.http-catchall.entrypoints=web"
      - "traefik.http.routers.http-catchall.middlewares=redirect-to-https"
  
      - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
  
  ipfs:
    image: ghcr.io/linuxserver/ipfs
    container_name: ipfs
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New-York
    volumes:
      - /srv/ipfs/data:/config
    labels:
      - "traefik.http.routers.digitalsoldier.rule=Host(`$domain2`)"
      - "traefik.http.routers.digitalsoldier.entrypoints=websecure"
      - "traefik.http.routers.digitalsoldier.tls=true"
      - "traefik.http.routers.digitalsoldier.tls.certresolver=leresolver"
    ports:
      - 4001:4001
      - 5001:5001
      - 8080:8080
    restart: unless-stopped

networks:
  default:
    external:
      name: ipfsproxy

Docker logs


Attaching to ipfs, traefik
ipfs       | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
ipfs       | [s6-init] ensuring user provided files have correct perms...exited 0.
ipfs       | [fix-attrs.d] applying ownership & permissions fixes...
ipfs       | [fix-attrs.d] done.
ipfs       | [cont-init.d] executing container initialization scripts...
ipfs       | [cont-init.d] 01-envfile: executing... 
ipfs       | [cont-init.d] 01-envfile: exited 0.
ipfs       | [cont-init.d] 10-adduser: executing... 
ipfs       | -------------------------------------
ipfs       |           _         ()
ipfs       |          | |  ___   _    __
ipfs       |          | | / __| | |  /  \ 
traefik    | time="2021-05-26T16:51:08Z" level=info msg="Configuration loaded from flags."
ipfs       |          | | \__ \ | | | () |
ipfs       |          |_| |___/ |_|  \__/
ipfs       | Brought to you by linuxserver.io
ipfs       | -------------------------------------
ipfs       | To support LSIO projects visit:
ipfs       | https://www.linuxserver.io/donate/
ipfs       | -------------------------------------
ipfs       | GID/UID
ipfs       | -------------------------------------
ipfs       | User uid:    1000
ipfs       | User gid:    1000
ipfs       | -------------------------------------
ipfs       | [cont-init.d] 10-adduser: exited 0.
ipfs       | [cont-init.d] 20-config: executing... 
ipfs       | [cont-init.d] 20-config: exited 0.
ipfs       | [cont-init.d] 30-keygen: executing... 
ipfs       | using keys found in /config/keys
ipfs       | [cont-init.d] 30-keygen: exited 0.
ipfs       | [cont-init.d] 40-migrate: executing... 
ipfs       | [ipfs-upgrade] Checking if fs-repo needs to be upgraded (this may take some time)
ipfs       | ipfs migration: already at version 11
ipfs       | [cont-init.d] 40-migrate: exited 0.
ipfs       | [cont-init.d] 99-custom-files: executing... 
ipfs       | [custom-init] no custom files found exiting...
ipfs       | [cont-init.d] 99-custom-files: exited 0.
ipfs       | [cont-init.d] done.
ipfs       | [services.d] starting services
ipfs       | [services.d] done.
ipfs       | Initializing daemon...
ipfs       | go-ipfs version: 0.8.0-19a05b846d
ipfs       | Repo version: 11
ipfs       | System version: arm64/linux
ipfs       | Golang version: go1.16
ipfs       | Swarm listening on /ip4/127.0.0.1/tcp/4001
ipfs       | Swarm listening on /ip4/127.0.0.1/udp/4001/quic
ipfs       | Swarm listening on /ip4/172.19.0.2/tcp/4001
ipfs       | Swarm listening on /ip4/172.19.0.2/udp/4001/quic
ipfs       | Swarm listening on /p2p-circuit
ipfs       | Swarm announcing /ip4/127.0.0.1/tcp/4001
ipfs       | Swarm announcing /ip4/127.0.0.1/udp/4001/quic
ipfs       | Swarm announcing /ip4/172.19.0.2/tcp/4001
ipfs       | Swarm announcing /ip4/172.19.0.2/udp/4001/quic
ipfs       | Swarm announcing /ip4/207.96.201.155/udp/43350/quic
ipfs       | API server listening on /ip4/127.0.0.1/tcp/5001
ipfs       | WebUI: http://127.0.0.1:5001/webui
ipfs       | Gateway (readonly) server listening on /ip4/0.0.0.0/tcp/8080
ipfs       | Daemon is ready

What I am doing wrong ?
Please help me to make the web faster, safer and more open!

Thanks

fs-repo requires migration

linuxserver.io


Expected Behavior

I should be able to upgrade the from v2.11.4-ls12 to v2.11.4-ls13 without any issue.

Current Behavior

When I change image from v2.11.4-ls12 to v2.11.4-ls13 the service crashes. See Docker logs below.

Steps to Reproduce

  1. Upgrade from v2.11.4-ls12 to v2.11.4-ls13.

Environment

OS:
CPU architecture: x86_64/arm32/arm64
How docker service was installed:

Command used to create docker container (run/create/compose/screenshot)

Docker logs

$ docker logs ipfs
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing... 
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing... 

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \ 
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
-------------------------------------

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    1000
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 20-config: executing... 
[cont-init.d] 20-config: exited 0.
[cont-init.d] 30-keygen: executing... 
using keys found in /config/keys
[cont-init.d] 30-keygen: exited 0.
[cont-init.d] 99-custom-files: executing... 
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-files: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
Initializing daemon...
go-ipfs version: 0.8.0-19a05b846d
Repo version: 11
System version: amd64/linux
Golang version: go1.16
Found outdated fs-repo, migrations need to be run.
Run migrations now? [y/N] Not running migrations of fs-repo now.
Please get fs-repo-migrations from https://dist.ipfs.io

Error: fs-repo requires migration
Initializing daemon...
go-ipfs version: 0.8.0-19a05b846d
Repo version: 11
System version: amd64/linux
Golang version: go1.16
Found outdated fs-repo, migrations need to be run.
Run migrations now? [y/N] Not running migrations of fs-repo now.
Please get fs-repo-migrations from https://dist.ipfs.io

Error: fs-repo requires migration

[Feature Request] Allow selection of Config Profile

linuxserver.io

I think it would be rather useful to allow configuring the IPFS server while starting the container. Now the container starts with the default configuration, which might be undesirable if the container runs connected to the Internet. The IPFS command supports profiles for this purpose.


Desired Behavior

Pass the desired Configuration Profile through an environment variable to the Container, so it generates the correct configuration file automatically.

Current Behavior

There is currently no way I know of to specify the Configuration Profile from Docker.

Alternatives Considered

Using the ipfs config profile apply command you can also change the configuration profile, but it requires you manually executing a shell within the container and running the command.

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.