From d0461f0a817bb200d7b71f2235e0260aa8ccf6b7 Mon Sep 17 00:00:00 2001 From: Peng DU Date: Tue, 14 Jun 2016 14:33:57 +0200 Subject: [PATCH] add docker-compose config file --- docker/README.md | 66 +++++++++++++++++++++++++++++++++++++++ docker/docker-compose.yml | 41 ++++++++++++++++++++++++ docker/env.example | 4 +-- 3 files changed, 109 insertions(+), 2 deletions(-) create mode 100644 docker/docker-compose.yml diff --git a/docker/README.md b/docker/README.md index 7cd9b0f00..f95543420 100644 --- a/docker/README.md +++ b/docker/README.md @@ -215,3 +215,69 @@ docker run --restart=always -d --name=fabmanager \ `docker exec -it fabmanager-app bash` + + + +### Docker Compose + +#### download docker compose https://github.com/docker/compose/releases + +```bash +curl -L https://github.com/docker/compose/releases/download/1.7.1/docker-compose-`uname -s`-`uname -m` > ./docker-compose +sudo mkdir -p /opt/bin +sudo mv docker-compose /opt/bin/ +sudo chmod +x /opt/bin/docker-compose +``` + +#### Setup folders and env file + +```bash +mkdir -p /home/core/fabmanager/config +``` + +Copy the previously customized `env` file as `/home/core/fabmanager/config/env`. + +```bash +mkdir -p /home/core/fabmanager/config/nginx +``` + +Copy the previously customized `nginx.conf` as `/home/core/fabmanager/config/nginx/fabmanager.conf`. + +#### copy docker-compose.yml to /home/core/ + +#### pull images + +`docker-compose pull` + +#### create/migrate/seed db + +`docker-compose run --rm fabmanager bundle exec rake db:setup` + +#### build assets + +`docker-compose run --rm fabmanager bundle exec rake assets:precompile` + +#### PREPARE ELASTIC +`docker-compose run --rm fabmanager bundle exec rake fablab:es_build_stats` + +#### run create and run all services + +`docker-compose up -d` + +#### restart all services + +`docker-compose restart` + +#### show services status + +`docker-compose ps` + +#### update service fabmanager, rebuild assets and restart fabmanager + +```bash +docker-compose pull fabmanager +docker-compose stop fabmanager +sudo rm -rf fabmanager/public/assets +docker-compose run --rm fabmanager bundle exec rake assets:precompile +docker-compose start fabmanager +``` diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 000000000..14c86b5ed --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,41 @@ +version: '2' +services: + fabmanager: + image: sleede/fab-manager + environment: + RAILS_ENV: production + RACK_ENV: production + ports: + - "80:80" + - "443:443" + env_file: + - /home/core/fabmanager/config/env + volumes: + - /home/core/fabmanager/config/nginx:/etc/nginx/conf.d + - /home/core/fabmanager/public/assets:/usr/src/app/public/assets + - /home/core/fabmanager/public/uploads:/usr/src/app/public/uploads + - /home/core/fabmanager/invoices:/usr/src/app/invoices + - /home/core/fabmanager/log:/var/log/supervisor + depends_on: + - fabmanager-postgres + - fabmanager-redis + - fabmanager-elastic + restart: always + + fabmanager-postgres: + image: postgres:9.4 + volumes: + - /home/core/fabmanager/postgresql:/var/lib/postgresql/data + restart: always + + fabmanager-elastic: + image: elasticsearch:1.7 + volumes: + - /home/core/fabmanager/elasticsearch:/usr/share/elasticsearch/data + restart: always + + fabmanager-redis: + image: redis:3.0 + volumes: + - /home/core/fabmanager/redis:/data + restart: always diff --git a/docker/env.example b/docker/env.example index 99242cf41..c4af63ab9 100644 --- a/docker/env.example +++ b/docker/env.example @@ -45,5 +45,5 @@ WEEK_STARTING_DAY=monday D3_DATE_FORMAT=%d/%m/%y UIB_DATE_FORMAT=dd/MM/yyyy -OPENLAB_APP_SECRET: 'fSF9jZEWxjHyqjAzzg34jd92' -OPENLAB_APP_ID: 'xLn9CmryyURNNHZiDRYVRXbv' +OPENLAB_APP_SECRET=fSF9jZEWxjHyqjAzzg34jd92 +OPENLAB_APP_ID=xLn9CmryyURNNHZiDRYVRXbv