# draw.io Cloudron Package
#
# draw.io (diagrams.net) is a client-side JavaScript diagramming application
# served by Tomcat. It is stateless: diagrams are stored in the browser
# (localStorage) or exported / synced to cloud storage (Google Drive, OneDrive,
# GitHub, etc.). There is no database and no server-side persistence.
#
# Authentication: draw.io has no user model, so this package uses Cloudron's
# authentication proxy (httpAuth.type=proxy in CloudronManifest.json). The
# Cloudron admin restricts which platform users may reach the app; the browser
# then challenges for Cloudron credentials before access is granted.
FROM jgraph/drawio:24.7.17

# The upstream Tomcat image may not ship curl; install it for the health check.
USER root
RUN apt-get update \
    && apt-get install -y --no-install-recommends curl \
    && rm -rf /var/lib/apt/lists/*

EXPOSE 8080

HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \
    CMD curl -f http://localhost:8080/ || exit 1

# Upstream CMD (ENTRYPOINT /docker-entrypoint.sh + "catalina.sh run") is
# inherited unchanged; Tomcat serves draw.war as the root webapp on 8080.
