{"id":49778878,"url":"https://github.com/coayo-x/local-ai-chatbot-guide","last_synced_at":"2026-05-11T18:05:11.789Z","repository":{"id":351194335,"uuid":"1209940378","full_name":"coayo-x/Local-AI-Chatbot-Guide","owner":"coayo-x","description":"Guide for setting up a local AI chatbot using Ollama and Docker on Raspberry Pi","archived":false,"fork":false,"pushed_at":"2026-04-14T01:50:22.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-14T02:27:34.550Z","etag":null,"topics":["ai-chatbot","docker","linux","llm","local-ai","ollama","raspberry-pi","webui"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coayo-x.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-13T23:56:15.000Z","updated_at":"2026-04-14T01:50:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/coayo-x/Local-AI-Chatbot-Guide","commit_stats":null,"previous_names":["coayo-x/local-ai-chatbot-guide"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/coayo-x/Local-AI-Chatbot-Guide","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coayo-x%2FLocal-AI-Chatbot-Guide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coayo-x%2FLocal-AI-Chatbot-Guide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coayo-x%2FLocal-AI-Chatbot-Guide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coayo-x%2FLocal-AI-Chatbot-Guide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coayo-x","download_url":"https://codeload.github.com/coayo-x/Local-AI-Chatbot-Guide/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coayo-x%2FLocal-AI-Chatbot-Guide/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32906533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-11T17:09:15.040Z","status":"ssl_error","status_checked_at":"2026-05-11T17:08:45.420Z","response_time":120,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-chatbot","docker","linux","llm","local-ai","ollama","raspberry-pi","webui"],"created_at":"2026-05-11T18:05:10.696Z","updated_at":"2026-05-11T18:05:11.780Z","avatar_url":"https://github.com/coayo-x.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- # Local AI Chatbot Guide\n\nA step-by-step guide to run a local AI chatbot using Ollama, Docker, and Open WebUI on Raspberry Pi. --\u003e\n\u003cp align=\"center\"\u003e\u003ca href=\"https://github.com/coayo-x/Local-AI-Chatbot-Guide/blob/main/README.md#setup\"\u003e\u003cimg alt=\"Local AI Chatbot Guide. A step-by-step guide to run a local AI chatbot using Ollama, Docker, and Open WebUI on Raspberry Pi.\" src=\"./image/repo-title.png\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\n\n## Overview\n\nSet up a local AI chatbot with a web interface running on your Raspberry Pi.\n\n## Requirements\n\n- Raspberry Pi 4 or 5\n- 64-bit Raspberry Pi OS (Debian-based)\n- Internet connection\n- 4 GB RAM minimum\n- 8 GB RAM recommended for better performance\n- At least 8 GB of free storage recommended\n\n## Stack\n\n- Ollama\n- Docker\n- Open WebUI\n- Model: `gemma:2b` (or any Ollama-supported model)\n\n## Notes\n\n- This guide is for Raspberry Pi 4/5 running 64-bit Raspberry Pi OS.\n- `gemma:2b` is one of the lighter models, but it may still feel slow on a Pi 4.\n- Larger models may run poorly or fail if your Pi does not have enough RAM.\n- Pulling a model can take time and storage space depending on your internet speed and available disk space.\n- This guide uses a fixed Open WebUI image tag for better stability instead of a moving `main` tag.\n- Example fixed image tag used in this guide: `git-a382e82`\n\n## Setup\n\n### 1. Check system architecture\n\nRun:\n\n```bash\ngetconf LONG_BIT\nuname -m\n```\n\nExpected output:\n\n- `64`\n- `aarch64`\n\nIf your system is not 64-bit, stop here and install a 64-bit version of Raspberry Pi OS before continuing.\n\n### 2. Update system\n\n```bash\nsudo apt update\nsudo apt upgrade -y\n```\n\n### 3. Install Ollama\n\n```bash\ncurl -fsSL https://ollama.com/install.sh | sh\n```\n\nCheck installation:\n\n```bash\nollama --version\n```\n\nPull a model:\n\n```bash\nollama pull gemma:2b\n```\n\nThis may take a while depending on your internet speed and storage.\n\nConfirm the model is available:\n\n```bash\nollama list\n```\n\nTest the model:\n\n```bash\nollama run gemma:2b\n```\n\nPress `Ctrl + C` to stop the chat.\n\nCheck that Ollama is running:\n\n```bash\ncurl http://127.0.0.1:11434/api/tags\n```\n\nIf you get a response, Ollama is available and ready for Open WebUI.\n\nIf you do not get a response, start Ollama manually:\n\n```bash\nollama serve\n```\n\nOnly do this if Ollama is not already running automatically.  \nIf you start it this way, keep that terminal open while using Open WebUI.\n\n### 4. Install Docker\n\nInstall required packages:\n\n```bash\nsudo apt-get install -y ca-certificates curl gnupg\n```\n\nCreate keyring directory:\n\n```bash\nsudo install -m 0755 -d /etc/apt/keyrings\n```\n\nAdd Docker GPG key:\n\n```bash\nsudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc\nsudo chmod a+r /etc/apt/keyrings/docker.asc\n```\n\nAdd Docker repository:\n\n```bash\necho \\\n\"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \\\nhttps://download.docker.com/linux/debian \\\n$(. /etc/os-release \u0026\u0026 echo \"$VERSION_CODENAME\") stable\" | \\\nsudo tee /etc/apt/sources.list.d/docker.list \u003e /dev/null\n```\n\nUpdate packages:\n\n```bash\nsudo apt-get update\n```\n\nInstall Docker:\n\n```bash\nsudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin\n```\n\nVerify Docker:\n\n```bash\nsudo docker run hello-world\n```\n\nOptional: add your user to the Docker group if you want to run Docker commands without `sudo`\n\n```bash\nsudo usermod -aG docker $USER\nnewgrp docker\n```\n\n`newgrp docker` may work right away, but logging out and back in is more reliable before continuing.\n\nIf you skip this step, use `sudo` with all Docker commands below.\n\n### 5. Run Open WebUI\n\nSet the fixed image tag used in this guide:\n\n```bash\nexport OPEN_WEBUI_IMAGE=ghcr.io/open-webui/open-webui:git-a382e82\n```\n\nPull the image:\n\n```bash\ndocker pull $OPEN_WEBUI_IMAGE\n```\n\nRun Open WebUI:\n\n```bash\ndocker run -d \\\n--network=host \\\n-v open-webui:/app/backend/data \\\n-e OLLAMA_BASE_URL=http://127.0.0.1:11434 \\\n--name open-webui \\\n--restart always \\\n$OPEN_WEBUI_IMAGE\n```\n\nCheck that the container is running:\n\n```bash\ndocker ps\n```\n\nIf you did not add your user to the Docker group, use `sudo` with the Docker commands above.\n\n## Access\n\nFind your Raspberry Pi IP:\n\n```bash\nhostname -I\n```\n\nOpen your browser:\n\n- `http://localhost:8080`\n- `http://\u003cyour-raspberry-pi-ip\u003e:8080`\n\n`localhost:8080` works only on the Raspberry Pi itself.  \nUse the Raspberry Pi IP from another device on the same network.\n\nIf the page opens and shows the account creation screen, the setup worked.\n\nCreate an account. The first account becomes the admin.\n\n## Container Management\n\nStop:\n\n```bash\ndocker stop open-webui\n```\n\nStart:\n\n```bash\ndocker start open-webui\n```\n\nLogs:\n\n```bash\ndocker logs open-webui\n```\n\nIf you did not add your user to the Docker group, use `sudo` with these commands.\n\n## Troubleshooting\n\n### Open WebUI does not connect to Ollama\n\nCheck that Ollama is running:\n\n```bash\ncurl http://127.0.0.1:11434/api/tags\n```\n\nIf this does not return a response, Ollama is not available yet.\n\nStart Ollama manually if needed:\n\n```bash\nollama serve\n```\n\nOnly use `ollama serve` if Ollama is not already running automatically.\n\nYou can also check Open WebUI logs:\n\n```bash\ndocker logs open-webui\n```\n\n### Port conflict\n\nThis guide uses `--network=host`, so Open WebUI uses port `8080` directly on the Raspberry Pi.\n\nIf port `8080` is already in use, find what is using it:\n\n```bash\nsudo ss -ltnp | grep :8080\n```\n\nThen stop or reconfigure that service, and run the original Open WebUI command again.\n\n### Container name already in use\n\nIf you get an error saying the container name is already in use, remove the old container:\n\n```bash\ndocker rm -f open-webui\n```\n\nThen run the Open WebUI command again.\n\n### Permission issues\n\n```bash\nsudo usermod -aG docker $USER\nnewgrp docker\n```\n\nIf Docker still fails, log out and log back in.\n\n### Download or install commands fail\n\nIf `curl` or Docker install commands fail, check:\n\n- Internet connection\n- DNS/network settings\n- System date and time\n\n## Update Open WebUI\n\nTo update later, choose another valid fixed tag from the Open WebUI container registry tags list.\n\nYou can find new fixed tags on the package page for `ghcr.io/open-webui/open-webui` in GitHub Container Registry. Open the package page, check the available tags, and choose a newer fixed tag.\n\nThen change the image tag, pull it, and use the same `docker run` command from Step 5 again.\n\nExample:\n\n```bash\nexport OPEN_WEBUI_IMAGE=ghcr.io/open-webui/open-webui:\u003cnew-fixed-tag\u003e\ndocker stop open-webui\ndocker rm open-webui\ndocker pull $OPEN_WEBUI_IMAGE\n```\n\nThen run the same Open WebUI command from Step 5.\n\n## Done\n\nLocal AI chatbot is running.\n\nAccess it in your browser and manage it with Docker.\n\n---\n\n## Contact\n\nIf you have questions, run into errors, or need help with this setup, feel free to contact:\n\n[![Email](https://img.shields.io/badge/Email-Contact%20Me-0A66C2?style=for-the-badge\u0026logo=gmail\u0026logoColor=white)](mailto:Local-AI-Chatbot-Guide-repo@coayo.com)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoayo-x%2Flocal-ai-chatbot-guide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoayo-x%2Flocal-ai-chatbot-guide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoayo-x%2Flocal-ai-chatbot-guide/lists"}