module

Yozgat::Deploy::Docker

Class methods

compose_container_names(base_dir : String, project_name : String) : Array(String)

Container names belonging to a compose project (compose auto-generates <project>-<service>-<n> names that yozgat does not control).

Source
compose_down(base_dir : String, project_dir : String, compose_path : String, use_env_file : Bool = false, project_name : String | Nil = nil) : Nil
Source
compose_project_name(project_id : Int64, env_slug : String, deployment_slug : String) : String

Deployment-scoped docker compose project name. Every repo is cloned into a dir literally named "repo", so without this docker compose would derive the project name "repo" for EVERY deployment — colliding containers, images and compose down scope across projects.

Source
compose_up(base_dir : String, project_dir : String, compose_path : String, log_path : String, build : Bool = false, use_env_file : Bool = false, project_name : String | Nil = nil) : Bool
Source
container_logs(base_dir : String, name : String, tail : Int32) : String
Source
container_rm(base_dir : String, name : String) : Nil
Source
container_run(base_dir : String, image : String, name : String, log_path : String, host_port : Int64 | Nil = nil, container_port : Int64 | Nil = nil, env_file : String | Nil = nil, network : String | Nil = nil, labels : Array(String) = [] of String) : Bool
Source
docker_available?
Source
docker_env(base_dir : String, project_dir : String | Nil = nil) : Hash(String, String)
Source
image_build(base_dir : String, repo_dir : String, tag : String, log_path : String) : Bool
Source
wait_for_compose_services(base_dir : String, project_dir : String, compose_path : String, use_env_file : Bool = false, project_name : String | Nil = nil) : Bool
Source
wait_for_container_running(base_dir : String, name : String) : Bool
Source