Loading Other/Scripts/PrepareBuildCodeunits.py +8 −9 Original line number Diff line number Diff line from pathlib import Path from ScriptCollection.GeneralUtilities import GeneralUtilities import os from ScriptCollection.TFCPS.TFCPS_Generic import TFCPS_Generic_Functions, TFCPS_Generic_CLI def prepare_build_codeunits(): t :TFCPS_Generic_Functions= TFCPS_Generic_CLI().parse(__file__) repository_folder = GeneralUtilities.resolve_relative_path( "../../..", str(Path(__file__).absolute())) t.tfcps_Tools_General.ensure_certificate_authority_for_development_purposes_is_generated(repository_folder) t.tfcps_Tools_General.generate_certificate_for_development_purposes_for_product(repository_folder) t.tfcps_Tools_General.generate_tasksfile_from_workspace_file(repository_folder) t.tfcps_Tools_General.generate_codeunits_overview_diagram(repository_folder) t.tfcps_Tools_General.generate_svg_files_from_plantuml_files_for_repository(repository_folder,t.use_cache()) t.tfcps_Tools_General.ensure_certificate_authority_for_development_purposes_is_generated(t.repository_folder) t.tfcps_Tools_General.generate_certificate_for_development_purposes_for_product(t.repository_folder) t.tfcps_Tools_General.generate_tasksfile_from_workspace_file(t.repository_folder) t.tfcps_Tools_General.generate_codeunits_overview_diagram(t.repository_folder) t.tfcps_Tools_General.generate_svg_files_from_plantuml_files_for_repository(t.repository_folder,t.use_cache()) t.sc.ensure_docker_network_is_available("simpleocr_net") if __name__ == "__main__": Loading SimpleOCR/Other/Build/Build.py +3 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,9 @@ from ScriptCollection.TFCPS.Docker.TFCPS_CodeUnitSpecific_Docker import TFCPS_Co def build(): tf:TFCPS_CodeUnitSpecific_Docker_Functions=TFCPS_CodeUnitSpecific_Docker_CLI.parse(__file__) tf.build(None) tf.build(None,{ "debian":tf._protected_sc.default_fallback_docker_registry, }) tf.tfcps_Tools_General.merge_sbom_file_from_dependent_codeunit_into_this(tf.get_codeunit_folder(),"SimpleOCR","SimpleOCRService",tf.use_cache()) if __name__ == "__main__": Loading SimpleOCR/Other/CommonTasks.py +1 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ from ScriptCollection.TFCPS.Docker.TFCPS_CodeUnitSpecific_Docker import TFCPS_Co def common_tasks(): tf:TFCPS_CodeUnitSpecific_Docker_Functions=TFCPS_CodeUnitSpecific_Docker_CLI.parse(__file__) tf.tfcps_Tools_General.get_resource_from_global_resource(tf.get_codeunit_folder(), "DevelopmentCertificate") tf.tfcps_Tools_General.get_resource_from_submodule_with_default_ignore_pattern(tf.get_codeunit_folder(),"tessdata_best","OCRData") tf.do_common_tasks(tf.get_version_of_project())#codeunit-version should alsways be the same as project-version Loading SimpleOCR/Other/OnBuildingFinished.py +1 −2 Original line number Diff line number Diff line Loading @@ -7,4 +7,3 @@ def on_building_finished(): if __name__ == "__main__": on_building_finished() No newline at end of file SimpleOCR/SimpleOCR/Dockerfile +35 −14 Original line number Diff line number Diff line FROM mcr.microsoft.com/dotnet/aspnet:10.0 ARG image_debian FROM ${image_debian}:stable-20251208-slim ENV ISRUNNINGINCONTAINER="true" RUN mkdir /Workspace && \ mkdir /Workspace/Data && \ mkdir /Workspace/Application && \ mkdir /Workspace/Application/Backend && \ mkdir /Workspace/Configuration && \ mkdir /Workspace/Logs && \ mkdir /Workspace/Other && \ mkdir /Workspace/Other/Certificates && \ mkdir /Workspace/Other/EntryPoint && \ apt-get update && \ apt-get install -y git libreoffice-core libreoffice-writer libreoffice-calc && \ rm -rf /var/lib/apt/lists/* ADD ./Other/Resources/DependentCodeUnits/SimpleOCRService/BuildResult_DotNet_win-x64 /Workspace/Application ADD ./Other/Resources/OCRData /Workspace/OCRData WORKDIR /Workspace/Application HEALTHCHECK CMD curl --insecure --fail https://localhost:443/API/Other/Maintenance/HealthCheck #TODO pass commandline arguments ENTRYPOINT ["dotnet", "/Workspace/Application/SimpleOCRService.dll", "--RealRun"] apt-get install -y curl nginx git libreoffice-core libreoffice-writer libreoffice-calc wget nano WORKDIR /Workspace/Other/EntryPoint RUN wget https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb -O packages-microsoft-prod.deb && \ dpkg -i packages-microsoft-prod.deb && \ rm packages-microsoft-prod.deb && \ apt-get update && \ apt-get install -y aspnetcore-runtime-10.0 RUN rm -rf /var/lib/apt/lists/* ADD Other/Resources/DependentCodeUnits/SimpleOCRService/BuildResult_DotNet_linux-x64 /Workspace/Application/Backend COPY Other/Resources/DevelopmentCertificate/SimpleOCRDevelopmentCertificate.crt /Workspace/Other/Certificates COPY Other/Resources/DevelopmentCertificate/SimpleOCRDevelopmentCertificate.key /Workspace/Other/Certificates COPY SimpleOCR/EntryPoint.sh /Workspace/Other/EntryPoint RUN chmod +x /Workspace/Other/EntryPoint/EntryPoint.sh COPY SimpleOCR/HealthCheck.sh /Workspace/Other/EntryPoint RUN chmod +x /Workspace/Other/EntryPoint/HealthCheck.sh HEALTHCHECK CMD ./HealthCheck.sh ENTRYPOINT ["./EntryPoint.sh"] Loading
Other/Scripts/PrepareBuildCodeunits.py +8 −9 Original line number Diff line number Diff line from pathlib import Path from ScriptCollection.GeneralUtilities import GeneralUtilities import os from ScriptCollection.TFCPS.TFCPS_Generic import TFCPS_Generic_Functions, TFCPS_Generic_CLI def prepare_build_codeunits(): t :TFCPS_Generic_Functions= TFCPS_Generic_CLI().parse(__file__) repository_folder = GeneralUtilities.resolve_relative_path( "../../..", str(Path(__file__).absolute())) t.tfcps_Tools_General.ensure_certificate_authority_for_development_purposes_is_generated(repository_folder) t.tfcps_Tools_General.generate_certificate_for_development_purposes_for_product(repository_folder) t.tfcps_Tools_General.generate_tasksfile_from_workspace_file(repository_folder) t.tfcps_Tools_General.generate_codeunits_overview_diagram(repository_folder) t.tfcps_Tools_General.generate_svg_files_from_plantuml_files_for_repository(repository_folder,t.use_cache()) t.tfcps_Tools_General.ensure_certificate_authority_for_development_purposes_is_generated(t.repository_folder) t.tfcps_Tools_General.generate_certificate_for_development_purposes_for_product(t.repository_folder) t.tfcps_Tools_General.generate_tasksfile_from_workspace_file(t.repository_folder) t.tfcps_Tools_General.generate_codeunits_overview_diagram(t.repository_folder) t.tfcps_Tools_General.generate_svg_files_from_plantuml_files_for_repository(t.repository_folder,t.use_cache()) t.sc.ensure_docker_network_is_available("simpleocr_net") if __name__ == "__main__": Loading
SimpleOCR/Other/Build/Build.py +3 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,9 @@ from ScriptCollection.TFCPS.Docker.TFCPS_CodeUnitSpecific_Docker import TFCPS_Co def build(): tf:TFCPS_CodeUnitSpecific_Docker_Functions=TFCPS_CodeUnitSpecific_Docker_CLI.parse(__file__) tf.build(None) tf.build(None,{ "debian":tf._protected_sc.default_fallback_docker_registry, }) tf.tfcps_Tools_General.merge_sbom_file_from_dependent_codeunit_into_this(tf.get_codeunit_folder(),"SimpleOCR","SimpleOCRService",tf.use_cache()) if __name__ == "__main__": Loading
SimpleOCR/Other/CommonTasks.py +1 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ from ScriptCollection.TFCPS.Docker.TFCPS_CodeUnitSpecific_Docker import TFCPS_Co def common_tasks(): tf:TFCPS_CodeUnitSpecific_Docker_Functions=TFCPS_CodeUnitSpecific_Docker_CLI.parse(__file__) tf.tfcps_Tools_General.get_resource_from_global_resource(tf.get_codeunit_folder(), "DevelopmentCertificate") tf.tfcps_Tools_General.get_resource_from_submodule_with_default_ignore_pattern(tf.get_codeunit_folder(),"tessdata_best","OCRData") tf.do_common_tasks(tf.get_version_of_project())#codeunit-version should alsways be the same as project-version Loading
SimpleOCR/Other/OnBuildingFinished.py +1 −2 Original line number Diff line number Diff line Loading @@ -7,4 +7,3 @@ def on_building_finished(): if __name__ == "__main__": on_building_finished() No newline at end of file
SimpleOCR/SimpleOCR/Dockerfile +35 −14 Original line number Diff line number Diff line FROM mcr.microsoft.com/dotnet/aspnet:10.0 ARG image_debian FROM ${image_debian}:stable-20251208-slim ENV ISRUNNINGINCONTAINER="true" RUN mkdir /Workspace && \ mkdir /Workspace/Data && \ mkdir /Workspace/Application && \ mkdir /Workspace/Application/Backend && \ mkdir /Workspace/Configuration && \ mkdir /Workspace/Logs && \ mkdir /Workspace/Other && \ mkdir /Workspace/Other/Certificates && \ mkdir /Workspace/Other/EntryPoint && \ apt-get update && \ apt-get install -y git libreoffice-core libreoffice-writer libreoffice-calc && \ rm -rf /var/lib/apt/lists/* ADD ./Other/Resources/DependentCodeUnits/SimpleOCRService/BuildResult_DotNet_win-x64 /Workspace/Application ADD ./Other/Resources/OCRData /Workspace/OCRData WORKDIR /Workspace/Application HEALTHCHECK CMD curl --insecure --fail https://localhost:443/API/Other/Maintenance/HealthCheck #TODO pass commandline arguments ENTRYPOINT ["dotnet", "/Workspace/Application/SimpleOCRService.dll", "--RealRun"] apt-get install -y curl nginx git libreoffice-core libreoffice-writer libreoffice-calc wget nano WORKDIR /Workspace/Other/EntryPoint RUN wget https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb -O packages-microsoft-prod.deb && \ dpkg -i packages-microsoft-prod.deb && \ rm packages-microsoft-prod.deb && \ apt-get update && \ apt-get install -y aspnetcore-runtime-10.0 RUN rm -rf /var/lib/apt/lists/* ADD Other/Resources/DependentCodeUnits/SimpleOCRService/BuildResult_DotNet_linux-x64 /Workspace/Application/Backend COPY Other/Resources/DevelopmentCertificate/SimpleOCRDevelopmentCertificate.crt /Workspace/Other/Certificates COPY Other/Resources/DevelopmentCertificate/SimpleOCRDevelopmentCertificate.key /Workspace/Other/Certificates COPY SimpleOCR/EntryPoint.sh /Workspace/Other/EntryPoint RUN chmod +x /Workspace/Other/EntryPoint/EntryPoint.sh COPY SimpleOCR/HealthCheck.sh /Workspace/Other/EntryPoint RUN chmod +x /Workspace/Other/EntryPoint/HealthCheck.sh HEALTHCHECK CMD ./HealthCheck.sh ENTRYPOINT ["./EntryPoint.sh"]