102 lines
3.1 KiB
YAML
102 lines
3.1 KiB
YAML
# Name of your application. Used to uniquely configure containers.
|
|
service: dip_front
|
|
|
|
# Name of the container image (use your-user/app-name on external registries).
|
|
image: dip_front
|
|
|
|
# Deploy to these servers.
|
|
servers:
|
|
web:
|
|
- 153.127.48.108
|
|
# job:
|
|
# hosts:
|
|
# - 153.127.48.108
|
|
# cmd: bin/jobs
|
|
|
|
# Enable SSL auto certification via Let's Encrypt and allow for multiple apps on a single web server.
|
|
# Kamal Proxy will automatically obtain and renew SSL certificates.
|
|
proxy:
|
|
ssl: true
|
|
host: diplo.kontei.net
|
|
|
|
# Where you keep your container images.
|
|
# Using a local registry on the VPS server.
|
|
registry:
|
|
server: localhost:5555
|
|
username: kamal
|
|
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
|
|
|
|
# Diplomacy API URL (dip_api container accessible via Docker host network)
|
|
DIPLOMACY_API_URL: http://172.17.0.1:8000
|
|
|
|
# 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 --include-password"
|
|
|
|
# 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:
|
|
- "dip_front_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.
|
|
# Build on the remote VPS server to avoid insecure registry issues.
|
|
builder:
|
|
arch: amd64
|
|
remote: ssh://kontei@153.127.48.108
|
|
|
|
# Use a non-root ssh user
|
|
ssh:
|
|
user: kontei
|
|
|
|
# Use accessory services (secrets come from .kamal/secrets).
|
|
# accessories:
|
|
# db:
|
|
# image: mysql:8.0
|
|
# host: 153.127.48.108
|
|
# # 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: valkey/valkey:8
|
|
# host: 153.127.48.108
|
|
# port: 6379
|
|
# directories:
|
|
# - data:/data
|