6 image: postgres:9.6-alpine
11 test: ["CMD", "pg_isready", "-U", "postgres"]
13 - ./postgres:/var/lib/postgresql/data
17 image: redis:6.0-alpine
21 test: ["CMD", "redis-cli", "ping"]
27 # image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.8.10
29 # - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
30 # - "cluster.name=es-mastodon"
31 # - "discovery.type=single-node"
32 # - "bootstrap.memory_lock=true"
36 # test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"]
38 # - ./elasticsearch:/usr/share/elasticsearch/data
46 image: tootsuite/mastodon
48 env_file: .env.production
49 command: bash -c "rm -f /mastodon/tmp/pids/server.pid; bundle exec rails s -p 3000"
54 test: ["CMD-SHELL", "wget -q --spider --proxy=off localhost:3000/health || exit 1"]
56 - "127.0.0.1:3000:3000"
62 - ./public/system:/mastodon/public/system
66 image: tootsuite/mastodon
68 env_file: .env.production
69 command: node ./streaming
74 test: ["CMD-SHELL", "wget -q --spider --proxy=off localhost:4000/api/v1/streaming/health || exit 1"]
76 - "127.0.0.1:4000:4000"
83 image: tootsuite/mastodon
85 env_file: .env.production
86 command: bundle exec sidekiq
94 - ./public/system:/mastodon/public/system
95 ## Uncomment to enable federation with tor instances along with adding the following ENV variables
96 ## http_proxy=http://privoxy:8118
97 ## ALLOW_ACCESS_TO_HIDDEN_SERVICE=true
105 # image: sirboops/privoxy
107 # - ./priv-config:/opt/config