62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
		
		
			
		
	
	
			62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
|   | services:
 | ||
|  |   multiworld:
 | ||
|  |     # Build only once. Web service uses the same image build
 | ||
|  |     build:
 | ||
|  |       context: ..
 | ||
|  |     # Name image for use in web service
 | ||
|  |     image: archipelago-base
 | ||
|  |     # Use locally-built image
 | ||
|  |     pull_policy: never
 | ||
|  |     # Launch main process without website hosting (config override)
 | ||
|  |     entrypoint: python WebHost.py --config_override selflaunch.yaml
 | ||
|  |     volumes:
 | ||
|  |       # Mount application volume
 | ||
|  |       - app_volume:/app
 | ||
|  | 
 | ||
|  |       # Mount configs
 | ||
|  |       - ./example_config.yaml:/app/config.yaml
 | ||
|  |       - ./example_selflaunch.yaml:/app/selflaunch.yaml
 | ||
|  | 
 | ||
|  |     # Expose on host network for access to dynamically mapped ports
 | ||
|  |     network_mode: host
 | ||
|  | 
 | ||
|  |     # No Healthcheck in place yet for multiworld
 | ||
|  |     healthcheck:
 | ||
|  |       test: ["NONE"]
 | ||
|  |   web:
 | ||
|  |     # Use image build by multiworld service
 | ||
|  |     image: archipelago-base
 | ||
|  |     # Use locally-built image
 | ||
|  |     pull_policy: never
 | ||
|  |     # Launch gunicorn targeting WebHost application
 | ||
|  |     entrypoint: gunicorn -c gunicorn.conf.py
 | ||
|  |     volumes:
 | ||
|  |       # Mount application volume
 | ||
|  |       - app_volume:/app
 | ||
|  | 
 | ||
|  |       # Mount configs
 | ||
|  |       - ./example_config.yaml:/app/config.yaml
 | ||
|  |       - ./example_gunicorn.conf.py:/app/gunicorn.conf.py
 | ||
|  |     environment:
 | ||
|  |       # Bind gunicorn on 8000
 | ||
|  |       - PORT=8000
 | ||
|  | 
 | ||
|  |   nginx:
 | ||
|  |     image: nginx:stable-alpine
 | ||
|  |     volumes:
 | ||
|  |       # Mount application volume
 | ||
|  |       - app_volume:/app
 | ||
|  | 
 | ||
|  |       # Mount config
 | ||
|  |       - ./example_nginx.conf:/etc/nginx/nginx.conf
 | ||
|  |     ports:
 | ||
|  |       # Nginx listening internally on port 80 -- mapped to 8080 on host
 | ||
|  |       - 8080:80
 | ||
|  |     depends_on:
 | ||
|  |       - web
 | ||
|  | 
 | ||
|  | volumes:
 | ||
|  |   # Share application directory amongst multiworld and web services
 | ||
|  |   # (for access to log files and the like), and nginx (for static files)
 | ||
|  |   app_volume:
 |