* Update docker-compose.yml * Update docker-compose.yml * Update docker-compose.yml * Update docker-compose.yml * Update docker-compose.yml
		
			
				
	
	
		
			115 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| version: '3'
 | |
| services:
 | |
| 
 | |
|   db:
 | |
|     restart: always
 | |
|     image: postgres:9.6-alpine
 | |
|     shm_size: 256mb
 | |
|     networks:
 | |
|       - internal_network
 | |
|     healthcheck:
 | |
|       test: ["CMD", "pg_isready", "-U", "postgres"]
 | |
|     volumes:
 | |
|       - ./postgres:/var/lib/postgresql/data
 | |
| 
 | |
|   redis:
 | |
|     restart: always
 | |
|     image: redis:6.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.8.10
 | |
| #    environment:
 | |
| #      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
 | |
| #      - "cluster.name=es-mastodon"
 | |
| #      - "discovery.type=single-node"
 | |
| #      - "bootstrap.memory_lock=true"
 | |
| #    networks:
 | |
| #      - internal_network
 | |
| #    healthcheck:
 | |
| #      test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"]
 | |
| #    volumes:
 | |
| #      - ./elasticsearch:/usr/share/elasticsearch/data
 | |
| #    ulimits:
 | |
| #      memlock:
 | |
| #        soft: -1
 | |
| #        hard: -1
 | |
| 
 | |
|   web:
 | |
|     build: .
 | |
|     image: tootsuite/mastodon
 | |
|     restart: always
 | |
|     env_file: .env.production
 | |
|     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:
 | |
|       - "127.0.0.1:3000:3000"
 | |
|     depends_on:
 | |
|       - db
 | |
|       - redis
 | |
| #      - es
 | |
|     volumes:
 | |
|       - ./public/system:/mastodon/public/system
 | |
| 
 | |
|   streaming:
 | |
|     build: .
 | |
|     image: tootsuite/mastodon
 | |
|     restart: always
 | |
|     env_file: .env.production
 | |
|     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:
 | |
|       - "127.0.0.1:4000:4000"
 | |
|     depends_on:
 | |
|       - db
 | |
|       - redis
 | |
| 
 | |
|   sidekiq:
 | |
|     build: .
 | |
|     image: tootsuite/mastodon
 | |
|     restart: always
 | |
|     env_file: .env.production
 | |
|     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
 |