 ffab3a43fc
			
		
	
	ffab3a43fc
	
	
	
		
			
			* feat(docker): Add initial Docker configuration for project - Add .dockerignore file to ignore unnecessary files - Create Dockerfile with basic build and deployment configuration * feat(docker): Updated Docker configuration for improved security and build efficiency - Removed sensitive files from .dockerignore - Moved WORKDIR to /app in Dockerfile - Added gunicorn==23.0.0 dependency in RUN command - Created new docker-compose.yml file for service definition * feat(deployment): Implement containerized deployment configuration - Add additional environment variables for Python optimization - Update Dockerfile with new dependencies: eventlet, gevent, tornado - Create docker-compose.yml and configure services for web and nginx - Implement example configurations for web host settings and gunicorn - Establish nginx configuration for reverse proxy - Remove outdated docker-compose.yml from root directory * feat(deploy): Introduce Docker Compose configuration for multi-world deployment - Separate web service into two containers, one for main process and one for gunicorn - Update container configurations for improved security and maintainability - Remove unused volumes and network configurations * docs: Add new documentation for deploying Archipelago using containers - Document standalone image build and run process - Include example Docker Compose file for container orchestration - Provide information on services defined in the `docker-compose.yaml` file - Mention optional Enemizer feature and Git requirements * fixup! feat(docker): Updated Docker configuration for improved security and build efficiency - Removed sensitive files from .dockerignore - Moved WORKDIR to /app in Dockerfile - Added gunicorn==23.0.0 dependency in RUN command - Created new docker-compose.yml file for service definition * feat(deploy): Updated gunicorn configuration example - Adjusted worker and thread counts - Switched worker class from sync to gthread - Changed log level to info - Added example code snippet for customizing worker count * fix(deploy): Adjust concurrency settings for self-launch configuration - Reduce the number of world generators from 8 to 3 - Decrease the number of hosters from 5 to 4 * docs(deploy using containers): Improve readability, fix broken links - Update links to other documentation pages - Improve formatting for better readability - Remove unnecessary sections and files - Add note about building the image requiring a local copy of ArchipelagoMW source code * Update deploy/example_config.yaml Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Update deploy/example_selflaunch.yaml Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Update Dockerfile Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Update deploy/example_selflaunch.yaml Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * fixup! Update Dockerfile * fix(Dockerfile): Update package installations to use latest versions - Remove specific version pins for git and libc6-dev - Ensure compatibility with newer package updates * feat(ci): Add GitHub Actions workflow for building and publishing Docker images - Create a new workflow for Docker image build and publish - Configure triggers for push and pull_request on main branch - Set up QEMU and Docker Buildx for multi-platform builds - Implement Docker login for GitHub Container Registry - Include Docker image metadata extraction and tagging * feat(healthcheck): Update Dockerfile and docker-compose for health checks - Add health check for the Webhost service in Dockerfile - Modify docker-compose to include a placeholder health check for multiworld service - Standardize comments and remove unnecessary lines * Revert "feat(ci): Add GitHub Actions workflow for building and publishing Docker images" This reverts commit 32a51b272627d99ca9796cbfda2e821bfdd95c70. * feat(docker): Enhance Dockerfile with Cython build stage - Add Cython builder stage for compiling speedups - Update package installation and organization for efficiency - Improve caching by copying requirements before installing - Add documentation for rootless Podman * fixup! feat(docker): Enhance Dockerfile with Cython build stage - Add Cython builder stage for compiling speedups - Update package installation and organization for efficiency - Improve caching by copying requirements before installing - Add documentation for rootless Podman --------- Co-authored-by: Adrian Priestley <apriestley@gmail.com> Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> Co-authored-by: Adrian Priestley <apriestley@bob.localdomain>
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| worker_processes 1;
 | |
| 
 | |
| user nobody nogroup;
 | |
| # 'user nobody nobody;' for systems with 'nobody' as a group instead
 | |
| error_log  /var/log/nginx/error.log warn;
 | |
| pid /var/run/nginx.pid;
 | |
| 
 | |
| events {
 | |
|   worker_connections 1024; # increase if you have lots of clients
 | |
|   accept_mutex off; # set to 'on' if nginx worker_processes > 1
 | |
|   # 'use epoll;' to enable for Linux 2.6+
 | |
|   # 'use kqueue;' to enable for FreeBSD, OSX
 | |
|   use epoll;
 | |
| }
 | |
| 
 | |
| http {
 | |
|   include mime.types;
 | |
|   # fallback in case we can't determine a type
 | |
|   default_type application/octet-stream;
 | |
|   access_log /var/log/nginx/access.log combined;
 | |
|   sendfile on;
 | |
| 
 | |
|   upstream app_server {
 | |
|     # fail_timeout=0 means we always retry an upstream even if it failed
 | |
|     # to return a good HTTP response
 | |
| 
 | |
|     # for UNIX domain socket setups
 | |
|     # server unix:/tmp/gunicorn.sock fail_timeout=0;
 | |
| 
 | |
|     # for a TCP configuration
 | |
|     server web:8000 fail_timeout=0;
 | |
|   }
 | |
| 
 | |
|   server {
 | |
|     # use 'listen 80 deferred;' for Linux
 | |
|     # use 'listen 80 accept_filter=httpready;' for FreeBSD
 | |
|     listen 80 deferred;
 | |
|     client_max_body_size 4G;
 | |
| 
 | |
|     # set the correct host(s) for your site
 | |
|     # server_name example.com www.example.com;
 | |
| 
 | |
|     keepalive_timeout 5;
 | |
| 
 | |
|     # path for static files
 | |
|     root /app/WebHostLib;
 | |
| 
 | |
|     location / {
 | |
|       # checks for static file, if not found proxy to app
 | |
|       try_files $uri @proxy_to_app;
 | |
|     }
 | |
| 
 | |
|     location @proxy_to_app {
 | |
|       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 | |
|       proxy_set_header X-Forwarded-Proto $scheme;
 | |
|       proxy_set_header Host $http_host;
 | |
|       # we don't want nginx trying to do something clever with
 | |
|       # redirects, we set the Host: header above already.
 | |
|       proxy_redirect off;
 | |
| 
 | |
|       proxy_pass http://app_server;
 | |
|     }
 | |
|   }
 | |
| }
 |