service: soc

image: tsvallender/soc

traefik:
  host_port: 8000
  args:
    entryPoints.web.address: ':80'
    entryPoints.web.forwardedHeaders.trustedIPs: 0.0.0.0/0
  options:
    network: kamal

servers:
  web:
    hosts:
      - tsvallender.co.uk
    options:
      network: kamal

volumes:
  - /srv/soc/storage:/rails/storage

registry:
  username: tsvallender
  password:
    - KAMAL_REGISTRY_PASSWORD

env:
  clear:
    APPLICATION_HOST: tsvallender.co.uk
    DB_HOST: soc-postgres
    RAILS_LOG_TO_STDOUT: true
    RAILS_SERVE_STATIC_FILES: true
  secret:
    - RAILS_MASTER_KEY
    - POSTGRES_PASSWORD

ssh:
  user: kamal

builder:
  args:
    APPLICATION_HOST: tsvallender.co.uk
    RUBY_VERSION: 3.3.4
  remote:
    arch: arm64
    host: ssh://kamal@tsvallender.co.uk

accessories:
  postgres:
    image: postgres:16
    host: tsvallender.co.uk
    env:
      clear:
        POSTGRES_USER: soc
      secret:
        - POSTGRES_PASSWORD
    volumes:
      - /srv/soc/data:/var/lib/postgresql/data
    options:
      network: kamal
