service: ttcompanion image: tsvallender/ttcompanion traefik: options: publish: - "443:443" volume: - "/letsencrypt/acme.json:/letsencrypt/acme.json" # To save the configuration file. network: kamal args: entryPoints.web.address: ":80" entryPoints.websecure.address: ":443" entryPoints.web.http.redirections.entryPoint.to: websecure # We want to force https entryPoints.web.http.redirections.entryPoint.scheme: https entryPoints.web.http.redirections.entrypoint.permanent: true certificatesResolvers.letsencrypt.acme.email: "trevor@ttcompanion.com" certificatesResolvers.letsencrypt.acme.storage: "/letsencrypt/acme.json" certificatesResolvers.letsencrypt.acme.httpchallenge: true certificatesResolvers.letsencrypt.acme.httpchallenge.entrypoint: web # servers: web: hosts: - ttcompanion.com labels: traefik.http.routers.ttcompanion.entrypoints: websecure traefik.http.routers.ttcompanion.rule: Host(`ttcompanion.com`) traefik.http.routers.ttcompanion.tls.certresolver: letsencrypt options: network: kamal volumes: - /srv/ttcompanion/storage:/rails/storage registry: username: tsvallender password: - KAMAL_REGISTRY_PASSWORD env: clear: APPLICATION_HOST: ttcompanion.com DB_HOST: ttcompanion-postgres ENABLE_SIGNUP: false RAILS_LOG_TO_STDOUT: true RAILS_SERVE_STATIC_FILES: true secret: - RAILS_MASTER_KEY - POSTGRES_PASSWORD builder: multiarch: false accessories: postgres: image: postgres:16 host: ttcompanion.com env: clear: POSTGRES_USER: postgres secret: - POSTGRES_PASSWORD directories: - /srv/ttcompanion/data:/var/lib/postgresql/data options: network: kamal healthcheck: log_lines: 1000 asset_path: /rails/public/assets