From b4d3acc18a891490b1121308d6493d066206168a Mon Sep 17 00:00:00 2001 From: robcolbert Date: Fri, 5 Jul 2019 15:51:43 -0400 Subject: [PATCH] docker-compose updates --- docker-compose.production.yml | 125 ++++++++++++++++++++++++++++++++++ docker-compose.yml | 24 +++---- 2 files changed, 137 insertions(+), 12 deletions(-) create mode 100644 docker-compose.production.yml diff --git a/docker-compose.production.yml b/docker-compose.production.yml new file mode 100644 index 00000000..129363f5 --- /dev/null +++ b/docker-compose.production.yml @@ -0,0 +1,125 @@ +# docker-compose.production.yml +# docker-compose build -f docker-compose.production.yml + +version: '3' +services: + + redis: + restart: always + image: redis:5.0-alpine + networks: + - internal_network + healthcheck: + test: ["CMD", "redis-cli", "ping"] + volumes: + - ./redis:/data + + web: + build: . + image: gab/social + restart: always + env_file: .env.production + command: bash -c "rm -f /gabsocial/tmp/pids/server.pid; bundle exec rails s -p 3000 -b '0.0.0.0'" + user: gabsocial + networks: + - external_network + - internal_network + healthcheck: + test: ["CMD-SHELL", "wget -q --spider --header 'x-forwarded-proto: https' --proxy=off localhost:3000/api/v1/instance || exit 1"] + ports: + - "127.0.0.1:3000:3000" + depends_on: + - redis + # - es + volumes: + - /mnt/md0/assets:/gabsocial/public/system:Z + + streaming: + build: . + image: gab/social + restart: always + env_file: .env.production + command: yarn start + user: gabsocial + networks: + - external_network + - internal_network + healthcheck: + test: ["CMD-SHELL", "wget -q --spider --header 'x-forwarded-proto: https' --proxy=off localhost:4000/api/v1/streaming/health || exit 1"] + ports: + - "127.0.0.1:4000:4000" + depends_on: + - redis + + sidekiq-default: + build: . + image: gab/social + restart: always + env_file: .env.production + environment: + - DB_POOL=15 + command: bundle exec sidekiq -q default -c 3 + user: gabsocial + depends_on: + - redis + networks: + - external_network + - internal_network + volumes: + - /mnt/md0/assets:/gabsocial/public/system:Z + + sidekiq-mailers: + build: . + image: gab/social + restart: always + env_file: .env.production + environment: + - DB_POOL=5 + command: bundle exec sidekiq -q mailers -c 3 + user: gabsocial + depends_on: + - redis + networks: + - external_network + - internal_network + volumes: + - /mnt/md0/assets:/gabsocial/public/system:Z + + sidekiq-push: + build: . + image: gab/social + restart: always + env_file: .env.production + environment: + - DB_POOL=10 + command: bundle exec sidekiq -q push -c 3 + user: gabsocial + depends_on: + - redis + networks: + - external_network + - internal_network + volumes: + - /mnt/md0/assets:/gabsocial/public/system:Z + + sidekiq-pull: + build: . + image: gab/social + restart: always + env_file: .env.production + environment: + - DB_POOL=10 + command: bundle exec sidekiq -q pull -c 3 + user: gabsocial + depends_on: + - redis + networks: + - external_network + - internal_network + volumes: + - /mnt/md0/assets:/gabsocial/public/system:Z + +networks: + external_network: + internal_network: + internal: true diff --git a/docker-compose.yml b/docker-compose.yml index 9854424c..0b0fb84a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,15 +1,15 @@ version: '3' services: - # db: - # restart: always - # image: postgres:9.6-alpine - # networks: - # - internal_network - # healthcheck: - # test: ["CMD", "pg_isready", "-U", "postgres"] - # volumes: - # - ./postgres:/var/lib/postgresql/data + db: + restart: always + image: postgres:9.6-alpine + networks: + - internal_network + healthcheck: + test: ["CMD", "pg_isready", "-U", "postgres"] + volumes: + - ./postgres:/var/lib/postgresql/data redis: restart: always @@ -47,7 +47,7 @@ services: ports: - "127.0.0.1:3000:3000" depends_on: - # - db + - db - redis # - es volumes: @@ -67,7 +67,7 @@ services: ports: - "127.0.0.1:4000:4000" depends_on: - # - db + - db - redis sidekiq: @@ -77,7 +77,7 @@ services: env_file: .env.production command: bundle exec sidekiq depends_on: - # - db + - db - redis networks: - external_network