firt commit
This commit is contained in:
commit
dbc4a0e79e
1
.dockerignore
Normal file
1
.dockerignore
Normal file
@ -0,0 +1 @@
|
|||||||
|
data/
|
14
Dockerfile
Normal file
14
Dockerfile
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
FROM ubuntu:bionic
|
||||||
|
# https://dist.ipfs.io/go-ipfs/v0.4.18/go-ipfs_v0.4.18_linux-amd64.tar.gz
|
||||||
|
COPY sha512sum.txt .
|
||||||
|
RUN apt-get -qq update && \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get -qqy install wget gosu
|
||||||
|
RUN wget -q -O go-ipfs.tar.gz https://files.nixaid.com/go-ipfs_v0.4.18_linux-amd64.tar.gz && \
|
||||||
|
sha512sum -c sha512sum.txt && \
|
||||||
|
tar xf go-ipfs.tar.gz -C /opt && \
|
||||||
|
rm go-ipfs.tar.gz
|
||||||
|
RUN find /opt/ -type f -name "ipfs" -exec ln -sv '{}' /usr/local/bin/ \;
|
||||||
|
|
||||||
|
COPY ./launch /launch
|
||||||
|
ENTRYPOINT [ "/bin/sh", "/launch" ]
|
||||||
|
LABEL maintainer="Andrey Arapov <andrey.arapov@nixaid.com>"
|
64
README.md
Normal file
64
README.md
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
## IPFS in Docker
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
Start the IPFS:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
This will initialize the node under ``data/.ipfs`` directory.
|
||||||
|
|
||||||
|
Then prepare the following functions and add them to your ``~/.bash_aliases`` file:
|
||||||
|
|
||||||
|
```
|
||||||
|
function docker_helper_up() {
|
||||||
|
command cd ~/git/$1
|
||||||
|
docker-compose up -d "$1"
|
||||||
|
command cd ~-
|
||||||
|
}
|
||||||
|
|
||||||
|
function docker_helper_exec_u() {
|
||||||
|
command cd ~/git/$1
|
||||||
|
docker-compose exec -w /home/user -u user "$1" "$@"
|
||||||
|
command cd ~-
|
||||||
|
}
|
||||||
|
|
||||||
|
function ipfs-daemon() {
|
||||||
|
docker_helper_up ipfs
|
||||||
|
}
|
||||||
|
|
||||||
|
function ipfs() {
|
||||||
|
docker_helper_exec_u "$FUNCNAME" "$@"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Now you can use ipfs command as normal:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ipfs id
|
||||||
|
$ ipfs swarm addrs --local
|
||||||
|
$ ipfs pin ls -q --type recursive
|
||||||
|
$ ipfs ls QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv
|
||||||
|
$ ipfs cat QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/quick-start
|
||||||
|
|
||||||
|
$ mkdir data/public
|
||||||
|
$ cp ~/Downloads/dog-on-moon.gif data/public
|
||||||
|
$ ipfs add -rw public
|
||||||
|
|
||||||
|
$ ipfs ls Qmdd7jNjEM4RXEnG8Y4ZikaqN6PUJkZ6bZuJZySEaFcuqY
|
||||||
|
QmagwXL3P4vPKiehXaPzYsHWc2F4hcPpnYEmm1AgQ4QLrU 2177241 dog-on-moon.gif
|
||||||
|
|
||||||
|
$ ipfs cat Qmdd7jNjEM4RXEnG8Y4ZikaqN6PUJkZ6bZuJZySEaFcuqY/dog-on-moon.gif | sha256sum
|
||||||
|
03f9ccb5d2a0e88acb60188e627042ef143c7fe5426c883863e78e66dab908d7 -
|
||||||
|
$ sha256sum ~/Downloads/dog-on-moon.gif
|
||||||
|
03f9ccb5d2a0e88acb60188e627042ef143c7fe5426c883863e78e66dab908d7 /home/arno/Downloads/dog-on-moon.gif
|
||||||
|
|
||||||
|
$ curl -s https://ipfs.io/ipfs/Qmdd7jNjEM4RXEnG8Y4ZikaqN6PUJkZ6bZuJZySEaFcuqY/dog-on-moon.gif | sha256sum
|
||||||
|
03f9ccb5d2a0e88acb60188e627042ef143c7fe5426c883863e78e66dab908d7 -
|
||||||
|
```
|
||||||
|
|
||||||
|
### Links
|
||||||
|
|
||||||
|
- https://ipfs.github.io/public-gateway-checker/
|
2
data/.gitignore
vendored
Normal file
2
data/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
*
|
||||||
|
!.gitignore
|
12
docker-compose.yml
Normal file
12
docker-compose.yml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
version: '3.7'
|
||||||
|
|
||||||
|
services:
|
||||||
|
ipfs:
|
||||||
|
init: true
|
||||||
|
build: .
|
||||||
|
network_mode: bridge
|
||||||
|
volumes:
|
||||||
|
- ./data:/home/user
|
||||||
|
cap_add:
|
||||||
|
- IPC_LOCK # lock memory to prevent sensitive values from being swapped to disk.
|
||||||
|
shm_size: 128M
|
10
launch
Executable file
10
launch
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -x
|
||||||
|
#
|
||||||
|
# Make errors visible upon `docker logs -f steam` command
|
||||||
|
#
|
||||||
|
exec 2>&1
|
||||||
|
|
||||||
|
id user >/dev/null 2>&1 || useradd -s /usr/sbin/nologin -d /home/user -u ${UID:-1000} user
|
||||||
|
[ -d /home/user/.ipfs ] || gosu user ipfs init
|
||||||
|
gosu user ipfs daemon
|
1
sha512sum.txt
Normal file
1
sha512sum.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
ef5b44a0aaed604890c83322ca02228061204085b87b20dd173edfe6b6631fc7a54724d2e00202488c86886992a0d409f43e09f022cdf8b1138f8419cf7614b0 go-ipfs.tar.gz
|
Loading…
Reference in New Issue
Block a user