feat: add InvenTree Cloudron package (Business-Apps) [#658]
Official-image wrapper of inventree/inventree 1.5.2 (digest-pinned). allauth OIDC provider JSON built from the platform env; invoke update on boot; RQ worker behind the web-port gate; admin seeded with a generated password. grind-stack: lowercase image names. 19th package. Verified: health 200, SSO route 302s to issuer, migrations clean. Detail: https://projects.knownelement.com/issues/658#note-5086
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# InvenTree Cloudron Package
|
||||
#
|
||||
# InvenTree is an open-source inventory management system (Django):
|
||||
# parts/stock tracking, BOMs, suppliers, purchase orders, build orders,
|
||||
# plugin ecosystem. PostgreSQL storage + Redis for background-task
|
||||
# queues (RQ) and optional caching.
|
||||
#
|
||||
# Upstream: https://github.com/inventree/InvenTree (MIT), v1.5.2.
|
||||
# - Official image inventree/inventree (single image; upstream compose
|
||||
# runs inventree-server [gunicorn :8000] and inventree-worker
|
||||
# [invoke worker] as separate services - Cloudron is one container,
|
||||
# so start.sh backgrounds the worker gated on the web port, the
|
||||
# same pattern as NetBox).
|
||||
# - Everything is env-configurable via INVENTREE_* (config.md): DB,
|
||||
# cache, site URL, secret key, admin seed, SOCIAL_PROVIDERS JSON.
|
||||
# - The image ENTRYPOINT (init.sh) prepares dirs + config template
|
||||
# and execs the CMD; migrations/static collection run via
|
||||
# `invoke update`, which start.sh drives explicitly.
|
||||
#
|
||||
# Authentication: NATIVE OIDC (preferred) via django-allauth
|
||||
# (settings.py:1002 reads INVENTREE_SOCIAL_PROVIDERS;
|
||||
# SOCIALACCOUNT_OPENID_CONNECT_URL_PREFIX='' so SSO routes live at
|
||||
# /accounts/oidc/...). start.sh builds the provider JSON from the
|
||||
# Cloudron platform OIDC env (CLOUDRON_OIDC_*). LDAP also exists in
|
||||
# core (INVENTREE_LDAP_ENABLED) as an alternative. Local login remains;
|
||||
# the first admin is seeded (generated password, see README).
|
||||
#
|
||||
# Pattern: official-image wrapper. Image pinned by tag AND digest
|
||||
# (amd64 manifest digest of 1.5.2, from docker manifest inspect).
|
||||
FROM inventree/inventree:1.5.2@sha256:2df695b338b9fbcb4d86a6a3c27c5f53e690d1b58af8a216e69fec49fc178a14
|
||||
|
||||
# no packages needed: the image ships bash, python, invoke; start.sh
|
||||
# only orchestrates env + processes
|
||||
COPY start.sh /app/start.sh
|
||||
|
||||
# gunicorn web server; API/SSO all on this port (worker has no listener)
|
||||
EXPOSE 8000
|
||||
|
||||
ENTRYPOINT ["/bin/bash", "/app/start.sh"]
|
||||
Reference in New Issue
Block a user