- change gost username from email to fixed 'gost' to avoid @ symbol
breaking proxy url parsing
- fix healthcheck to make real proxy request to httpbin.org instead of
invalid spider request to proxy port
- increase healthcheck interval to 60s and timeout to 15s
gost now always requires an external upstream proxy to function.
wizard prompts for upstream proxy url when gost is selected.
if no upstream provided, gost is removed from selection.
- add gost http/https proxy service with authentication
- create x-proxy-env anchor for shared proxy configuration
- apply proxy settings to ai services (n8n, flowise, langfuse, etc.)
- add gost to wizard, welcome page, and final report
- generate gost credentials and proxy url in secrets script
- use wget healthcheck compatible with alpine-based gost image
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.
on minimal ubuntu installations (especially cloud vps), the universe
repository may be disabled by default, causing apt to fail installing
packages like fail2ban and python3-dotenv which are only available in
universe. this adds software-properties-common and enables universe
before installing packages.
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
log_info/log_error were writing to stdout, which corrupted the
backup path returned by backup_preserved_dirs() via command
substitution. this caused restore to fail silently.
- remove min-height from card headers for natural sizing
- remove duplicate postgres credentials from postgresus card
- consolidate python-runner info into single multiline note
- add spacing between credential rows and support for line breaks
- move extra info from header to bottom section with credentials
- display links (docs, dashboard, admin, ui) as compact "Link" buttons
- move password toggle button to left of masked value
- add python runner mount/entry info to data generation
- remove redundant postgresus note
- reduce vertical spacing in bottom section
- add official brand colors for all services
- add documentation urls with clickable icons
- fix responsive layout on mobile devices
- deduplicate quick start steps for postgresus
- show internal urls in card header to avoid duplication
- add adaptive terminal sizing for all whiptail dialogs (wt_get_size)
- add new wrapper functions: wt_checklist, wt_radiolist, wt_menu
- add safe parser wt_parse_choices to replace eval
- improve NEWT_COLORS theme with better contrast (brightgreen/brightcyan)
- add new logging functions: log_header, log_subheader, log_divider, log_box
- add spinner animation utilities for progress indication
- expand color palette with bright variants and text styles
- update 04_wizard.sh to use new whiptail wrappers
- remove quick start mode from wizard, always show service selection
- add --wait flag to docker compose up for proper sequencing
- remove hardcoded time.sleep delays in favor of --wait
- clean up unused imports
- fix password reveal button not working (add preventDefault)
- update n8n and flowise to show "create account on first login"
- change redis internal info to combined host:port format
- add dynamic quick_start array based on active profiles
- rename "make commands" section to "useful commands"
- fix json generation bug in generate_welcome_page.sh (missing commas)
- add supabase-style dark theme with green accents (#3ECF8E)
- add make commands section to welcome page
- move make commands from final report to welcome page
- make next steps conditional based on active profiles
- update poweredby to yury kossakovsky
- format generated json with proper indentation for readability
replace terminal-based final report with web-based welcome page that
displays service credentials, hostnames, and quick start guide.
- add welcome/index.html with tailwind css and dark mode support
- add welcome/app.js with service metadata and password toggle/copy
- add scripts/generate_welcome_page.sh to generate data.json from env
- simplify 07_final_report.sh to show welcome page url and make commands
- add welcome page basic auth credentials to caddy and secret generation
- update add-new-service documentation with new welcome page steps
- add make doctor command for system diagnostics (dns, ssl, containers, disk, memory)
- add make update-preview for dry-run update checks without applying changes
- add service groups to wizard with quick start pack (n8n + monitoring + postgresus + portainer)
- add make switch-beta and switch-stable commands for branch switching
- update readme with organized commands table
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
- fix quote parsing in N8N_WORKER_COUNT from .env
- remove unused N8N_RUNNER_COUNT references
- parameterize n8n version for both n8n and runner images
- add healthchecks to n8n main and worker services
update CLAUDE.md with sidecar pattern details including dynamic
generation, network mode, and scaling instructions. add worker
count and architecture info to final installation report.
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.
replace replicated workers/runners with dynamically generated 1:1
worker-runner pairs where each runner connects to its worker via
localhost (network_mode: service). this improves task routing by
ensuring each worker has dedicated runner capacity.
add generate_n8n_workers.sh script to create docker-compose.n8n-workers.yml
upgrade n8n from 1.123.3 to 2.0.0-rc.4 with external task runners for
Code node execution. task runners handle javascript and python code
execution in isolated containers with configurable concurrency.
key changes:
- add n8n-runner service using n8nio/runners:2.0.0-rc.4
- configure runner auth token and broker communication
- add N8N_RUNNER_COUNT for scaling runner replicas
- move code node library config to runner container
- update binary data mode from filesystem to database
- add runner count prompt to installation wizard
add environment variables for vlm pipeline support (remote services,
model loading, device selection) and persistent cache volume. improve
final report with detailed vlm pipeline usage example showing how to
use ollama with granite3.2-vision model for document conversion.
- Updated the healthcheck command in docker-compose.yml for improved readability by formatting it as a list.
- Standardized the output for PostgreSQL host in 07_final_report.sh to remove environment variable references, ensuring consistent messaging.
- Updated the final report script to streamline the output for the Docling service by reorganizing the displayed information.
- Removed redundant lines and ensured that essential details such as API endpoints and user credentials are clearly presented.
- Modified the confirmation prompts in 03_generate_secrets.sh and 05_configure_services.sh to default to 'yes' for user actions regarding domain and email confirmation, as well as n8n worker updates. This change aims to streamline user interactions and reduce the need for repeated confirmations.
- Introduced Docling hostname and credentials in .env.example for environment setup.
- Updated Caddyfile to include reverse proxy configuration for the Docling service.
- Added Docling service definition in docker-compose.yml with necessary environment variables and health checks.
- Enhanced README.md to document Docling integration and access details.
- Updated scripts to generate Docling credentials and include them in the final report for user visibility.
- Created CLAUDE.md to provide comprehensive guidance on the n8n-install project, including architecture, key files, common commands, and service addition workflow.
- Deleted outdated workflow files: Local_RAG_AI_Agent_n8n_Workflow.json, Create_Google_Doc.json, Get_Postgres_Tables.json, Post_Message_to_Slack.json, and Summarize_Slack_Conversation.json to streamline the repository and remove unused resources.
- Updated final report script to reflect changes in user messaging.
- Modified the PostgreSQL image definition in docker-compose.yml to use a more robust syntax for the version variable.
- Added a TODO comment in docker-compose.yml to rename the volume for clarity in future updates.
- Simplified the service selection wizard in 04_wizard.sh by removing unnecessary dynamic sizing calculations.
- Changed PostgreSQL image version in docker-compose.yml to use the latest tag for improved compatibility.
- Enhanced the service selection wizard in 04_wizard.sh to dynamically adjust dialog size based on terminal dimensions, ensuring better usability.