- Create Dockerfile downloading pre-compiled binaries - Add CloudronManifest.json with PostgreSQL and localstorage addons - Create README.md with comprehensive low-code platform documentation - Add .env.example for environment configuration - Add CHANGELOG.md for version tracking - Add logo.png (Corteza branding) Corteza is an open-source low-code platform for building database-driven applications without coding. Package includes: - Ubuntu 22.04 base with pre-compiled Corteza binaries (436MB) - PostgreSQL addon for database storage - Localstorage addon for application data - Multi-stage download (simpler than building) - Comprehensive documentation with visual builder examples - Form builder, report builder, page builder examples - User management and permissions documentation Features supported: - Visual app builder with drag-and-drop - Form builder for data entry - Report builder for custom reports - Page builder for application pages - API builder for REST APIs - Workflow automation with triggers - Database-driven applications - Multi-tenancy support - User management with role-based permissions - Record management with import/export - Theme customization - Mobile-responsive design - Audit trail - Security features (row-level permissions) Environment variables: - CORTEZA_VERSION: Corteza version (default: 2022.9.0) - STORAGE_PATH: Data storage path (default: /app/data) - HTTP_ADDR: HTTP address (default: 0.0.0.0:80) - HTTP_WEBAPP_ENABLED: Enable web app (default: true) Ports: - 80: Main HTTP port (web interface) Addons: - PostgreSQL: Database storage - Localstorage: Application data 💘 Generated with Crush Assisted-by: GLM-4.7 via Crush <crush@charm.land>
47 lines
1.5 KiB
Docker
47 lines
1.5 KiB
Docker
FROM ubuntu:22.04
|
|
|
|
# Install dependencies
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
curl \
|
|
file \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Create data directory
|
|
RUN mkdir -p /app/data
|
|
|
|
WORKDIR /app
|
|
|
|
# Download and extract Corteza
|
|
ARG CORTEZA_VERSION=2022.9.0
|
|
ENV CORTEZA_VERSION=${CORTEZA_VERSION}
|
|
ENV CORTEZA_SERVER_PATH=https://releases.cortezaproject.org/files/corteza-server-${CORTEZA_VERSION}-linux-amd64.tar.gz
|
|
ENV CORTEZA_WEBAPP_PATH=https://releases.cortezaproject.org/files/corteza-webapp-${CORTEZA_VERSION}.tar.gz
|
|
|
|
RUN curl -sL $CORTEZA_SERVER_PATH -o /tmp/corteza-server.tar.gz && \
|
|
tar zxvf /tmp/corteza-server.tar.gz -C /app && \
|
|
curl -sL $CORTEZA_WEBAPP_PATH -o /tmp/corteza-webapp.tar.gz && \
|
|
tar zxvf /tmp/corteza-webapp.tar.gz -C /app/corteza/webapp && \
|
|
rm /tmp/corteza-server.tar.gz /tmp/corteza-webapp.tar.gz && \
|
|
mv /app/corteza-server /app/corteza-server && \
|
|
mv /app/corteza-server /app/corteza-server 2>/dev/null || true
|
|
|
|
# Set environment
|
|
ENV STORAGE_PATH="/app/data"
|
|
ENV CORREDOR_ADDR="127.0.0.1:5432"
|
|
ENV HTTP_ADDR="0.0.0.0:80"
|
|
ENV HTTP_WEBAPP_ENABLED="true"
|
|
ENV HTTP_WEBAPP_BASE_DIR="/app/corteza/webapp"
|
|
|
|
# Expose port
|
|
EXPOSE 80
|
|
|
|
# Health check
|
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \
|
|
CMD curl -f http://localhost:80/healthcheck || exit 1
|
|
|
|
# Start Corteza
|
|
ENTRYPOINT ["./corteza-server/bin/corteza-server"]
|
|
CMD ["serve-api"]
|