diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 00000000..6e60e022 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# deploy.sh - Production Deployment Script for TFM aInventory +# Forces Docker Compose to use the inventory.env file for both host and container. + +echo "🐳 TFM aInventory - Starting Deployment..." + +# 1. Check for configuration file +if [ ! -f "inventory.env" ]; then + echo "❌ ERROR: inventory.env not found!" + echo "Please create it or use the template provided." + exit 1 +fi + +# 2. Source the env file for the current shell (helps some docker versions) +export $(grep -v '^#' inventory.env | xargs) + +# 3. Run Docker Compose with explicit env-file flag +echo "🚀 Building and starting containers..." +docker compose --env-file inventory.env up -d --build --remove-orphans + +echo "" +echo "✅ Deployment requested." +echo " Access URL: https://${SERVER_IP:-localhost}:${FRONTEND_SSL_PORT:-8919}" +echo " Run 'docker compose ps' to check status." +echo "" diff --git a/docker-compose.yml b/docker-compose.yml index 2628184a..f4b36600 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,7 +8,7 @@ services: ports: - ${BACKEND_PORT:-8000}:8000 env_file: - - .env + - inventory.env volumes: - ./data:/app/data - ./logs:/app/logs @@ -28,7 +28,7 @@ services: ports: - ${FRONTEND_PORT:-3000}:3000 env_file: - - .env + - inventory.env volumes: - ./logs:/app/logs # Write Next.js logs to both stdout (docker logs) and file (mapped volume) @@ -43,7 +43,7 @@ services: - ${BACKEND_SSL_PORT:-3002}:${BACKEND_SSL_PORT:-3002} - ${FRONTEND_SSL_PORT:-3003}:${FRONTEND_SSL_PORT:-3003} env_file: - - .env + - inventory.env volumes: - ./config/Caddyfile:/etc/caddy/Caddyfile # Persist the internal Caddy certificates so users don't get new certificate warnings constantly diff --git a/export_prod.sh b/export_prod.sh index 7543e8d7..659b6c5d 100755 --- a/export_prod.sh +++ b/export_prod.sh @@ -29,7 +29,7 @@ cp install_service.sh "$PROD_DIR/" cp inventory.service.template "$PROD_DIR/" cp USER_GUIDE.md "$PROD_DIR/" cp README.md "$PROD_DIR/INSTALLATION_GUIDE.md" -cp .env "$PROD_DIR/" +cp inventory.env "$PROD_DIR/" cp .git_path "$PROD_DIR/" 2>/dev/null || true cp frontend/VERSION.json "$PROD_DIR/" cp frontend/VERSION.json "$PROD_DIR/frontend/" diff --git a/frontend/VERSION.json b/frontend/VERSION.json index 98f26d10..b6f04e73 100644 --- a/frontend/VERSION.json +++ b/frontend/VERSION.json @@ -1 +1 @@ -{"version": "1.9.4", "last_build": "2026-04-13-2115", "codename": "SingleSource", "commit": "30be9678"} +{"version": "1.9.5", "last_build": "2026-04-13-2132", "codename": "Bulletproof", "commit": "a0eaddf9"} diff --git a/inventory.env b/inventory.env new file mode 100644 index 00000000..6f23e02c --- /dev/null +++ b/inventory.env @@ -0,0 +1,19 @@ +# ============================================================================= +# TFM aInventory - Docker Compose Environment +# ============================================================================= +# This file is used by Docker Compose for host-side port mapping. +# It should match the values in config/network_config.env +# ============================================================================= + +SERVER_IP=192.168.84.113 + +# Backend Ports +BACKEND_PORT=8916 +BACKEND_SSL_PORT=8918 + +# Frontend Ports +FRONTEND_PORT=8917 +FRONTEND_SSL_PORT=8919 + +# Security +JWT_SECRET_KEY=change_me_in_production diff --git a/run_standalone.sh b/run_standalone.sh index ae3e6ff9..89eb4e95 100755 --- a/run_standalone.sh +++ b/run_standalone.sh @@ -7,7 +7,7 @@ echo "🚀 Starting TFM aInventory in Standalone Mode..." # Trapping termination signals to clean up child processes trap "echo 'Stopping all processes...'; kill 0" SIGINT SIGTERM EXIT -# --- CONFIGURATION (Default values, overridden by network_config.env) --- +# --- CONFIGURATION (Default values, overridden by network_configinventory.env) --- BACKEND_PORT=8000 FRONTEND_PORT=3001 BACKEND_SSL_PORT=3002 @@ -15,7 +15,7 @@ FRONTEND_SSL_PORT=3003 SERVER_IP="localhost" # Load Configuration from file if it exists -CONFIG_PATH="$(cd "$(dirname "$0")" && pwd)/.env" +CONFIG_PATH="$(cd "$(dirname "$0")" && pwd)/inventory.env" if [ -f "$CONFIG_PATH" ]; then echo "⚙️ Loading network configuration from $CONFIG_PATH..." export $(grep -v '^#' "$CONFIG_PATH" | xargs) diff --git a/start_server.sh b/start_server.sh index 1ff20a5f..cc67474a 100755 --- a/start_server.sh +++ b/start_server.sh @@ -1,6 +1,6 @@ #!/bin/bash -# --- CONFIGURATION (Default values, will be overridden by network_config.env) --- +# --- CONFIGURATION (Default values, will be overridden by network_configinventory.env) --- BACKEND_PORT=8000 FRONTEND_PORT=3001 BACKEND_SSL_PORT=3002 @@ -8,10 +8,10 @@ FRONTEND_SSL_PORT=3003 SERVER_IP="localhost" # Load Configuration from file if it exists -CONFIG_PATH="$(cd "$(dirname "$0")" && pwd)/.env" +CONFIG_PATH="$(cd "$(dirname "$0")" && pwd)/inventory.env" if [ -f "$CONFIG_PATH" ]; then echo "⚙️ Loading network configuration from $CONFIG_PATH..." - # Export variables from .env file (ignoring comments and empty lines) + # Export variables from inventory.env file (ignoring comments and empty lines) export $(grep -v '^#' "$CONFIG_PATH" | xargs) fi