user 7 년 전
부모
커밋
4b75555e3d
5개의 변경된 파일46개의 추가작업 그리고 9개의 파일을 삭제
  1. 9 7
      Dockerfile
  2. 30 0
      Makefile
  3. 4 1
      ipfs.supervisor.conf
  4. 2 0
      make_env
  5. 1 1
      start_ipfs

+ 9 - 7
Dockerfile

@@ -9,27 +9,29 @@ RUN \
   apt-get -y install locales && \
   locale-gen en_US.UTF-8
 
-RUN apt-get install -y curl git unzip wget
+RUN apt-get install -y curl git wget vim supervisor
 
 ENV LANG en_US.UTF-8
 ENV LANGUAGE en_US.UTF-8
 ENV LC_ALL en_US.UTF-8
 ENV HOME /root
 
-RUN apt-get -y install supervisor && \
-  mkdir -p /var/log/supervisor && \
+RUN mkdir -p /var/log/supervisor && \
   mkdir -p /etc/supervisor/conf.d
 
 ADD supervisor.conf /etc/supervisor.conf
 
 RUN apt-get clean
 
-ENV IPFS_PATH /data/ipfs
-RUN mkdir -p $IPFS_PATH \
-  && adduser --disabled-password --home=$IPFS_PATH ipfs \
-  && chown ipfs:ipfs $IPFS_PATH
+ENV IPFS_PATH /home/ipfs/.ipfs
+ENV IPFS_STAGING_PATH /home/ipfs/staging
+
+RUN mkdir -p $IPFS_PATH $IPFS_STAGING_PATH \
+  && adduser --quiet --disabled-password --home=/home/ipfs ipfs \
+  && chown -R ipfs:ipfs /home/ipfs
 
 VOLUME $IPFS_PATH
+VOLUME $IPFS_STAGING_PATH
 
 RUN mkdir /root/ipfs && \
     curl 'https://vcs.bsch.ca/public/ipfs-binaries/raw/master/go-ipfs_v0.4.16_linux-amd64.tar.gz' | tar xzf - -C /root/ipfs && \

+ 30 - 0
Makefile

@@ -0,0 +1,30 @@
+include make_env
+
+NAME ?= ipfsnode:latest
+ID ?= ipfstest
+LOCAL_DIR ?= /tmp/ipfsdata
+LOCAL_STAGING_DIR ?= /tmp/staging
+
+default: build
+
+build:
+	docker build -t $(NAME) .
+
+shell:
+	docker exec -it $(ID) /bin/bash
+
+run:
+	mkdir -p $(LOCAL_DIR)
+	docker run --name $(ID) -v $(LOCAL_STAGING_DIR):/home/ipfs/staging -v $(LOCAL_DIR):/home/ipfs/.ipfs $(NAME)
+
+start:
+	docker start -ia $(ID)
+
+daemon:
+	docker start $(ID)
+
+stop:
+	docker stop $(ID)
+
+rm: stop
+	docker rm $(ID)

+ 4 - 1
ipfs.supervisor.conf

@@ -1,4 +1,7 @@
 [program:ipfs]
 user=ipfs
 command=/usr/local/bin/start_ipfs
-redirect_stderr=true
+stdout_logfile=/dev/stdout
+stdout_logfile_maxbytes=0
+stderr_logfile=/dev/stderr
+stderr_logfile_maxbytes=0

+ 2 - 0
make_env

@@ -0,0 +1,2 @@
+LOCAL_DIR = /Users/user/ipfsdata
+LOCAL_STAGING_DIR = /Users/user/staging

+ 1 - 1
start_ipfs

@@ -1,7 +1,7 @@
 #!/bin/sh
 set -e
 
-export IPFS_PATH=/data/ipfs
+export IPFS_PATH=/home/ipfs/.ipfs
 
 ipfs version