add build_compose_files_array() and getter functions for n8n-workers,
supabase, dify compose files in utils.sh. simplifies restart.sh and
apply_update.sh by using shared function. now checks both profile
activation AND file existence before including external compose files.
rebrand backup service following upstream project rename.
updates docker image to databasus/databasus:latest,
adds healthcheck, and includes cleanup function for
migration from old container name.
- create scripts/telemetry.sh with all telemetry functions
- rename init_databases.sh to databases.sh and convert to library
- remove code duplication in init_all_databases()
- update all scripts to source new modules
- update documentation references
collect basic usage statistics (install/update events, version, os, selected
services) to help improve the project. users can opt-out by setting
SCARF_ANALYTICS=false or DO_NOT_TRACK=1.
- start postgresql first, then run init_databases.sh, then other services
- add depends_on postgres for lightrag service
- remove unused nocodb from databases list
- document database initialization in add-new-service workflow
add init_databases.sh script that creates dedicated databases for
langfuse, lightrag, nocodb, postiz, and waha during install/update.
update connection strings to use service-specific databases instead
of sharing the default postgres database.
Some hosting providers (CLOUD.RU, etc.) reset file permissions during
updates, leaving .env and generated files owned by root. This prevents
normal users from reading configuration.
Now 08_fix_permissions.sh runs after each update to restore proper
ownership and permissions.
add step 8 to installation that restores file ownership to the invoking
user when running with sudo. also adds cleanup for legacy n8n worker
containers during updates.
- add 08_fix_permissions.sh script to detect real user and fix ownership
- add get_real_user() utility with multiple fallback detection methods
- add cleanup_legacy_n8n_workers() to remove old container naming format
- set restrictive permissions (600) on .env file for security
switching project name from 'localai' to directory-based naming would
cause users to lose all data stored in docker volumes (workflows,
databases, configs) since volumes are prefixed with project name
update configure services to call generate_n8n_workers.sh instead of
prompting for separate runner count. update start_services.py and
apply_update.sh to include docker-compose.n8n-workers.yml when present.
- Removed redundant prompts for OpenAI API key and Cloudflare Tunnel token in `03_generate_secrets.sh` and `04_wizard.sh`.
- Introduced `05_configure_services.sh` to handle service configuration and .env updates, improving clarity and maintainability.
- Enhanced user prompts for n8n worker count and workflow import settings, ensuring better user experience during configuration.
- Updated installation script to include the new configuration script, ensuring a cohesive setup process.
- Renamed and reorganized service scripts: `05_run_services.sh` is now `06_run_services.sh`, and `06_final_report.sh` is now `07_final_report.sh`.
- Updated references in documentation and other scripts to reflect the new script names.
- Enhanced the final report script to include access details for newly integrated services, ensuring comprehensive output for users.
- 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.
- 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.
- 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 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.
- 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.
- Standardized prompt formatting by removing unnecessary newline characters, enhancing clarity and consistency in user interactions.
- Updated prompts to ensure a more straightforward user experience during input collection, particularly for domain name, email, and n8n worker count inputs.
- Updated the user prompt to clarify the response options for importing n8n workflows, enhancing user understanding and interaction.
- Ensured consistency in prompt formatting across the script for improved user experience.
- Updated prompts to use printf for better formatting, ensuring dynamic inclusion of variable values in user messages.
- Improved user experience by making prompts clearer and more informative during input collection.
- Updated prompts to include newline characters for better readability, improving user experience during input collection.
- Ensured consistency in user interaction across scripts by standardizing prompt formatting.
- Simplified the user prompt for importing n8n workflows by removing the check for the RUN_N8N_IMPORT variable being true, allowing users to indicate if they have already imported the workflow.
- Retained the logic for modifying the RUN_N8N_IMPORT variable based on user input, ensuring flexibility in workflow management.
- Added a check to skip the import prompt if RUN_N8N_IMPORT is already set to true in the .env file, improving user experience by preventing unnecessary prompts.
- Retained the existing logic for modifying the RUN_N8N_IMPORT variable based on user input, ensuring flexibility in workflow management.
- Introduced a new script, apply_update.sh, to handle the update process, including stopping services, pulling the latest container versions, and modifying the .env file based on user input for n8n workflow import and worker count.
- Refactored update.sh to delegate the update tasks to apply_update.sh, improving code organization and maintainability.
- Enhanced error handling and logging throughout the update process for better user experience and troubleshooting.