PSA/ee/setup/Dockerfile.dev
Hermes 284313f908
Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

64 lines
1.8 KiB
Docker

FROM node:latest
WORKDIR /app/setup
# Install database clients and utilities (including development tools)
RUN apt-get update && apt-get install -y \
postgresql-client \
sqlite3 \
curl \
vim \
nano \
&& rm -rf /var/lib/apt/lists/*
# Copy setup files
COPY setup/entrypoint.sh ./
COPY setup/config.ini ./config.ini
COPY ee/setup/entrypoint.sh ./ee-entrypoint.sh
COPY ee/setup/config.ini ./ee-config.ini
# Copy server files
COPY package.json package-lock.json /app/
COPY server/package.json /app/server/
COPY shared/package.json /app/shared/
COPY ee/server/package.json /app/ee/server/
# Copy source code needed for migrations/seeds
COPY shared /app/shared
COPY packages /app/packages
COPY server/setup/create_database.js /app/server/setup/
COPY server/knexfile.cjs /app/server/
COPY server/migrations /app/server/migrations-ce
COPY server/seeds /app/server/seeds-ce
# Copy EE-specific migrations/seeds
COPY ee/server/migrations /app/server/migrations-ee
COPY ee/server/seeds /app/server/seeds-ee
# Make entrypoint scripts executable
RUN chmod +x ./entrypoint.sh
RUN chmod +x ./ee-entrypoint.sh
WORKDIR /app
COPY server/src/invoice-templates/assemblyscript ./server/src/invoice-templates/assemblyscript
# Install dependencies (including dev dependencies for development)
WORKDIR /app
RUN npm config set legacy-peer-deps true
WORKDIR /app/server
RUN npm install --no-optional
RUN npm install -g knex nodemon
RUN npm install pg knex dotenv pg-boss
# Install pg-boss in setup directory
WORKDIR /app/setup
RUN npm init -y && npm install pg-boss nodemon
# Add type:module to package.json for ES modules support
RUN node -e "const pkg=require('./package.json'); pkg.type='module'; require('fs').writeFileSync('package.json', JSON.stringify(pkg, null, 2))"
WORKDIR /app/setup
# Set the EE entrypoint script for development
ENTRYPOINT ["./ee-entrypoint.sh"]