mirror of
https://github.com/unraid/api.git
synced 2026-01-22 08:29:42 -06:00
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced enhanced project management scripts for building, testing, and deploying the monorepo. - Added an automated testing pipeline for improved reliability of the Libvirt functionality. - Provided a new plugin installation script that ensures thorough cleanup during removal. - **Improvements** - Updated container mappings and dependency configurations for more stable and efficient operations. - Refined web application settings and build commands for smoother performance. - Streamlined continuous integration workflows with optimized caching and dependency management. - Updated allowed origins in configuration for enhanced security. - **Chores/Refactor** - Removed outdated configuration files to simplify maintenance and enhance consistency. - Enhanced event listener management in the web application for better error handling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
45 lines
1.1 KiB
Docker
45 lines
1.1 KiB
Docker
###########################################################
|
|
# Development/Build Image
|
|
###########################################################
|
|
FROM node:20-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-and-pack"] |