- Removed Gotenberg configuration from .env.example and docker-compose.yml to restrict external access.
- Updated Caddyfile to eliminate reverse proxy settings for Gotenberg.
- Revised README.md to clarify that Gotenberg is now accessible only within the Docker network.
- Enhanced final report script to include internal access details and API documentation for Gotenberg.
- Integrated Gotenberg, a document conversion API, as an optional service in the n8n-installer project.
- Updated docker-compose.yml to include Gotenberg service configuration with health checks and environment variables.
- Configured Caddy reverse proxy for Gotenberg, ensuring proper routing and SSL support.
- Enhanced service selection wizard to allow users to choose Gotenberg during setup.
- Updated .env.example and README.md to reflect the new service, including usage examples and access details.
- Comprehensive testing and validation phase pending to ensure full functionality.
- Added error handling with 'set -e' to ensure the script exits on errors.
- Integrated logging functions for starting and completing the Docker cleanup process, improving visibility and tracking of script execution.
- Introduced a new script, docker_cleanup.sh, for cleaning up unused Docker containers, images, and volumes to free up disk space.
- Updated README.md to include instructions for using the Docker cleanup script, emphasizing its utility and caution regarding data removal.
- Implemented a check to update Ubuntu packages using apt-get before executing the apply_update process. This ensures the system is up-to-date, enhancing the overall update procedure. Added logging for successful updates and warnings for non-Debian systems.
- Introduced a new function, get_all_profiles, to extract profile names from the docker-compose.yml file.
- Updated the stop_existing_containers function to include all profiles when stopping services, ensuring a comprehensive shutdown of all relevant containers.
- Added the yaml module to handle YAML file parsing.
- Updated system preparation script to install python3-yaml package for YAML support.
- Added output for Qdrant host and API key in the final report script to improve visibility of configuration details.
- Ensured default values are displayed when environment variables are not set, aiding in troubleshooting and setup clarity.
- Introduced QDRANT_API_KEY and QDRANT_HOSTNAME to .env.example for required configuration.
- Updated Caddyfile to include reverse proxy settings for Qdrant service.
- Modified docker-compose.yml to set QDRANT__SERVICE__API_KEY environment variable and adjusted service hostname.
- Enhanced secret generation script to include QDRANT_API_KEY for better integration.
- Changed LOGFLARE_PRIVATE_ACCESS_TOKEN and LOGFLARE_PUBLIC_ACCESS_TOKEN to indicate "not-in-use" status, clarifying their role in the script.
- Enhanced logic to only pre-populate generated values with non-empty entries from existing environment variables, improving the handling of user inputs during secret generation.
- Introduced LOGFLARE_PRIVATE_ACCESS_TOKEN and LOGFLARE_PUBLIC_ACCESS_TOKEN to the secret generation script, allowing for better integration with Supabase.
- Updated logic to preserve empty values from existing environment variables, ensuring comprehensive handling of user inputs during secret generation.
- Removed the RUN_N8N_IMPORT_COMPLETE variable from .env.example and the associated logic in 03_generate_secrets.sh to simplify the import process for n8n workflows.
- Streamlined user prompts for importing workflows, ensuring a more straightforward decision-making process during script execution.
- Included the monitoring service entry in the base_services_data array of 04_wizard.sh, enhancing the service orchestration options available to users.
- Removed the duplicate entry for the monitoring service to streamline the configuration.
- Updated the logic in 03_generate_secrets.sh to clarify the conditions under which the n8n import decision is made.
- Ensured that the import status is always marked as complete for future runs after user interaction, improving the script's usability and consistency.
- Updated the output in 06_final_report.sh to provide clearer information about Neo4j configuration, including Web UI host, Bolt port, and HTTP API access details.
- Improved formatting for better readability and user guidance on authentication and API usage.
- Added conditional checks to ensure prompts for user email and OpenAI API key are only displayed if the respective environment variables are not set, improving user experience and preventing unnecessary input requests.
- Added a null command to the 'then' block of the OpenAI API Key check in 03_generate_secrets.sh to prevent syntax errors and improve script stability.
- Removed unnecessary log_info statements in 03_generate_secrets.sh to reduce clutter and improve readability.
- Updated 04_wizard.sh by removing a log_info statement related to setting COMPOSE_PROFILES, streamlining the output during configuration.
- Eliminated WEAVIATE_PASSWORD and WEAVIATE_PASSWORD_HASH from .env.example, Caddyfile, Docker Compose, and the secret generation script to enhance security by avoiding plaintext password exposure.
- Updated related scripts to reflect the removal of Weaviate password management, ensuring a streamlined configuration.
- Introduced NEO4J_AUTH_USERNAME variable to manage Neo4j username in the secret generation process.
- Updated user input variable list and logic to accommodate the new username variable, ensuring proper handling in the .env file.
- Introduced _update_or_add_env_var function to streamline updating or adding variables in the .env file.
- Added _generate_and_get_hash function to handle password hashing using Caddy, improving security for sensitive data.
- Refactored logic for generating and storing password hashes for Prometheus, SearXNG, and Weaviate, ensuring consistent handling and updates in the .env file.
- Moved the declaration of the generated_values associative array to a more appropriate location in 03_generate_secrets.sh for better organization.
- Removed redundant declaration of generated_values to streamline the script's logic and enhance readability.
- Added RUN_N8N_IMPORT_COMPLETE variable to .env.example to track the completion status of n8n workflow imports.
- Updated 03_generate_secrets.sh to manage user prompts for importing workflows and preserve the import status across sessions.
- Refined the logic for determining whether to prompt the user for importing workflows based on previous completion status.
- Added USER_DOMAIN_NAME variable to .env.example for user-defined domain configuration.
- Updated 03_generate_secrets.sh to improve domain input handling, including validation and user prompts.
- Simplified the process of retrieving and confirming the primary domain name for services.
- Removed redundant log message in 04_wizard.sh related to COMPOSE_PROFILES.
- Updated success messages in apply_update.sh for improved readability and conciseness.
- Added COMPOSE_PROFILES variable to .env.example for better service profile management.
- Enhanced logging in 04_wizard.sh to provide clearer information on the read COMPOSE_PROFILES value.
- Updated apply_update.sh to improve success messages and removed redundant service stopping logic for clarity.
- Added Weaviate username and password hash environment variables to docker-compose.yml for improved security and configuration.
- Updated 03_generate_secrets.sh to better handle existing environment variables and ensure proper initialization of the .env file.
- Set default Neo4j username in .env.example for easier configuration.
- Removed dynamic assignment of Neo4j username in 03_generate_secrets.sh to streamline secret generation.
- Updated user input variable list to reflect the changes in Neo4j username handling.
- Added Weaviate username, password, and API key placeholders to .env.example.
- Updated Caddyfile to include Prometheus reverse proxy settings.
- Enhanced docker-compose.yml with health checks and ulimits for Neo4j service.
- Modified scripts to include Neo4j in the service selection and final report outputs.
- Introduced Neo4j service in docker-compose.yml with necessary environment variables and volume mappings.
- Updated Caddyfile to include reverse proxy settings for Neo4j.
- Enhanced .env.example to include placeholders for Neo4j username and password.
- Modified README.md to document Neo4j integration and access details.
- Added .cursorignore file to specify files and directories to ignore during indexing.
- Introduced logic to infer the current domain from N8N_HOSTNAME or SUPABASE_HOSTNAME for user prompts in 03_generate_secrets.sh.
- Improved user prompts to display the current domain as a default suggestion, enhancing user experience.
- Updated apply_update.sh to ensure the .env file is checked and updated by calling 03_generate_secrets.sh during the update process.
- Introduced Weaviate service in docker-compose.yml with necessary environment variables and health checks.
- Updated Caddyfile to include reverse proxy settings for Weaviate with basic authentication.
- Enhanced README.md to document Weaviate's integration and access details.
- Modified scripts to generate secrets for Weaviate, including username and password handling.
- Updated final report script to display Weaviate configuration details for user clarity.
- Eliminated unnecessary log_info statements in 03_generate_secrets.sh, 06_final_report.sh, and apply_update.sh to streamline output and enhance readability.
- Adjusted echo statements in 06_final_report.sh to maintain focus on essential information without clutter.
- Enhanced user feedback by replacing echo statements with log_info and log_error for better consistency in logging.
- Added empty echo statements before user prompts in 03_generate_secrets.sh to improve readability.
- Removed unnecessary log messages related to Caddy installation and uninstallation in 03_generate_secrets.sh.
- Updated 04_wizard.sh to include utility sourcing and improved logging for service selection and profile updates.
- Streamlined apply_update.sh by removing redundant log messages regarding Supabase compose file checks.
- Removed comments for gRPC and HTTP REST API ports in docker-compose.yml to simplify the configuration.
- Corrected the internal REST API access message in final_report.sh to reflect the updated port usage, ensuring clarity in service access instructions.
- Removed detailed PostgreSQL connection information to streamline output.
- Added Service Role Secret to provide necessary context for Supabase configuration.
- Improved overall readability of the Supabase section in the final report.
- Removed redundant service selection wizard invocation from the pull section, ensuring it runs first to update service choices.
- Enhanced logging messages for clarity regarding the Supabase compose file inclusion and Docker image pulling.
- Improved error handling for the service selection wizard failure, preventing continuation of the update process if it fails.
- Updated the is_supabase_enabled function to read COMPOSE_PROFILES from the .env file instead of os.environ, improving clarity.
- Simplified the run_command function by removing the unused env parameter.
- Refined the stop_existing_containers function to streamline the shutdown process for the 'localai' project, conditionally including the Supabase compose file.
- Enhanced logging for better user feedback during service management operations.
- Adjusted the scripts for generating secrets and applying updates to improve clarity and functionality.
- Moved the installation summary logging from 06_final_report.sh to install.sh to ensure it is displayed immediately after the installation steps.
- Improved the organization of the final report generation process by consolidating related logging functionality.
- Enhanced user visibility of installation steps performed during the setup process.
- Implemented a final report display feature in apply_update.sh to show service credentials post-update.
- Added error handling to log a warning if the final report fails to display, ensuring the update process remains unaffected.
- Enhanced user experience by providing a summary of service credentials after a successful update.
- Updated the service selection logic in 04_wizard.sh to dynamically populate available services based on current COMPOSE_PROFILES from the .env file.
- Enhanced the Ollama hardware profile selection to reflect user choices and defaults based on existing profiles.
- Integrated the service selection wizard into apply_update.sh to streamline the update process and ensure user-defined service configurations are applied.
- Improved user prompts and handling for service choices, enhancing overall configuration experience.
- Added logic to determine the N8N_WORKFLOWS_IMPORTED_EVER variable based on existing environment values and user input.
- Updated the apply_update.sh script to check if workflows have been imported previously, modifying the RUN_N8N_IMPORT and N8N_WORKFLOWS_IMPORTED_EVER variables accordingly.
- Improved user prompts for importing n8n workflows, ensuring a smoother configuration experience.
- Enhanced the final report script to include details for a standalone PostgreSQL instance used by n8n and Langfuse.
- Added Ollama service information for internal access based on active profiles.
- Clarified the distinction between Supabase's internal PostgreSQL and the standalone instance for better user understanding.
- Introduced Ollama service with CPU and GPU profiles in docker-compose.yml, allowing users to run large language models locally.
- Added Ollama selection option in the wizard script for hardware profile configuration.
- Updated README.md to include Ollama as a new available service.
- Adjusted .env.example to include GRAFANA_HOSTNAME in the correct position.
- Added a check to prevent duplicate entries when appending environment variables to TMP_ENV_FILE, ensuring cleaner and more efficient script execution.
- Moved the sourcing of the utilities file to the beginning of the script for better organization and clarity.
- Removed redundant sourcing of the utilities file from the middle of the script.
- Added logic to detect and correct nested n8n-installer directory structures.
- Included re-execution of the install script from the corrected path to ensure proper script execution and path resolution.
- Added Letta service to docker-compose.yml with necessary environment variables and volume configuration.
- Updated Caddyfile to include reverse proxy for Letta.
- Included Letta in the README.md for service availability and provided a brief description.
- Enhanced scripts to generate Letta server password and report its status in the final report.
- Updated .env.example to include Letta hostname and server password variable.