Packages
Project repository template to set up all public Phoenix projects at Nimble
Current section
Files
Jump to
Current section
Files
lib/nimble.phx.gen.template/addons/docker.ex
defmodule Nimble.Phx.Gen.Template.Addons.Docker do
use Nimble.Phx.Gen.Template.Addon
@impl true
def do_apply(
%Project{
api_project?: api_project?,
otp_app: otp_app,
base_module: base_module,
docker_build_base_image: docker_build_base_image,
docker_app_base_image: docker_app_base_image
} = project,
_opts
) do
Generator.copy_file(
[
{:eex, "docker-compose.dev.yml.eex", "docker-compose.dev.yml"},
{:eex, "docker-compose.yml.eex", "docker-compose.yml"},
{:eex, "Dockerfile.eex", "Dockerfile"},
{:eex, "bin/start.sh.eex", "bin/start.sh"},
{:text, ".dockerignore", ".dockerignore"}
],
otp_app: otp_app,
base_module: base_module,
docker_build_base_image: docker_build_base_image,
docker_app_base_image: docker_app_base_image,
web_project?: !api_project?
)
Mix.shell().cmd("chmod +x bin/start.sh")
project
end
end