Your Name преди 7 години
родител
ревизия
b773e0e918
променени са 4 файла, в които са добавени 32 реда и са изтрити 3 реда
  1. 2 0
      .gitignore
  2. 1 1
      Dockerfile
  3. 5 2
      Makefile
  4. 24 0
      init_container

+ 2 - 0
.gitignore

@@ -1,2 +1,4 @@
 /.env
 /.idea
+/ipfsdata
+/staging

+ 1 - 1
Dockerfile

@@ -24,7 +24,7 @@ ADD supervisor.conf /etc/supervisor.conf
 RUN apt-get clean
 
 ENV IPFS_PATH /home/ipfs/.ipfs
-ENV IPFS_STAGING_PATH /home/ipfs/staging
+ENV IPFS_STAGING_PATH /staging
 
 RUN mkdir -p $IPFS_PATH $IPFS_STAGING_PATH \
   && adduser --quiet --disabled-password --home=/home/ipfs ipfs \

+ 5 - 2
Makefile

@@ -1,4 +1,4 @@
-include .env
+-include .env
 
 NAME ?= ipfsnode:latest
 ID ?= ipfstest
@@ -7,6 +7,9 @@ LOCAL_STAGING_DIR ?= /tmp/staging
 
 default: build
 
+init:
+	bash init_container
+
 build:
 	docker build -t $(NAME) .
 
@@ -16,7 +19,7 @@ shell:
 run:
 	mkdir -p $(LOCAL_DIR)
 	mkdir -p $(LOCAL_STAGING_DIR)
-	docker run --name $(ID) -v $(LOCAL_STAGING_DIR):/home/ipfs/staging -v $(LOCAL_DIR):/home/ipfs/.ipfs $(NAME)
+	docker run --name $(ID) -v $(LOCAL_STAGING_DIR):/staging -v $(LOCAL_DIR):/home/ipfs/.ipfs $(NAME)
 
 start:
 	docker start -ia $(ID)

+ 24 - 0
init_container

@@ -0,0 +1,24 @@
+#!/bin/bash
+
+set -e
+set -x
+
+base="$( cd "$(dirname "$0")" ; pwd -P )"
+
+if [ -e "$base/.env" ]; then
+	echo >&2 ".env already exists"
+	exit 0
+fi
+
+data_dir="$base/ipfsdata"
+staging_dir="$base/staging"
+
+mkdir -p "$data_dir" "$staging_dir"
+chown 1000:1000 "$data_dir" "$staging_dir"
+
+cat <<EOF >"$base/.env"
+LOCAL_DIR = $data_dir
+LOCAL_STAGING_DIR = $staging_dir
+EOF
+
+exit 0