Update Ollama configuration and add Open WebUI support
- Fix ollama module by removing invalid meta section - Update grey-area ollama service configuration: - Change host binding to 0.0.0.0 for external access - Remove invalid rsyslog configuration - Enable firewall access - Add Open WebUI module with proper configuration: - Integrate with Ollama API at localhost:11434 - Disable authentication for development - Open firewall on port 8080 - Successful test build of grey-area configuration
This commit is contained in:
parent
cf11d447f4
commit
2e62c6f3bf
4 changed files with 33 additions and 17 deletions
|
@ -25,6 +25,7 @@
|
|||
./services/audiobook.nix
|
||||
./services/forgejo.nix
|
||||
./services/ollama.nix
|
||||
../../modules/services/open-webui.nix
|
||||
];
|
||||
|
||||
# Swap zram
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
enable = true;
|
||||
|
||||
# Network configuration - localhost only for security by default
|
||||
host = "127.0.0.1";
|
||||
host = "0.0.0.0";
|
||||
port = 11434;
|
||||
|
||||
# Environment variables for optimal performance
|
||||
|
@ -74,11 +74,10 @@
|
|||
schedule = "weekly"; # Weekly backup is sufficient for models
|
||||
};
|
||||
|
||||
# Don't open firewall by default - use reverse proxy if external access needed
|
||||
openFirewall = false;
|
||||
openFirewall = true; # Set to true if you want to allow external access
|
||||
|
||||
# GPU acceleration (enable if grey-area has a compatible GPU)
|
||||
enableGpuAcceleration = false; # Set to true if NVIDIA/AMD GPU available
|
||||
#enableGpuAcceleration = false; # Set to true if NVIDIA/AMD GPU available
|
||||
};
|
||||
|
||||
# Create backup directory with proper permissions
|
||||
|
@ -139,13 +138,6 @@
|
|||
mode = "0755";
|
||||
};
|
||||
|
||||
# Add logging configuration to help with debugging
|
||||
services.rsyslog.extraConfig = ''
|
||||
# Ollama service logs
|
||||
if $programname == 'ollama' then /var/log/ollama.log
|
||||
& stop
|
||||
'';
|
||||
|
||||
# Firewall rule comments for documentation
|
||||
# To enable external access later, you would:
|
||||
# 1. Set services.homelab-ollama.openFirewall = true;
|
||||
|
|
|
@ -430,10 +430,4 @@ in {
|
|||
"d ${cfg.dataDir}/runners 0755 ${cfg.user} ${cfg.group} -"
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
maintainers = ["Geir Okkenhaug Jerstad"];
|
||||
description = "NixOS module for Ollama local LLM service";
|
||||
doc = ./ollama.md;
|
||||
};
|
||||
}
|
||||
|
|
29
modules/services/open-webui.nix
Normal file
29
modules/services/open-webui.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
# Open WebUI Service Configuration
|
||||
#
|
||||
# This module provides Open WebUI configuration for interacting with Ollama
|
||||
# Open WebUI provides a user-friendly web interface for local LLMs
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# Enable the built-in NixOS open-webui service
|
||||
services.open-webui = {
|
||||
enable = true;
|
||||
port = 8080;
|
||||
host = "0.0.0.0";
|
||||
|
||||
environment = {
|
||||
ANONYMIZED_TELEMETRY = "False";
|
||||
DO_NOT_TRACK = "True";
|
||||
SCARF_NO_ANALYTICS = "True";
|
||||
OLLAMA_API_BASE_URL = "http://127.0.0.1:11434";
|
||||
# Disable authentication for easier development access
|
||||
WEBUI_AUTH = "False";
|
||||
};
|
||||
};
|
||||
|
||||
# Open firewall for web interface
|
||||
networking.firewall.allowedTCPPorts = [ 8080 ];
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue