Compare commits

..

3 Commits

Author SHA1 Message Date
Daniel Bedeleanu
939ad8648d Build [v1.8.3] (Explicit directory creation in bundle) 2026-04-13 19:39:33 +03:00
Daniel Bedeleanu
6f6caf3c5a Build [v1.8.2] (Fix missing scripts in bundle) 2026-04-13 19:38:11 +03:00
Daniel Bedeleanu
5e648002f0 Build [v1.8.1] (Fix Docker Context) 2026-04-13 19:36:06 +03:00
6 changed files with 15 additions and 15 deletions

View File

@@ -146,5 +146,5 @@ For detailed technical documentation, see the [Project Architecture](../PROJECT_
--- ---
**Version:** v1.8.0 **Version:** v1.8.3
**Last Updated:** 2026-04-13 **Last Updated:** 2026-04-13

View File

@@ -1,5 +1,5 @@
{ {
"version": "1.8.0", "version": "1.8.3",
"last_build": "2026-04-13-1925", "last_build": "2026-04-13-1941",
"codename": "ConfigSync" "codename": "ConfigSync"
} }

View File

@@ -59,7 +59,7 @@
**LDAP config:** `config/ldap_config.json` **LDAP config:** `config/ldap_config.json`
**Network config:** `config/network_config.env` **Network config:** `config/network_config.env`
**Proxy config:** `config/Caddyfile` **Proxy config:** `config/Caddyfile`
**Production Bundle:** `aInventory-PROD-v1.6.0.zip` (BoxMaster Final) **Production Bundle:** `aInventory-PROD-v1.8.0.zip` (ConfigSync Final)
> [!IMPORTANT] > [!IMPORTANT]
> **Git Access Fix**: The `xcode-select` breakage is bypassed by using the direct binary path: `/Library/Developer/CommandLineTools/usr/bin/git` (stored in `.git_path`). **DO NOT change this path.** Operations now work correctly via this direct link. > **Git Access Fix**: The `xcode-select` breakage is bypassed by using the direct binary path: `/Library/Developer/CommandLineTools/usr/bin/git` (stored in `.git_path`). **DO NOT change this path.** Operations now work correctly via this direct link.

View File

@@ -1,5 +1,3 @@
version: '3.8'
services: services:
backend: backend:
build: build:
@@ -8,7 +6,7 @@ services:
networks: networks:
- inventory_net - inventory_net
ports: ports:
- "${BACKEND_PORT:-8000}:8000" - ${BACKEND_PORT:-8000}:8000
env_file: env_file:
- ./config/network_config.env - ./config/network_config.env
volumes: volumes:
@@ -18,10 +16,9 @@ services:
environment: environment:
- DATA_DIR=/app/data - DATA_DIR=/app/data
- LOGS_DIR=/app/logs - LOGS_DIR=/app/logs
# [M-01] CORS allowed origins — dynamically constructed from config
- ALLOWED_ORIGINS=http://localhost:${FRONTEND_PORT:-3001},https://localhost:${FRONTEND_SSL_PORT:-3003},http://${SERVER_IP:-localhost}:${FRONTEND_PORT:-3001},https://${SERVER_IP:-localhost}:${FRONTEND_SSL_PORT:-3003},https://localhost:${BACKEND_SSL_PORT:-3002},https://${SERVER_IP:-localhost}:${BACKEND_SSL_PORT:-3002} - ALLOWED_ORIGINS=http://localhost:${FRONTEND_PORT:-3001},https://localhost:${FRONTEND_SSL_PORT:-3003},http://${SERVER_IP:-localhost}:${FRONTEND_PORT:-3001},https://${SERVER_IP:-localhost}:${FRONTEND_SSL_PORT:-3003},https://localhost:${BACKEND_SSL_PORT:-3002},https://${SERVER_IP:-localhost}:${BACKEND_SSL_PORT:-3002}
# [C-01] JWT secret key — GENERATE A SECURE VALUE FOR PRODUCTION! # [C-01] JWT secret key — GENERATE A SECURE VALUE FOR PRODUCTION!
- JWT_SECRET_KEY=${JWT_SECRET_KEY:-change-me-in-production} - JWT_SECRET_KEY=${JWT_SECRET_KEY:-change_me_in_production}
restart: unless-stopped restart: unless-stopped
frontend: frontend:
@@ -31,7 +28,7 @@ services:
networks: networks:
- inventory_net - inventory_net
ports: ports:
- "${FRONTEND_PORT:-3000}:3000" - ${FRONTEND_PORT:-3000}:3000
env_file: env_file:
- ./config/network_config.env - ./config/network_config.env
volumes: volumes:
@@ -45,8 +42,8 @@ services:
networks: networks:
- inventory_net - inventory_net
ports: ports:
- "${BACKEND_SSL_PORT:-3002}:${BACKEND_SSL_PORT:-3002}" - ${BACKEND_SSL_PORT:-3002}:${BACKEND_SSL_PORT:-3002}
- "${FRONTEND_SSL_PORT:-3003}:${FRONTEND_SSL_PORT:-3003}" - ${FRONTEND_SSL_PORT:-3003}:${FRONTEND_SSL_PORT:-3003}
env_file: env_file:
- ./config/network_config.env - ./config/network_config.env
volumes: volumes:

View File

@@ -19,8 +19,10 @@ rsync -a --exclude 'node_modules' --exclude '.next' frontend/ "$PROD_DIR/fronten
rsync -a --exclude '__pycache__' --exclude '.pytest_cache' --exclude '.venv' --exclude 'tests' backend/ "$PROD_DIR/backend/" rsync -a --exclude '__pycache__' --exclude '.pytest_cache' --exclude '.venv' --exclude 'tests' backend/ "$PROD_DIR/backend/"
# Orchestration, Config & Scripts # Orchestration, Config & Scripts
mkdir -p "$PROD_DIR/config" "$PROD_DIR/scripts"
cp docker-compose.yml "$PROD_DIR/" cp docker-compose.yml "$PROD_DIR/"
rsync -a config/ "$PROD_DIR/config/" rsync -a config/ "$PROD_DIR/config/"
rsync -a scripts/ "$PROD_DIR/scripts/"
cp start_server.sh "$PROD_DIR/" cp start_server.sh "$PROD_DIR/"
cp run_standalone.sh "$PROD_DIR/" cp run_standalone.sh "$PROD_DIR/"
cp install_service.sh "$PROD_DIR/" cp install_service.sh "$PROD_DIR/"

View File

@@ -4,15 +4,16 @@ FROM node:20-alpine AS base
FROM base AS deps FROM base AS deps
RUN apk add --no-cache libc6-compat RUN apk add --no-cache libc6-compat
WORKDIR /app WORKDIR /app
# We run this from the frontend folder context # Context is root to allow access to VERSION.json
COPY package.json package-lock.json* ./ COPY frontend/package.json frontend/package-lock.json* ./
RUN npm ci RUN npm ci
# Step 2: Build the source code # Step 2: Build the source code
FROM base AS builder FROM base AS builder
WORKDIR /app WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules COPY --from=deps /app/node_modules ./node_modules
COPY . . COPY frontend .
COPY VERSION.json .
# Disable telemetry during build # Disable telemetry during build
ENV NEXT_TELEMETRY_DISABLED 1 ENV NEXT_TELEMETRY_DISABLED 1
RUN npm run build RUN npm run build