From 61c32ee1757f8d3c9805090f7bd888e8a4a37b44 Mon Sep 17 00:00:00 2001 From: Saso Matejina Date: Tue, 5 Dec 2017 10:42:52 -0800 Subject: [PATCH] support local development with docker --- Dockerfile | 10 ++++++++++ Makefile | 13 +++++++++++++ docker-compose.yml | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 Dockerfile create mode 100644 Makefile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..fdcc4a2a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM node:latest + +ENV APP_PATH /opt/outline +RUN mkdir -p $APP_PATH + +WORKDIR $APP_PATH +COPY . $APP_PATH +RUN yarn +RUN cp -r /opt/outline/node_modules /opt/node_modules + diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..6a8d4b86 --- /dev/null +++ b/Makefile @@ -0,0 +1,13 @@ +up: + docker-compose up -d redis postgres s3 + docker-compose run --rm outline yarn sequelize db:migrate + docker-compose up outline + +build: + docker-compose build --pull outline + +destroy: + docker-compose stop + docker-compose rm -f + +.PHONY: up build destroy # let's go to reserve rules names diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..9a95b9f2 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,37 @@ +version: "3" +services: + redis: + image: redis + ports: + - "6379:6379" + postgres: + image: postgres + ports: + - "5432:5432" + environment: + POSTGRES_USER: user + POSTGRES_PASSWORD: pass + POSTGRES_DB: outline + s3: + image: lphoward/fake-s3 + ports: + - "4569:4569" + outline: + image: outline:v001 + command: yarn dev + build: + context: . + dockerfile: Dockerfile + args: + pull: 1 + ports: + - "3000:3000" + volumes: + - .:/opt/outline + depends_on: + - postgres + - redis + - s3 + environment: + NODE_PATH: "/opt/outline/node_modules:/opt/node_modules" + PATH: "/opt/outline/node_modules/.bin:/opt/node_modules/.bin:$PATH"