synth.download/phosphorus/srv/docker/mastodon/compose.yaml

99 lines
No EOL
2.2 KiB
YAML

services:
web:
# we use our own synth-soc fork
image: ghcr.io/melontini/mastodon:nightly
restart: always
env_file:
- .env.secrets
- .env
command: bundle exec puma -C config/puma.rb
networks:
- masto
- ip6net
- db
healthcheck:
test: ['CMD-SHELL',"curl -s --noproxy localhost localhost:3000/health | grep -q 'OK' || exit 1"]
ports:
- "127.0.0.1:46098:3000"
depends_on:
redis:
condition: service_healthy
volumes:
- ./public/system:/mastodon/public/system
streaming:
image: ghcr.io/melontini/mastodon-streaming:nightly
restart: always
env_file:
- .env.secrets
- .env
command: node ./streaming/index.js
networks:
- masto
- ip6net
- db
healthcheck:
test: ['CMD-SHELL', "curl -s --noproxy localhost localhost:4000/api/v1/streaming/health | grep -q 'OK' || exit 1"]
ports:
- "127.0.0.1:58834:4000"
depends_on:
redis:
condition: service_healthy
sidekiq:
image: ghcr.io/melontini/mastodon:nightly
restart: always
env_file:
- .env.secrets
- .env
command: bundle exec sidekiq
depends_on:
redis:
condition: service_healthy
networks:
- masto
- ip6net
- db
volumes:
- ./public/system:/mastodon/public/system
healthcheck:
test: ['CMD-SHELL', "ps aux | grep '[s]idekiq\ 7' || false"]
redis:
restart: always
image: redis:alpine
networks:
- masto
volumes:
- ./redis:/data
healthcheck:
test: "redis-cli ping"
interval: 5s
retries: 20
# tor is a wip - consider setting up later
## Uncomment to enable federation with tor instances along with adding the following ENV variables
## http_hidden_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:
db:
name: postgres_db
external: true
ip6net:
name: ip6net
external: true
masto: