]> cat aescling's git repositories - mastodon.git/blobdiff - docker-compose.yml
Bump rqrcode from 0.10.1 to 1.1.2 (#12357)
[mastodon.git] / docker-compose.yml
index d6ba66ddeb49927cb55e1fb878e1499db716fdb8..20649e4245c06749c836d7cdef36baaecfa424d2 100644 (file)
-version: '2'
+version: '3'
 services:
+
   db:
     restart: always
-    image: postgres:alpine
+    image: postgres:9.6-alpine
+    networks:
+      - internal_network
+    healthcheck:
+      test: ["CMD", "pg_isready", "-U", "postgres"]
+    volumes:
+      - ./postgres:/var/lib/postgresql/data
+
   redis:
     restart: always
-    image: redis:alpine
+    image: redis:5.0-alpine
+    networks:
+      - internal_network
+    healthcheck:
+      test: ["CMD", "redis-cli", "ping"]
+    volumes:
+      - ./redis:/data
+
+#  es:
+#    restart: always
+#    image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.1.3
+#    environment:
+#      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
+#    networks:
+#      - internal_network
+#    healthcheck:
+#      test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"]
+#    volumes:
+#      - ./elasticsearch:/usr/share/elasticsearch/data
+
   web:
-    restart: always
     build: .
+    image: tootsuite/mastodon
+    restart: always
     env_file: .env.production
-    command: bundle exec rails s -p 3000 -b '0.0.0.0'
+    command: bash -c "rm -f /mastodon/tmp/pids/server.pid; bundle exec rails s -p 3000"
+    networks:
+      - external_network
+      - internal_network
+    healthcheck:
+      test: ["CMD-SHELL", "wget -q --spider --proxy=off localhost:3000/health || exit 1"]
     ports:
-      - "3000:3000"
+      - "127.0.0.1:3000:3000"
     depends_on:
       - db
       - redis
+#      - es
     volumes:
-      - ./public/assets:/mastodon/public/assets
       - ./public/system:/mastodon/public/system
+
   streaming:
-    restart: always
     build: .
+    image: tootsuite/mastodon
+    restart: always
     env_file: .env.production
-    command: npm run start
+    command: node ./streaming
+    networks:
+      - external_network
+      - internal_network
+    healthcheck:
+      test: ["CMD-SHELL", "wget -q --spider --proxy=off localhost:4000/api/v1/streaming/health || exit 1"]
     ports:
-      - "4000:4000"
+      - "127.0.0.1:4000:4000"
     depends_on:
       - db
       - redis
+
   sidekiq:
-    restart: always
     build: .
+    image: tootsuite/mastodon
+    restart: always
     env_file: .env.production
-    command: bundle exec sidekiq -q default -q mailers -q pull -q push
+    command: bundle exec sidekiq
     depends_on:
       - db
       - redis
+    networks:
+      - external_network
+      - internal_network
     volumes:
       - ./public/system:/mastodon/public/system
+## Uncomment to enable federation with tor instances along with adding the following ENV variables
+## http_proxy=http://privoxy:8118
+## ALLOW_ACCESS_TO_HIDDEN_SERVICE=true
+#  tor:
+#    image: sirboops/tor
+#    networks:
+#      - external_network
+#      - internal_network
+#
+#  privoxy:
+#    image: sirboops/privoxy
+#    volumes:
+#      - ./priv-config:/opt/config
+#    networks:
+#      - external_network
+#      - internal_network
+
+networks:
+  external_network:
+  internal_network:
+    internal: true
This page took 0.035942 seconds and 3 git commands to generate.