]> cat aescling's git repositories - mastodon.git/blobdiff - docker-compose.yml
add admin setting for default search engine indexing (fix #11750) (#11804)
[mastodon.git] / docker-compose.yml
index 81c6fe981cb9359d89efc98abfb96ca9ca56a967..20649e4245c06749c836d7cdef36baaecfa424d2 100644 (file)
-version: '2'
+version: '3'
 services:
 
   db:
     restart: always
-    image: postgres:alpine
-### Uncomment to enable DB persistance
-#    volumes:
-#      - ./postgres:/var/lib/postgresql/data
+    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
-### Uncomment to enable REDIS persistance
+    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:
-#      - ./redis:/data
+#      - ./elasticsearch:/usr/share/elasticsearch/data
 
   web:
-    restart: always
     build: .
-    image: gargron/mastodon
+    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: gargron/mastodon
+    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: gargron/mastodon
+    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.03149 seconds and 3 git commands to generate.