You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
3 months ago | |
|---|---|---|
| .. | ||
| README.md | 3 months ago | |
| auto-boot-ollama-host.lua | 3 months ago | |
| config.lua | 3 months ago | |
| network.lua | 3 months ago | |
| ollama_manager.lua | 3 months ago | |
| session_check.lua | 3 months ago | |
| ssh.lua | 3 months ago | |
| utils.lua | 3 months ago | |
README.md
Auto-Boot Ollama Host
This directory contains the auto-boot-ollama-host script, organized into multiple modules for better maintainability and structure.
File Structure
Main Script
auto-boot-ollama-host.lua- Main script that orchestrates all functionality
Modules
config.lua
Handles all environment variable configuration with sensible defaults:
- Docker configuration (container name, since time)
- Ollama service configuration (host, port)
- SSH configuration (port, user, identity file)
- Pattern configuration (error and finish patterns)
- Wake-on-LAN configuration
utils.lua
Provides utility functions:
log(msg)- Timestamped logginggetenv(name, def)- Environment variable with default
network.lua
Network-related functionality:
port_is_up(host, port, timeout)- Check if TCP port is accessiblesend_wol(mac, bcast_ip, port)- Send Wake-on-LAN magic packet
ssh.lua
SSH command execution:
execute(command, user, host, port, identity_file)- Execute remote SSH commandexecute_with_output(command, user, host, port, identity_file)- Execute SSH command and return output
ollama_manager.lua
Ollama service management:
start_service(config)- Start Ollama service via SSHstop_service_and_shutdown(config)- Stop service and shutdown host
session_check.lua
Windows desktop session detection:
is_user_logged_in_enhanced(config)- Check if user is logged into desktop session
Benefits of Modular Structure
- Separation of Concerns: Each module has a single responsibility
- Reusability: Modules can be reused in other projects
- Testability: Individual modules can be unit tested
- Maintainability: Easier to locate and modify specific functionality
- Readability: Clear structure and organization
- Configuration: Centralized configuration management
New Features
Desktop Session Detection
The script includes Windows desktop session detection:
- Checks if the SSH_USER is currently logged into a Windows desktop session
- If user is logged in, skips Ollama startup/shutdown to avoid interruption
- If user is not logged in, proceeds with normal operation
Usage
To use the script, simply run:
lua auto-boot-ollama-host.lua
The script provides a modular structure for better maintainability while maintaining all functionality.