From c10ae6131625f56f7e082556f4269913ae9dbc1d Mon Sep 17 00:00:00 2001 From: Cassie Tarakajian Date: Thu, 17 May 2018 18:43:06 -0700 Subject: [PATCH] start production docker configuration --- Dockerfile => Dockerfile-development | 0 README.md | 10 +++++----- docker-compose-development.yml | 28 ++++++++++++++++++++++++++++ docker-compose.yml | 6 +++++- nginx/Dockerfile | 3 +++ nginx.conf => nginx/nginx.conf | 0 6 files changed, 41 insertions(+), 6 deletions(-) rename Dockerfile => Dockerfile-development (100%) create mode 100644 docker-compose-development.yml create mode 100644 nginx/Dockerfile rename nginx.conf => nginx/nginx.conf (100%) diff --git a/Dockerfile b/Dockerfile-development similarity index 100% rename from Dockerfile rename to Dockerfile-development diff --git a/README.md b/README.md index 44e8ebdf..ca6f472b 100644 --- a/README.md +++ b/README.md @@ -53,21 +53,21 @@ Note that this takes up a significant amount of space on your machine. Make sure * Mac: https://www.docker.com/docker-mac * Windows: https://www.docker.com/docker-windows 2. Clone this repository and cd into it -3. `$ docker-compose build` -4. `$ docker-compose run --rm server npm run fetch-examples` +3. `$ docker-compose -f docker-compose-development.yml build` +4. `$ docker-compose -f docker-compose-development.yml run --rm server npm run fetch-examples` Now, anytime you wish to start the server with its dependencies, you can run: -5. `$ docker-compose up` +5. `$ docker-compose -f docker-compose-development.yml up` 6. Navigate to [http://localhost:8000](http://localhost:8000) in your browser To open a terminal/shell in the running Docker server (i.e. after `docker-compose up` has been run): -7. `$ docker-compose exec server bash -l` +7. `$ docker-compose -f docker-compose-development.yml exec server bash -l` If you don't have the full server environment running, you can launch a one-off container instance (and have it automatically deleted after you're done using it): -8. `$ docker-compose run server --rm bash -l` +8. `$ docker-compose -f docker-compose-development.yml run server --rm bash -l` ## Production Installation 1. Clone this repository and `cd` into it diff --git a/docker-compose-development.yml b/docker-compose-development.yml new file mode 100644 index 00000000..9b97dd33 --- /dev/null +++ b/docker-compose-development.yml @@ -0,0 +1,28 @@ +version: '2' +services: + mongo: + image: mongo:3.4.7 + server: + build: + context: . + dockerfile: Dockerfile-development + command: npm start + environment: + - API_URL=/api + - MONGO_URL=mongodb://mongo:27017/p5js-web-editor + - PORT=8000 + - SESSION_SECRET=override_in_dotenv + - AWS_ACCESS_KEY=override_in_dotenv + - AWS_SECRET_KEY=override_in_dotenv + - AWS_REGION=override_in_dotenv + - S3_BUCKET=override_in_dotenv + - GITHUB_ID=override_in_dotenv + - GITHUB_SECRET=override_in_dotenv + - MAILGUN_KEY=override_in_dotenv + volumes: + - .:/opt/node/app + - /opt/node/app/node_modules + ports: + - '8000:8000' + depends_on: + - mongo diff --git a/docker-compose.yml b/docker-compose.yml index 7f6c97bf..c324527d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,8 +2,12 @@ version: '2' services: mongo: image: mongo:3.4.7 + nginx: + build: ./nginx server: - build: . + build: + context: . + dockerfile: Dockerfile-development command: npm start environment: - API_URL=/api diff --git a/nginx/Dockerfile b/nginx/Dockerfile new file mode 100644 index 00000000..4c45e83b --- /dev/null +++ b/nginx/Dockerfile @@ -0,0 +1,3 @@ +FROM nginx:1.13.12 + +COPY nginx.conf /etc/nginx/nginx.conf \ No newline at end of file diff --git a/nginx.conf b/nginx/nginx.conf similarity index 100% rename from nginx.conf rename to nginx/nginx.conf