project = "page-recorder" runner { enabled = true data_source "git" { url = "git@git.smaug.dev:ereborstudios/page-recorder.git" ref = "master" } } # Labels can be specified for organizational purposes. # labels = { "foo" = "bar" } # An application to deploy. app "page-recorder" { config { env = { HOST = "0.0.0.0" REDIS_HOST = var.redis_host REDIS_PORT = var.redis_port REDIS_PASSWORD = var.redis_password } } labels = { "service" = var.name } # Build specifies how an application should be deployed. In this case, # we'll build using a Dockerfile and keeping it in a local registry. build { use "docker" { } } # Deploy to Docker deploy { use "docker" { service_port = 8080 static_environment = { "NODE_ENV": "production" "HOST": "0.0.0.0" "REDIS_HOST": var.redis_host "REDIS_PORT": var.redis_port "REDIS_PASSWORD": var.redis_password } labels = { "traefik.http.routers.${var.name}.rule" = "Host(`${var.host}`, `${var.name}.waypoint.smaug.dev`)" "traefik.http.routers.${var.name}.entrypoints" = "websecure" "traefik.http.routers.${var.name}.tls.certresolver" = "myresolver" "traefik.http.services.${var.name}.loadbalancer.server.port" = "8080" } } } } variable "name" { type = string default = "page-recorder" description = "Project name" } variable "host" { type = string default = "preview.smaug.dev" description = "Project host" } variable "redis_host" { type = string default = "redis.smaug.dev" description = "Redis host" } variable "redis_port" { type = string default = 6379 description = "Redis port" } variable "redis_password" { type = string description = "Redis password" }