feat(src/djinit/creators): add Dockerfile and .dockerignore generation for new projects
Introduce automatic creation of Dockerfile and .dockerignore during project scaffolding, enabling container‑ready setups out of the box. * New Features - `create_dockerfile` method renders Dockerfile with configurable context (module name, database type, Tailwind usage). - `create_dockerignore` method generates a .dockerignore file to exclude unnecessary files from containers. * Enhancements - Added both methods to the setup pipeline in `SetupCreator` so they are executed automatically. - Context values are derived from project metadata, allowing customization per project. * Bug Fixes - None
This commit is contained in:
2 files changed
+23
No files matched your search
@@ -131,6 +131,27 @@ class FileCreator(BaseService):
|
|||||||
filepath, template, context, f"Created {prefix}/{filename}", should_format=True
|
filepath, template, context, f"Created {prefix}/{filename}", should_format=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def create_dockerfile(self) -> None:
|
||||||
|
context = {
|
||||||
|
"module_name": self.module_name,
|
||||||
|
"database_type": self.metadata.get("database_type", "postgresql"),
|
||||||
|
"use_tailwind": self.metadata.get("use_tailwind", False),
|
||||||
|
}
|
||||||
|
self._render_and_create_file(
|
||||||
|
"Dockerfile",
|
||||||
|
"project/Dockerfile-tpl",
|
||||||
|
context,
|
||||||
|
"Created Dockerfile for containerization",
|
||||||
|
)
|
||||||
|
|
||||||
|
def create_dockerignore(self) -> None:
|
||||||
|
self._render_and_create_file(
|
||||||
|
".dockerignore",
|
||||||
|
"project/dockerignore-tpl",
|
||||||
|
{},
|
||||||
|
"Created .dockerignore file",
|
||||||
|
)
|
||||||
|
|
||||||
def create_gitignore(self) -> None:
|
def create_gitignore(self) -> None:
|
||||||
self._render_and_create_file(".gitignore", "project/gitignore-tpl", {}, "Created .gitignore file")
|
self._render_and_create_file(".gitignore", "project/gitignore-tpl", {}, "Created .gitignore file")
|
||||||
|
|
||||||
|
|||||||
@@ -104,6 +104,8 @@ class SetupCreator:
|
|||||||
self.file_creator.create_readme,
|
self.file_creator.create_readme,
|
||||||
self.file_creator.create_env_file,
|
self.file_creator.create_env_file,
|
||||||
self.file_creator.create_djinit_config,
|
self.file_creator.create_djinit_config,
|
||||||
|
self.file_creator.create_dockerfile,
|
||||||
|
self.file_creator.create_dockerignore,
|
||||||
lambda: self.file_creator.create_pyproject(self.metadata),
|
lambda: self.file_creator.create_pyproject(self.metadata),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user