Isolate internal services from external networks in Docker configuration (#6369)
The database and Redis do not need external connections, so isolate them and prevent unauthorized access.
This commit is contained in:
		
							parent
							
								
									d75d2a9f99
								
							
						
					
					
						commit
						9da81a1639
					
				
					 1 changed files with 18 additions and 0 deletions
				
			
		|  | @ -4,6 +4,8 @@ services: | ||||||
|   db: |   db: | ||||||
|     restart: always |     restart: always | ||||||
|     image: postgres:9.6-alpine |     image: postgres:9.6-alpine | ||||||
|  |     networks: | ||||||
|  |       - internal_network | ||||||
| ### Uncomment to enable DB persistance | ### Uncomment to enable DB persistance | ||||||
| #    volumes: | #    volumes: | ||||||
| #      - ./postgres:/var/lib/postgresql/data | #      - ./postgres:/var/lib/postgresql/data | ||||||
|  | @ -11,6 +13,8 @@ services: | ||||||
|   redis: |   redis: | ||||||
|     restart: always |     restart: always | ||||||
|     image: redis:4.0-alpine |     image: redis:4.0-alpine | ||||||
|  |     networks: | ||||||
|  |       - internal_network | ||||||
| ### Uncomment to enable REDIS persistance | ### Uncomment to enable REDIS persistance | ||||||
| #    volumes: | #    volumes: | ||||||
| #      - ./redis:/data | #      - ./redis:/data | ||||||
|  | @ -21,6 +25,9 @@ services: | ||||||
|     restart: always |     restart: always | ||||||
|     env_file: .env.production |     env_file: .env.production | ||||||
|     command: bundle exec rails s -p 3000 -b '0.0.0.0' |     command: bundle exec rails s -p 3000 -b '0.0.0.0' | ||||||
|  |     networks: | ||||||
|  |       - external_network | ||||||
|  |       - internal_network | ||||||
|     ports: |     ports: | ||||||
|       - "3000:3000" |       - "3000:3000" | ||||||
|     depends_on: |     depends_on: | ||||||
|  | @ -37,6 +44,9 @@ services: | ||||||
|     restart: always |     restart: always | ||||||
|     env_file: .env.production |     env_file: .env.production | ||||||
|     command: npm run start |     command: npm run start | ||||||
|  |     networks: | ||||||
|  |       - external_network | ||||||
|  |       - internal_network | ||||||
|     ports: |     ports: | ||||||
|       - "4000:4000" |       - "4000:4000" | ||||||
|     depends_on: |     depends_on: | ||||||
|  | @ -52,6 +62,14 @@ services: | ||||||
|     depends_on: |     depends_on: | ||||||
|       - db |       - db | ||||||
|       - redis |       - redis | ||||||
|  |     networks: | ||||||
|  |       - external_network | ||||||
|  |       - internal_network | ||||||
|     volumes: |     volumes: | ||||||
|       - ./public/packs:/mastodon/public/packs |       - ./public/packs:/mastodon/public/packs | ||||||
|       - ./public/system:/mastodon/public/system |       - ./public/system:/mastodon/public/system | ||||||
|  | 
 | ||||||
|  | networks: | ||||||
|  |   external_network: | ||||||
|  |   internal_network: | ||||||
|  |     internal: true | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue