Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6f6caf3c5a | ||
|
|
5e648002f0 |
@@ -146,5 +146,5 @@ For detailed technical documentation, see the [Project Architecture](../PROJECT_
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Version:** v1.8.0
|
**Version:** v1.8.2
|
||||||
**Last Updated:** 2026-04-13
|
**Last Updated:** 2026-04-13
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version": "1.8.0",
|
"version": "1.8.2",
|
||||||
"last_build": "2026-04-13-1925",
|
"last_build": "2026-04-13-1939",
|
||||||
"codename": "ConfigSync"
|
"codename": "ConfigSync"
|
||||||
}
|
}
|
||||||
@@ -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.
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ rsync -a --exclude '__pycache__' --exclude '.pytest_cache' --exclude '.venv' --e
|
|||||||
# Orchestration, Config & Scripts
|
# Orchestration, Config & 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/"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user