mirror of
https://github.com/unraid/api.git
synced 2026-01-10 18:50:11 -06:00
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced containerized plugin deployment support with updated Docker Compose configurations. - Added continuous build watch modes for API, web, and UI components for smoother development iterations. - Added a new job for API testing in the CI/CD workflow. - Added a new shell script to determine the local host's IP address for Docker configurations. - Introduced a new entry point and HTTP server setup in the plugin's Docker environment. - Added new scripts for building and watching plugin changes in real-time. - Added a new script for building the project in watch mode for the API and UI components. - **Improvements** - Streamlined the plugin installation process and refined release workflows for a more reliable user experience. - Enhanced overall CI/CD pipelines to ensure efficient, production-ready deployments. - Updated artifact upload paths and job definitions for clarity and efficiency. - Implemented new utility functions for better URL management and changelog generation. - Modified the `.dockerignore` file to ignore all contents within the `node_modules` directory. - Added new constants and functions for managing plugin paths and configurations. - Updated the build process in the Dockerfile to focus on release operations. - **Tests** - Expanded automated testing to validate environment setups and build stability, ensuring higher reliability during updates. - Introduced new test suites for validating plugin environment setups and configurations. - Added tests for validating environment variables and handling of manifest files. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Datelle <mdatelle@icloud.com> Co-authored-by: mdatelle <mike@datelle.net> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Pujit Mehrotra <pujit@lime-technology.com>
45 lines
1.1 KiB
Docker
45 lines
1.1 KiB
Docker
###########################################################
|
|
# Development/Build Image
|
|
###########################################################
|
|
FROM node:22-bookworm-slim AS development
|
|
|
|
# Install build tools and dependencies
|
|
RUN apt-get update -y && apt-get install -y \
|
|
bash \
|
|
# Real PS Command (needed for some dependencies)
|
|
procps \
|
|
python3 \
|
|
libvirt-dev \
|
|
jq \
|
|
zstd \
|
|
git \
|
|
build-essential
|
|
|
|
WORKDIR /app
|
|
|
|
# Set app env
|
|
ENV NODE_ENV=development
|
|
ENV PNPM_HOME="/pnpm"
|
|
ENV PATH="$PNPM_HOME:$PATH"
|
|
|
|
# Install pnpm
|
|
RUN corepack enable && corepack prepare pnpm@8.15.4 --activate && npm i -g npm@latest
|
|
|
|
COPY tsconfig.json .eslintrc.ts .prettierrc.cjs .npmrc .env.production .env.staging package.json pnpm-lock.yaml .npmrc ./
|
|
|
|
# Install deps
|
|
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
|
|
|
|
EXPOSE 3001
|
|
|
|
###########################################################
|
|
# Builder Image
|
|
###########################################################
|
|
|
|
FROM development AS builder
|
|
|
|
ENV NODE_ENV=production
|
|
|
|
COPY . .
|
|
|
|
CMD ["pnpm", "run", "build:release"] |