# Name of your application. Used to uniquely configure containers.
service: sanasto-wiki

# Name of the container image.
image: soverein/sanasto-wiki

# Deploy to these servers.
servers:
  web:
    - app.rin.no
  # Uncomment when you want to run background jobs in a separate container
  # job:
  #   hosts:
  #     - your-server-ip
  #   cmd: bin/jobs

# Enable SSL auto certification via Let's Encrypt and allow for multiple apps on a single web server.
proxy:
  ssl: true
  hosts:
    - sanasto.rin.no
    - sanasto.wiki
  # Kamal proxy will forward to your app on port 3000

# Credentials for your image host.
registry:
  # Use Docker Hub (default), GitHub Container Registry, or another registry
  # For Docker Hub: username/image-name
  # For GitHub: ghcr.io/username/image-name
  server: git.rin.no
  username: deploybot

  # Always use an access token rather than real password
  password:
    - KAMAL_REGISTRY_PASSWORD

# Configure builder setup.
builder:
  arch: amd64

# Inject ENV variables into containers (secrets come from .kamal/secrets).
env:
  clear:
    RAILS_LOG_TO_STDOUT: true
    RAILS_SERVE_STATIC_FILES: true
    SOLID_QUEUE_IN_PUMA: true
  secret:
    - RAILS_MASTER_KEY

# Use persistent storage volume for SQLite database and uploads
volumes:
  - "sanasto_storage:/rails/storage"

# Bridge fingerprinted assets between versions
asset_path: /rails/public/assets

# Aliases for common tasks
aliases:
  console: app exec --interactive --reuse "bin/rails console"
  shell: app exec --interactive --reuse "bash"
  logs: app logs --follow
  dbconsole: app exec --interactive --reuse "bin/rails dbconsole"
