19 Commits

Author SHA1 Message Date
Yury Kossakovsky
6a1301bfc0 fix(docker): respect docker-compose.override.yml for user customizations (#44)
all compose file assembly points now include the override file last
when present, giving it highest precedence over other compose files
2026-02-27 19:05:50 -07:00
Yury Kossakovsky
58799d9ae1 refactor(compose): centralize external compose file handling
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.
2025-12-29 13:06:03 -07:00
Yury Kossakovsky
944844871a refactor: rename postgresus to databasus
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.
2025-12-28 11:00:07 -07:00
Yury Kossakovsky
9b252a1287 refactor(update): replace git pull with fetch + reset for reliable sync
extract git utilities into scripts/git.sh module. this approach handles
accidental local commits that would cause rebase conflicts during updates.
2025-12-26 09:29:53 -07:00
Yury Kossakovsky
8b08442815 refactor: extract telemetry and database modules
- 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
2025-12-25 18:22:05 -07:00
Yury Kossakovsky
a1521f8a48 feat: add error telemetry with stage tracking
sends minimal data to scarf on install/update failures:
event type, stage, exit_code. uses err trap in orchestrator
scripts. respects existing opt-out settings.
2025-12-25 18:22:05 -07:00
Yury Kossakovsky
ffca8693f7 feat: add anonymous telemetry via scarf
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.
2025-12-25 16:32:32 -07:00
Yury Kossakovsky
20106f21f8 feat: fix file ownership after sudo installation
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
2025-12-16 16:07:08 -07:00
Yury Kossakovsky
e14288611e style(wizard): switch whiptail theme to solarized dark 2025-12-13 09:43:29 -07:00
Yury Kossakovsky
eb119e67bf fix(update): redirect backup logs to stderr
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.
2025-12-13 09:37:11 -07:00
Yury Kossakovsky
7711fdbf89 feat(update): preserve user directories during git reset
backup and restore user-customizable directories (like python-runner/)
during update to prevent data loss from git reset --hard

closes #22
2025-12-13 09:21:14 -07:00
Yury Kossakovsky
f84a15e305 chore: make scripts executable 2025-12-12 18:39:02 -07:00
Yury Kossakovsky
f3c2754a85 style(wizard): unify whiptail theme to green-only supabase palette 2025-12-12 16:32:11 -07:00
Yury Kossakovsky
04e70cee2d refactor(utils): improve whiptail dialogs and logging utilities
- 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
2025-12-12 13:43:20 -07:00
Yury Kossakovsky
0b0bcbdc80 style: add blank line before all log output 2025-12-12 10:14:27 -07:00
Yury Kossakovsky
7645c02562 fix: ensure_file_exists returns 0 when file exists 2025-12-12 10:02:54 -07:00
Yury Kossakovsky
e0018f2b2d refactor: consolidate shared utilities and add script documentation
- move common functions to utils.sh: init_paths, read_env_var, write_env_var,
  is_profile_active, load_env, gen_password, gen_hex, gen_base64, generate_bcrypt_hash
- add documentation headers to all installation scripts
- replace duplicate code with shared utility calls
- consolidate bcrypt hash generation loop in 03_generate_secrets.sh
- add DEBIAN_FRONTEND save/restore helpers for whiptail scripts
- standardize path initialization across all scripts
2025-12-12 09:58:12 -07:00
Yury Kossakovsky
4d65382e92 Refactor user input prompts in scripts to use whiptail for better UX
- Replaced standard input prompts with whiptail dialogs in 03_generate_secrets.sh and 05_configure_services.sh for domain, email, OpenAI API key, and n8n worker count.
- Added validation messages using whiptail for empty inputs and invalid formats.
- Introduced new utility functions in utils.sh for whiptail integration, ensuring the script checks for whiptail availability.
2025-09-17 14:15:12 -06:00
Yury Kossakovsky
448a34f959 Add installation and setup scripts for automated environment configuration
- Introduced a series of scripts to automate system preparation, Docker installation, secret generation, service execution, and final reporting.
- Implemented logging functions for better visibility during script execution.
- Ensured checks for required files and user inputs to enhance robustness.
- Added functionality for managing Docker services and generating a comprehensive installation summary.
2025-05-05 13:56:24 -06:00