Skip to content

Instantly share code, notes, and snippets.

@FrozenDroid
Created June 11, 2018 11:13
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save FrozenDroid/7d192b575b01a65f64461f27674e0b3e to your computer and use it in GitHub Desktop.
Save FrozenDroid/7d192b575b01a65f64461f27674e0b3e to your computer and use it in GitHub Desktop.
version: '3'
services:
db:
restart: always
image: postgres:9.6-alpine
networks:
- internal_network
### Uncomment to enable DB persistance
volumes:
- ./postgres:/var/lib/postgresql/data
labels:
- "traefik.enable=false"
redis:
restart: always
image: redis:4.0-alpine
networks:
- internal_network
### Uncomment to enable REDIS persistance
volumes:
- ./redis:/data
labels:
- "traefik.enable=false"
# es:
# restart: always
# image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.1.3
# environment:
# - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
# networks:
# - internal_network
#### Uncomment to enable ES persistance
## volumes:
## - ./elasticsearch:/usr/share/elasticsearch/data
web:
build: .
image: tootsuite/mastodon
restart: always
env_file: .env.production
command: bundle exec rails s -p 3000 -b '0.0.0.0'
networks:
- external_network
- internal_network
- web
depends_on:
- db
- redis
# - es
volumes:
- ./public/assets:/mastodon/public/assets
- ./public/packs:/mastodon/public/packs
- ./public/system:/mastodon/public/system
labels:
- "traefik.docker.network=traefik"
- "traefik.backend=mastodon"
- "traefik.frontend.rule=Host:toot.website"
- "traefik.port=3000"
- "traefik.frontend.passHostHeader=true"
- "traefik.protocol=http"
streaming:
build: .
image: tootsuite/mastodon
restart: always
env_file: .env.production
command: yarn start
networks:
- external_network
- internal_network
ports:
- "4000:4000"
depends_on:
- db
- redis
labels:
- "traefik.enable=false"
sidekiq:
build: .
image: tootsuite/mastodon
restart: always
env_file: .env.production
command: bundle exec sidekiq -q default -q mailers -q pull -q push
depends_on:
- db
- redis
networks:
- external_network
- internal_network
volumes:
- ./public/packs:/mastodon/public/packs
- ./public/system:/mastodon/public/system
labels:
- "traefik.enable=false"
networks:
web:
external:
name: traefik
external_network:
internal_network:
internal: true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment