117 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # Name of your application. Used to uniquely configure containers.
 | |
| service: parse
 | |
| 
 | |
| # Name of the container image.
 | |
| image: your-user/parse
 | |
| 
 | |
| # Deploy to these servers.
 | |
| servers:
 | |
|   web:
 | |
|     - 192.168.0.1
 | |
|   # job:
 | |
|   #   hosts:
 | |
|   #     - 192.168.0.1
 | |
|   #   cmd: bin/jobs
 | |
| 
 | |
| # Enable SSL auto certification via Let's Encrypt and allow for multiple apps on a single web server.
 | |
| # Remove this section when using multiple web servers and ensure you terminate SSL at your load balancer.
 | |
| #
 | |
| # Note: If using Cloudflare, set encryption mode in SSL/TLS setting to "Full" to enable CF-to-app encryption.
 | |
| proxy:
 | |
|   ssl: true
 | |
|   host: app.example.com
 | |
| 
 | |
| # Credentials for your image host.
 | |
| registry:
 | |
|   # Specify the registry server, if you're not using Docker Hub
 | |
|   # server: registry.digitalocean.com / ghcr.io / ...
 | |
|   username: your-user
 | |
| 
 | |
|   # Always use an access token rather than real password when possible.
 | |
|   password:
 | |
|     - KAMAL_REGISTRY_PASSWORD
 | |
| 
 | |
| # Inject ENV variables into containers (secrets come from .kamal/secrets).
 | |
| env:
 | |
|   secret:
 | |
|     - RAILS_MASTER_KEY
 | |
|   clear:
 | |
|     # Run the Solid Queue Supervisor inside the web server's Puma process to do jobs.
 | |
|     # When you start using multiple servers, you should split out job processing to a dedicated machine.
 | |
|     SOLID_QUEUE_IN_PUMA: true
 | |
| 
 | |
|     # Set number of processes dedicated to Solid Queue (default: 1)
 | |
|     # JOB_CONCURRENCY: 3
 | |
| 
 | |
|     # Set number of cores available to the application on each server (default: 1).
 | |
|     # WEB_CONCURRENCY: 2
 | |
| 
 | |
|     # Match this to any external database server to configure Active Record correctly
 | |
|     # Use parse-db for a db accessory server on same machine via local kamal docker network.
 | |
|     # DB_HOST: 192.168.0.2
 | |
| 
 | |
|     # Log everything from Rails
 | |
|     # RAILS_LOG_LEVEL: debug
 | |
| 
 | |
| # Aliases are triggered with "bin/kamal <alias>". You can overwrite arguments on invocation:
 | |
| # "bin/kamal logs -r job" will tail logs from the first server in the job section.
 | |
| aliases:
 | |
|   console: app exec --interactive --reuse "bin/rails console"
 | |
|   shell: app exec --interactive --reuse "bash"
 | |
|   logs: app logs -f
 | |
|   dbc: app exec --interactive --reuse "bin/rails dbconsole"
 | |
| 
 | |
| 
 | |
| # Use a persistent storage volume for sqlite database files and local Active Storage files.
 | |
| # Recommended to change this to a mounted volume path that is backed up off server.
 | |
| volumes:
 | |
|   - "parse_storage:/rails/storage"
 | |
| 
 | |
| 
 | |
| # Bridge fingerprinted assets, like JS and CSS, between versions to avoid
 | |
| # hitting 404 on in-flight requests. Combines all files from new and old
 | |
| # version inside the asset_path.
 | |
| asset_path: /rails/public/assets
 | |
| 
 | |
| # Configure the image builder.
 | |
| builder:
 | |
|   arch: amd64
 | |
| 
 | |
|   # # Build image via remote server (useful for faster amd64 builds on arm64 computers)
 | |
|   # remote: ssh://docker@docker-builder-server
 | |
|   #
 | |
|   # # Pass arguments and secrets to the Docker build process
 | |
|   # args:
 | |
|   #   RUBY_VERSION: ruby-3.4.4
 | |
|   # secrets:
 | |
|   #   - GITHUB_TOKEN
 | |
|   #   - RAILS_MASTER_KEY
 | |
| 
 | |
| # Use a different ssh user than root
 | |
| # ssh:
 | |
| #   user: app
 | |
| 
 | |
| # Use accessory services (secrets come from .kamal/secrets).
 | |
| # accessories:
 | |
| #   db:
 | |
| #     image: mysql:8.0
 | |
| #     host: 192.168.0.2
 | |
| #     # Change to 3306 to expose port to the world instead of just local network.
 | |
| #     port: "127.0.0.1:3306:3306"
 | |
| #     env:
 | |
| #       clear:
 | |
| #         MYSQL_ROOT_HOST: '%'
 | |
| #       secret:
 | |
| #         - MYSQL_ROOT_PASSWORD
 | |
| #     files:
 | |
| #       - config/mysql/production.cnf:/etc/mysql/my.cnf
 | |
| #       - db/production.sql:/docker-entrypoint-initdb.d/setup.sql
 | |
| #     directories:
 | |
| #       - data:/var/lib/mysql
 | |
| #   redis:
 | |
| #     image: redis:7.0
 | |
| #     host: 192.168.0.2
 | |
| #     port: 6379
 | |
| #     directories:
 | |
| #       - data:/data
 | 
