diff --git a/circleci_django/0.0.2/Dockerfile b/circleci_django/0.0.2/Dockerfile new file mode 100644 index 00000000..0474844a --- /dev/null +++ b/circleci_django/0.0.2/Dockerfile @@ -0,0 +1,36 @@ +FROM darthjee/scripts:0.5.0 as scripts +FROM cimg/python:3.12 as base + +USER root + +RUN apt-get update && apt-get install -y \ + default-libmysqlclient-dev \ + pkg-config \ + iputils-ping \ + default-mysql-client; \ + rm -rf /var/lib/apt/lists/* ; \ + chown circleci:circleci -R /home/circleci/project/ + +USER circleci + +WORKDIR /home/circleci/project/ + +###################################### + +FROM base as builder + +COPY --chown=circleci:circleci home/* /home/circleci/project +ENV HOME_DIR /home/circleci + +USER circleci +COPY --chown=circleci:circleci --from=scripts /home/scripts/builder/poetry_builder.sh /usr/local/sbin/poetry_builder.sh +RUN /bin/bash poetry_builder.sh + +####################### +# FINAL IMAGE +FROM base + +COPY --chown=circleci:circleci --from=builder /home/circleci/poetry/new/ /home/circleci/.cache/pypoetry/artifacts/ +USER app + + diff --git a/circleci_django/0.0.2/home/pyproject.toml b/circleci_django/0.0.2/home/pyproject.toml new file mode 100644 index 00000000..d8639722 --- /dev/null +++ b/circleci_django/0.0.2/home/pyproject.toml @@ -0,0 +1,26 @@ +[tool.poetry] +name = "Django Image" +version = "0.0.1" +description = "Django Image Project" +authors = [ "Darthjee" ] +license = "MIT" + +[tool.poetry.dependencies] +python = ">=3.12" +django = "5.2.5" +django-admin = "2.0.2" +mysqlclient = "2.2.7" +gunicorn = "23.0.0" +jinja2 = "^3.1.6" + +[tool.poetry.group.dev.dependencies] +pytest = "8.4.2" +pytest-django = "4.11.1" +ruff = "0.13.0" +radon = "^6.0.1" +xenon = "^0.9.3" +lizard = "^1.17.31" + +[build-system] +requires = ["poetry-core>=2.0.0,<3.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/circleci_node/0.2.1/Dockerfile b/circleci_node/0.2.1/Dockerfile new file mode 100644 index 00000000..7dd48dba --- /dev/null +++ b/circleci_node/0.2.1/Dockerfile @@ -0,0 +1,27 @@ +FROM darthjee/scripts:0.5.0 as scripts +FROM cimg/node:22.14.0 as base + +USER root + +RUN mkdir -p /home/circleci/project; \ + chown circleci /home/circleci -R; + +WORKDIR /home/circleci/project + +###################################### + +FROM base as builder + +ADD home/* /home/circleci/project/ + +USER root +ENV HOME_DIR=/home/circleci +COPY --chown=node:node --from=scripts /home/scripts/builder/yarn_builder.sh /usr/local/sbin/yarn_builder.sh +RUN /bin/bash yarn_builder.sh +USER node + +####################### +#FINAL IMAGE +FROM base + +COPY --chown=circleci:circleci --from=builder /home/circleci/yarn/new/ /usr/local/share/.cache/yarn/v6/ diff --git a/circleci_node/0.2.1/home/package.json b/circleci_node/0.2.1/home/package.json new file mode 100755 index 00000000..ba5a64c8 --- /dev/null +++ b/circleci_node/0.2.1/home/package.json @@ -0,0 +1,26 @@ +{ + "name": "Base_node_project", + "description": "This is used only to install default packages", + "author": "Fernando 'darthjee' Favini", + "version": "0.0.1", + "dependencies": { + "express": "4.17.3", + "underscore": "~1.13.x" + }, + "devDependencies": { + "express-generator": "latest", + "sass": "^1.69.0", + "eslint": "^8.0.0", + "eslint-config-standard": "^17.0.0", + "eslint-plugin-complexity": "^1.0.2", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jasmine": "^4.1.3", + "eslint-plugin-n": "^15.3.0", + "eslint-plugin-promise": "^6.0.1", + "eslint-plugin-react": "^7.32.0", + "eslint-plugin-react-hooks": "^4.6.0", + "jasmine": "^5.0.0", + "nyc": "^15.0.0", + "plato": "^1.7.0" + } +} diff --git a/circleci_node/0.2.1/home/packages_sed.sed b/circleci_node/0.2.1/home/packages_sed.sed new file mode 100644 index 00000000..d0852d12 --- /dev/null +++ b/circleci_node/0.2.1/home/packages_sed.sed @@ -0,0 +1,4 @@ +/[dD]ependencies": {/,/}/ { + s/ "\([^"]*\)": *"\(.*\)",\?/\1@\2/gp +} + diff --git a/django/0.0.2/Dockerfile b/django/0.0.2/Dockerfile new file mode 100644 index 00000000..5166a3f9 --- /dev/null +++ b/django/0.0.2/Dockerfile @@ -0,0 +1,39 @@ +FROM darthjee/scripts:0.5.0 as scripts +FROM python:3.12-slim-bullseye as base + +RUN useradd -u 1000 app; \ + mkdir -p /home/app/app; \ + chown app.app -R /home/app + +WORKDIR /home/app/app/ + +RUN apt-get update && apt-get install -y --no-install-recommends \ + build-essential \ + default-libmysqlclient-dev \ + pkg-config \ + iputils-ping \ + default-mysql-client \ + telnet curl ; \ + rm -rf /var/lib/apt/lists/* + +RUN pip install --no-cache-dir poetry + +###################################### + +FROM base as builder + +COPY --chown=app:app home/* /home/app/app/ +ENV HOME_DIR /home/app + +USER app +COPY --chown=app:app --from=scripts /home/scripts/builder/poetry_builder.sh /usr/local/sbin/poetry_builder.sh +RUN /bin/bash poetry_builder.sh + +####################### +# FINAL IMAGE +FROM base + +COPY --chown=app:app --from=builder /home/app/poetry/new/ /home/app/.cache/pypoetry/artifacts/ +USER app + + diff --git a/django/0.0.2/home/pyproject.toml b/django/0.0.2/home/pyproject.toml new file mode 100644 index 00000000..d8639722 --- /dev/null +++ b/django/0.0.2/home/pyproject.toml @@ -0,0 +1,26 @@ +[tool.poetry] +name = "Django Image" +version = "0.0.1" +description = "Django Image Project" +authors = [ "Darthjee" ] +license = "MIT" + +[tool.poetry.dependencies] +python = ">=3.12" +django = "5.2.5" +django-admin = "2.0.2" +mysqlclient = "2.2.7" +gunicorn = "23.0.0" +jinja2 = "^3.1.6" + +[tool.poetry.group.dev.dependencies] +pytest = "8.4.2" +pytest-django = "4.11.1" +ruff = "0.13.0" +radon = "^6.0.1" +xenon = "^0.9.3" +lizard = "^1.17.31" + +[build-system] +requires = ["poetry-core>=2.0.0,<3.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/node/0.2.1/Dockerfile b/node/0.2.1/Dockerfile new file mode 100644 index 00000000..87531ff4 --- /dev/null +++ b/node/0.2.1/Dockerfile @@ -0,0 +1,26 @@ +FROM darthjee/scripts:0.5.0 as scripts +FROM node:22 as base + +USER root +RUN mkdir -p /home/node/app; \ + chown node /home/node/app -R + +WORKDIR /home/node/app + +###################################### + +FROM base as builder + +ADD home/* /home/node/app/ + +USER root +ENV HOME_DIR=/home/node +COPY --chown=node:node --from=scripts /home/scripts/builder/yarn_builder.sh /usr/local/sbin/yarn_builder.sh +RUN /bin/bash yarn_builder.sh +USER node + +####################### +#FINAL IMAGE +FROM base + +COPY --chown=app:app --from=builder /home/node/yarn/new/ /usr/local/share/.cache/yarn/v6/ diff --git a/node/0.2.1/home/package.json b/node/0.2.1/home/package.json new file mode 100755 index 00000000..ba5a64c8 --- /dev/null +++ b/node/0.2.1/home/package.json @@ -0,0 +1,26 @@ +{ + "name": "Base_node_project", + "description": "This is used only to install default packages", + "author": "Fernando 'darthjee' Favini", + "version": "0.0.1", + "dependencies": { + "express": "4.17.3", + "underscore": "~1.13.x" + }, + "devDependencies": { + "express-generator": "latest", + "sass": "^1.69.0", + "eslint": "^8.0.0", + "eslint-config-standard": "^17.0.0", + "eslint-plugin-complexity": "^1.0.2", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jasmine": "^4.1.3", + "eslint-plugin-n": "^15.3.0", + "eslint-plugin-promise": "^6.0.1", + "eslint-plugin-react": "^7.32.0", + "eslint-plugin-react-hooks": "^4.6.0", + "jasmine": "^5.0.0", + "nyc": "^15.0.0", + "plato": "^1.7.0" + } +} diff --git a/node/0.2.1/home/packages_sed.sed b/node/0.2.1/home/packages_sed.sed new file mode 100644 index 00000000..d0852d12 --- /dev/null +++ b/node/0.2.1/home/packages_sed.sed @@ -0,0 +1,4 @@ +/[dD]ependencies": {/,/}/ { + s/ "\([^"]*\)": *"\(.*\)",\?/\1@\2/gp +} + diff --git a/production_django/0.0.2/Dockerfile b/production_django/0.0.2/Dockerfile new file mode 100644 index 00000000..7a885449 --- /dev/null +++ b/production_django/0.0.2/Dockerfile @@ -0,0 +1,39 @@ +FROM darthjee/scripts:0.5.0 as scripts +FROM python:3.12-slim-bullseye as base + +RUN useradd -u 1000 app; \ + mkdir -p /home/app/app; \ + chown app.app -R /home/app + +WORKDIR /home/app/app/ + +RUN apt-get update && apt-get install -y --no-install-recommends \ + build-essential \ + default-libmysqlclient-dev \ + pkg-config \ + iputils-ping \ + default-mysql-client \ + telnet curl ; \ + rm -rf /var/lib/apt/lists/* + +RUN pip install --no-cache-dir poetry + +###################################### + +FROM base as builder + +COPY --chown=app:app home/* /home/app/app/ +ENV HOME_DIR /home/app + +USER app +COPY --chown=app:app --from=scripts /home/scripts/builder/poetry_builder.sh /usr/local/sbin/poetry_builder.sh +RUN /bin/bash poetry_builder.sh --only main + +####################### +# FINAL IMAGE +FROM base + +COPY --chown=app:app --from=builder /home/app/poetry/new/ /home/app/.cache/pypoetry/artifacts/ +USER app + + diff --git a/production_django/0.0.2/home/pyproject.toml b/production_django/0.0.2/home/pyproject.toml new file mode 100644 index 00000000..d8639722 --- /dev/null +++ b/production_django/0.0.2/home/pyproject.toml @@ -0,0 +1,26 @@ +[tool.poetry] +name = "Django Image" +version = "0.0.1" +description = "Django Image Project" +authors = [ "Darthjee" ] +license = "MIT" + +[tool.poetry.dependencies] +python = ">=3.12" +django = "5.2.5" +django-admin = "2.0.2" +mysqlclient = "2.2.7" +gunicorn = "23.0.0" +jinja2 = "^3.1.6" + +[tool.poetry.group.dev.dependencies] +pytest = "8.4.2" +pytest-django = "4.11.1" +ruff = "0.13.0" +radon = "^6.0.1" +xenon = "^0.9.3" +lizard = "^1.17.31" + +[build-system] +requires = ["poetry-core>=2.0.0,<3.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/version b/version index 485f9e3f..05e878a7 100644 --- a/version +++ b/version @@ -3,7 +3,7 @@ fly=0.0.1 scripts=0.5.0 heroku=0.0.1 # Development -node=0.2.0 +node=0.2.1 node_mongo=0.0.6 python_27=0.2.2 python_37=0.2.2 @@ -21,9 +21,9 @@ ruby_node=1.4.2 ruby_plot=0.7.0 taa=1.4.2 taap=1.4.2 -django=0.0.1 +django=0.0.2 # Circleci -circleci_node=0.2.0 +circleci_node=0.2.1 circleci_node_mongo=0.0.6 circleci_python_27=0.2.2 circleci_python_37=0.2.2 @@ -39,7 +39,7 @@ circleci_ruby_gems_240=0.0.2 circleci_ruby_node=1.4.2 circleci_taa=1.4.2 circleci_taap=1.4.2 -circleci_django=0.0.1 +circleci_django=0.0.2 # Production production_rails_bower=1.4.0 production_rails_yarn=1.0.1 @@ -49,4 +49,4 @@ production_ruby_331=1.0.2 production_ruby_node=1.4.2 production_taa=1.4.2 production_taap=1.4.2 -production_django=0.0.1 +production_django=0.0.2