73 lines
1.8 KiB
YAML
73 lines
1.8 KiB
YAML
|
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
|
||
|
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
|