BTHLABS-49: WIP
This commit is contained in:
parent
6b959bb9ea
commit
53fdc8e12e
|
@ -1,12 +1,12 @@
|
|||
ARG APP_USER_UID=1000
|
||||
ARG APP_USER_GID=1000
|
||||
ARG IMAGE_TAG=development.00000000
|
||||
ARG IMAGE_ID=development.00000000
|
||||
|
||||
FROM docker-hosted.nexus.bthlabs.pl/hotpocket/base:build-node-20250816-01 AS development
|
||||
FROM docker-hosted.nexus.bthlabs.pl/hotpocket/base:build-node-20250819-01 AS development
|
||||
|
||||
ARG APP_USER_UID
|
||||
ARG APP_USER_GID
|
||||
ARG IMAGE_TAG
|
||||
ARG IMAGE_ID
|
||||
|
||||
USER root
|
||||
|
||||
|
@ -17,11 +17,11 @@ USER app
|
|||
|
||||
VOLUME ["/srv/node_modules", "/srv/venv"]
|
||||
|
||||
FROM docker-hosted.nexus.bthlabs.pl/hotpocket/base:build-python-20250816-01 AS deployment-build
|
||||
FROM docker-hosted.nexus.bthlabs.pl/hotpocket/base:build-python-20250819-01 AS deployment-build
|
||||
|
||||
ARG APP_USER_UID
|
||||
ARG APP_USER_GID
|
||||
ARG IMAGE_TAG
|
||||
ARG IMAGE_ID
|
||||
|
||||
RUN mkdir /srv/app/hotpocket_backend /srv/packages/common /srv/packages/soa
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID backend/hotpocket_backend/ /srv/app/hotpocket_backend/
|
||||
|
@ -36,13 +36,13 @@ RUN poetry install --only main,deployment && \
|
|||
rm -f hotpocket_backend/settings/deployment/build.py && \
|
||||
rm -rf node_modules/
|
||||
|
||||
FROM docker-hosted.nexus.bthlabs.pl/hotpocket/base:base-20250816-01 AS deployment-base
|
||||
FROM docker-hosted.nexus.bthlabs.pl/hotpocket/base:base-20250819-01 AS deployment-base
|
||||
|
||||
ARG APP_USER_UID
|
||||
ARG APP_USER_GID
|
||||
ARG IMAGE_TAG
|
||||
ARG IMAGE_ID
|
||||
|
||||
ENV HOTPOCKET_BACKEND_IMAGE_TAG=${IMAGE_TAG}
|
||||
ENV HOTPOCKET_BACKEND_IMAGE_ID=${IMAGE_ID}
|
||||
ENV PYTHONPATH="/srv/local"
|
||||
|
||||
COPY --from=deployment-build /srv/app /srv/app
|
||||
|
@ -50,8 +50,7 @@ COPY --from=deployment-build /srv/packages /srv/packages
|
|||
COPY --from=deployment-build /srv/venv /srv/venv
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID backend/ops/bin/*.sh /srv/bin/
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID backend/ops/deployment/gunicorn.conf.py backend/ops/deployment/gunicorn.logging.conf /srv/lib/
|
||||
RUN mkdir /srv/entrypoint.d /srv/local && \
|
||||
chown -R $APP_USER_UID:$APP_USER_GID /srv
|
||||
RUN chown -R $APP_USER_UID:$APP_USER_GID /srv
|
||||
|
||||
USER root
|
||||
|
||||
|
@ -71,7 +70,7 @@ FROM deployment-base AS deployment
|
|||
|
||||
ARG APP_USER_UID
|
||||
ARG APP_USER_GID
|
||||
ARG IMAGE_TAG
|
||||
ARG IMAGE_ID
|
||||
|
||||
VOLUME ["/srv/run", "/srv/uploads"]
|
||||
|
||||
|
@ -79,7 +78,7 @@ FROM deployment-base AS aio
|
|||
|
||||
ARG APP_USER_UID
|
||||
ARG APP_USER_GID
|
||||
ARG IMAGE_TAG
|
||||
ARG IMAGE_ID
|
||||
|
||||
ENV DJANGO_SETTINGS_MODULE=hotpocket_backend.settings.aio
|
||||
ENV HOTPOCKET_BACKEND_ENV=aio
|
||||
|
|
|
@ -24,7 +24,7 @@ class PSettings(typing.Protocol):
|
|||
|
||||
SITE_TITLE: str
|
||||
SITE_SHORT_TITLE: str
|
||||
IMAGE_TAG: str
|
||||
IMAGE_ID: str
|
||||
|
||||
SAVES_SAVE_ADAPTER: str
|
||||
SAVES_ASSOCIATION_ADAPTER: str
|
||||
|
|
|
@ -15,7 +15,7 @@ def site_title(request: HttpRequest) -> dict:
|
|||
|
||||
def image_tag(request: HttpRequest) -> dict:
|
||||
return {
|
||||
'IMAGE_TAG': settings.IMAGE_TAG,
|
||||
'IMAGE_ID': settings.IMAGE_ID,
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover,user-scalable=no">
|
||||
<meta name="generator" content="pl.bthlabs.HotPocket.backend@{{ IMAGE_TAG }}">
|
||||
<meta name="generator" content="pl.bthlabs.HotPocket.backend@{{ IMAGE_ID }}">
|
||||
<meta name="theme-color" content="#2b3035"/>
|
||||
<title>{% block title %}{% translate 'Not Found' %}{% endblock %} | {{ SITE_TITLE }}</title>
|
||||
<link href="{% static 'ui/css/bootstrap.min.css' %}" rel="stylesheet">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<p class="mb-0 mt-2 text-center text-muted ui-uname">
|
||||
<span>
|
||||
<a href="https://hotpocket.app/" target="_blank" rel="noopener noreferer">{{ SITE_TITLE }}</a>
|
||||
(<code>{{ IMAGE_TAG }}</code>)
|
||||
(<code>{{ IMAGE_ID }}</code>)
|
||||
</span>
|
||||
<br>
|
||||
<span>Copyright © 2025-present by BTHLabs. All rights reserved.</span>
|
||||
|
|
|
@ -189,7 +189,7 @@ SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
|
|||
AUTHENTICATION_BACKENDS = [
|
||||
]
|
||||
|
||||
IMAGE_TAG = os.getenv('HOTPOCKET_BACKEND_IMAGE_TAG', 'development.00000000')
|
||||
IMAGE_ID = os.getenv('HOTPOCKET_BACKEND_IMAGE_ID', 'development.00000000')
|
||||
|
||||
MODEL_AUTH_IS_DISABLED = (
|
||||
os.getenv('HOTPOCKET_BACKEND_MODEL_AUTH_IS_DISABLED', 'false').lower() == 'true'
|
||||
|
|
|
@ -13,7 +13,7 @@ cat <<EOF
|
|||
|_|
|
||||
production
|
||||
|
||||
HotPocket v1.0.0rc1 [${HOTPOCKET_BACKEND_IMAGE_TAG}] (https://htpocket.app/)
|
||||
HotPocket v1.0.0rc1 [${HOTPOCKET_BACKEND_IMAGE_ID}] (https://htpocket.app/)
|
||||
Copyright 2025-present by BTHLabs. All rights reserved. (https://bthlabs.pl/)
|
||||
Licensed under BTHLabs Source Available License Agreement
|
||||
EOF
|
||||
|
@ -21,12 +21,12 @@ EOF
|
|||
export PYTHONPATH="/srv/app:$PYTHONPATH"
|
||||
|
||||
if [ -n "${HOTPOCKET_BACKEND_RUN_MIGRATIONS}" ];then
|
||||
echo; echo "Running migrations..."
|
||||
echo; echo "--- Running migrations..."
|
||||
${VIRTUAL_ENV}/bin/python /srv/app/manage.py migrate
|
||||
fi
|
||||
|
||||
if [[ -n "${HOTPOCKET_BACKEND_INITIAL_ACCOUNT_USERNAME}" && -n "${HOTPOCKET_BACKEND_INITIAL_ACCOUNT_PASSWORD}" ]]; then
|
||||
echo; echo "Creating initial Account..."
|
||||
echo; echo "--- Creating initial Account..."
|
||||
${VIRTUAL_ENV}/bin/python /srv/app/manage.py create_initial_account "${HOTPOCKET_BACKEND_INITIAL_ACCOUNT_USERNAME}" "${HOTPOCKET_BACKEND_INITIAL_ACCOUNT_PASSWORD}"
|
||||
fi
|
||||
|
||||
|
@ -34,8 +34,8 @@ if [ "${HOTPOCKET_BACKEND_ENV}" = "aio" ];then
|
|||
mkdir -p "${HOTPOCKET_BACKEND_UPLOADS_PATH:-/srv/run/uploads}"
|
||||
fi
|
||||
|
||||
echo; echo "Running entrypoing.d parts..."
|
||||
find "/srv/entrypoint.d/" -follow -type f -print | sort -V | while read -r ENTRYPOINT_PART; do
|
||||
echo; echo "--- Running entrypoint.d parts..."
|
||||
find "/srv/etc/entrypoint.d/" -follow -type f -print | sort -V | while read -r ENTRYPOINT_PART; do
|
||||
case "$ENTRYPOINT_PART" in
|
||||
*.sh)
|
||||
echo "$0: Executing ${ENTRYPOINT_PART}...";
|
||||
|
@ -48,6 +48,6 @@ find "/srv/entrypoint.d/" -follow -type f -print | sort -V | while read -r ENTRY
|
|||
esac
|
||||
done
|
||||
|
||||
echo; echo "Setup done, booting the app..."; echo
|
||||
echo; echo "--- Setup done, booting the app..."; echo
|
||||
|
||||
exec /usr/bin/dumb-init "$@"
|
||||
|
|
|
@ -25,7 +25,7 @@ RUN if [ ! $(getent group ${APP_USER_GID}) ];then groupadd -g ${APP_USER_GID} ap
|
|||
apt-get install --no-install-recommends -y curl iputils-ping less net-tools vim-tiny wget && \
|
||||
(curl -sSL https://install.python-poetry.org | python -) && \
|
||||
python3.12 -m venv ${VIRTUAL_ENV} && \
|
||||
mkdir /srv/app /srv/bin /srv/lib /srv/log /srv/node_modules /srv/opt /srv/packages /srv/run /srv/tmp /srv/uploads
|
||||
mkdir /srv/app /srv/bin /srv/etc /srv/etc/entrypoint.d/ /srv/lib /srv/local /srv/log /srv/node_modules /srv/opt /srv/packages /srv/run /srv/tmp /srv/uploads
|
||||
|
||||
COPY --chown=$APP_USER_UID:$APP_USER_GID base/ops/bin/*.sh /srv/bin/
|
||||
RUN chown -R ${APP_USER_UID}:${APP_USER_GID} /srv
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
ARG APP_USER_UID=1000
|
||||
ARG APP_USER_GID=1000
|
||||
ARG IMAGE_TAG=development.00000000
|
||||
ARG IMAGE_ID=development.00000000
|
||||
|
||||
FROM docker-hosted.nexus.bthlabs.pl/hotpocket/base:build-python-20250816-01 AS development
|
||||
FROM docker-hosted.nexus.bthlabs.pl/hotpocket/base:build-python-20250819-01 AS development
|
||||
|
||||
ARG APP_USER_UID
|
||||
ARG APP_USER_GID
|
||||
ARG IMAGE_TAG
|
||||
ARG IMAGE_ID
|
||||
|
||||
USER root
|
||||
|
||||
|
|
2
tasks.py
2
tasks.py
|
@ -166,7 +166,7 @@ def build(ctx,
|
|||
),
|
||||
f'-t docker-hosted.nexus.bthlabs.pl/hotpocket/{service}:{docker_build_ctx.tag}', # noqa: E501
|
||||
f'-f services/{service}/Dockerfile',
|
||||
f'--build-arg IMAGE_TAG={image_tag}',
|
||||
f'--build-arg IMAGE_ID={image_tag}',
|
||||
f'--target {docker_build_ctx.target}',
|
||||
'services/',
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue
Block a user