From 6a8c560d21429108731b115f93ac8a4ead012917 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E3=81=8B=E3=81=B2=E3=82=8F=E3=81=974=EF=BC=88=E3=83=90?=
 =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B31=EF=BC=89?=
 <khws4v1@gmail.com>
Date: Wed, 24 Oct 2018 14:36:42 +0900
Subject: [PATCH] =?UTF-8?q?Docker=E9=96=A2=E9=80=A3=E3=81=AE=E4=BF=AE?=
 =?UTF-8?q?=E6=AD=A3=20(#2997)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* Modify Dockerfile and docker-compose.yml

* Fix MongoDB connection error
* Use alpine-3.8 instead of alpine-edge as base image
* Modify install packages
* Modify Mongodb image tag name

* Update Docker documents

* Add 'Download misskey' paragraph

* Make redis optional for Docker
---
 Dockerfile         | 20 +++++++++++++++-----
 docker-compose.yml | 18 +++++++++---------
 docs/docker.en.md  | 14 ++++++++++----
 docs/docker.ja.md  | 16 +++++++++++-----
 4 files changed, 45 insertions(+), 23 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index dc7ca8d360..a95789c01d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,16 +1,26 @@
-FROM alpine:edge AS base
+FROM alpine:3.8 AS base
 
 ENV NODE_ENV=production
 
-RUN apk add --no-cache nodejs nodejs-npm
-RUN apk add vips fftw --update-cache --repository https://dl-3.alpinelinux.org/alpine/edge/testing/
+RUN apk add --no-cache nodejs nodejs-npm zlib
 WORKDIR /misskey
 COPY . ./
 
 FROM base AS builder
 
-RUN apk add --no-cache	gcc g++ python autoconf automake file make nasm
-RUN apk add vips-dev fftw-dev --update-cache --repository https://dl-3.alpinelinux.org/alpine/edge/testing/
+RUN apk add --no-cache \
+    gcc \
+    g++ \
+    libc-dev \
+    python \
+    autoconf \
+    automake \
+    file \
+    make \
+    nasm \
+    pkgconfig \
+    libtool \
+    zlib-dev
 RUN npm install \
     && npm install -g node-gyp \
     && node-gyp configure \
diff --git a/docker-compose.yml b/docker-compose.yml
index 1b2e6c9fc3..7ff8f6a268 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -6,7 +6,7 @@ services:
     restart: always
     links:
       - mongo
-      - redis
+#      - redis
 #      - es
     ports:
       - "127.0.0.1:3000:3000"
@@ -14,18 +14,18 @@ services:
       - internal_network
       - external_network
 
-  redis:
-    restart: always
-    image: redis:4.0-alpine
-    networks:
-      - internal_network
+#  redis:
+#    restart: always
+#    image: redis:4.0-alpine
+#    networks:
+#      - internal_network
 ### Uncomment to enable Redis persistance
-#    volumes:
-#      - ./redis:/data
+##    volumes:
+##      - ./redis:/data
 
   mongo:
     restart: always
-    image: mongo:4.1-bionic
+    image: mongo:4.1
     networks:
       - internal_network
     environment:
diff --git a/docs/docker.en.md b/docs/docker.en.md
index d0546c0a2a..a88e0803e8 100644
--- a/docs/docker.en.md
+++ b/docs/docker.en.md
@@ -7,23 +7,29 @@ This guide describes how to install and setup Misskey with Docker.
 
 ----------------------------------------------------------------
 
-*1.* Make configuration files
+*1.* Download Misskey
+----------------------------------------------------------------
+1. `git clone -b master git://github.com/syuilo/misskey.git` Clone Misskey repository's master branch.
+2. `cd misskey` Move to misskey directory.
+3. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest) tag.
+
+*2.* Make configuration files
 ----------------------------------------------------------------
 1. `cp .config/example.yml .config/default.yml` Copy the `.config/example.yml` and rename it to `default.yml`.
 2. `cp .config/mongo_initdb_example.js .config/mongo_initdb.js` Copy the `.config/mongo_initdb_example.js` and rename it to `mongo_initdb.js`.
 2. Edit `default.yml` and `mongo_initdb.js`.
 
-*2.* Configure Docker
+*3.* Configure Docker
 ----------------------------------------------------------------
 Edit `docker-compose.yml`.
 
-*3.* Build Misskey
+*4.* Build Misskey
 ----------------------------------------------------------------
 Build misskey with the following:
 
 `docker-compose build`
 
-*4.* That is it.
+*5.* That is it.
 ----------------------------------------------------------------
 Well done! Now, you have an environment that run to Misskey.
 
diff --git a/docs/docker.ja.md b/docs/docker.ja.md
index e38f3e91a6..0baf285728 100644
--- a/docs/docker.ja.md
+++ b/docs/docker.ja.md
@@ -7,23 +7,29 @@ Dockerを使ったMisskey構築方法
 
 ----------------------------------------------------------------
 
-*1.* 設定ファイルを作成する
+*1.* Misskeyのダウンロード
+----------------------------------------------------------------
+1. `git clone -b master git://github.com/syuilo/misskey.git` masterブランチからMisskeyレポジトリをクローン
+2. `cd misskey` misskeyディレクトリに移動
+3. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
+
+*2.* 設定ファイルを作成する
 ----------------------------------------------------------------
 1. `cp .config/example.yml .config/default.yml` `.config/example.yml`をコピーし名前を`default.yml`にする
 2. `cp .config/mongo_initdb_example.js .config/mongo_initdb.js` `.config/mongo_initdb_example.js`をコピーし名前を`mongo_initdb.js`にする
 3. `default.yml`と`mongo_initdb.js`を編集する
 
-*2.* Dockerの設定
+*3.* Dockerの設定
 ----------------------------------------------------------------
 `docker-compose.yml`を編集してください。
 
-*3.* Misskeyのビルド
+*4.* Misskeyのビルド
 ----------------------------------------------------------------
 次のコマンドでMisskeyをビルドしてください:
 
 `docker-compose build`
 
-*4.* 以上です!
+*5.* 以上です!
 ----------------------------------------------------------------
 お疲れ様でした。これでMisskeyを動かす準備は整いました。
 
@@ -45,4 +51,4 @@ Dockerを使ったMisskey構築方法
 
 ----------------------------------------------------------------
 
-なにかお困りのことがありましたらお気軽にご連絡ください。
\ No newline at end of file
+なにかお困りのことがありましたらお気軽にご連絡ください。
-- 
GitLab