From b9bc90ca2eb6fc7fb90e0ef73a8942214da07255 Mon Sep 17 00:00:00 2001 From: Christopher Freytes Date: Sun, 1 Dec 2024 19:28:37 -0500 Subject: [PATCH] Create docker-setup.md --- docs/docs/guides/docker-setup.md | 107 +++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 docs/docs/guides/docker-setup.md diff --git a/docs/docs/guides/docker-setup.md b/docs/docs/guides/docker-setup.md new file mode 100644 index 0000000000..f5eac906d3 --- /dev/null +++ b/docs/docs/guides/docker-setup.md @@ -0,0 +1,107 @@ +# [Eliza](https://github.com/ai16z/eliza) Chatbot Docker Setup Guide + +This guide provides instructions for installing and running the Eliza chatbot using either Docker or direct installation on a server. + +## Prerequisites + +- A Linux-based server (Ubuntu/Debian recommended) +- Git installed +- Docker (optional, for containerized deployment) + +1. **Install NVM**: + ```bash + curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash + source ~/.bashrc + nvm install v23.3.0 + ``` + +2. **Install Build Essentials** (Optional): + ```bash + apt install -y build-essential + ``` + +3. **Install PNPM**: + ```bash + curl -fsSL https://get.pnpm.io/install.sh | sh - + source /root/.bashrc + ``` + +## Docker Installation + +1. **Install Docker**: + ```bash + # Add Docker's official GPG key + sudo apt-get update + sudo apt-get install ca-certificates curl + sudo install -m 0755 -d /etc/apt/keyrings + sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc + sudo chmod a+r /etc/apt/keyrings/docker.asc + + # Add Docker repository + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ + $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + + # Install Docker packages + sudo apt-get update + sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin + ``` + +2. **Clone the Repository**: + ```bash + git clone https://github.com/YOUR_USERNAME/eliza.git + cd eliza + ``` + +3. **Configure Environment**: + ```bash + cp .env.example .env + ``` + +4. **Fix Unix Script Issues** (if needed): + ```bash + apt install dos2unix + dos2unix ./scripts/* + ``` + +5. **Run with Docker**: + ```bash + pnpm docker + ``` + +## Docker Management Commands + +- Check running containers: + ```bash + docker ps + ``` + +- Remove Eliza container: + ```bash + docker rm /eliza + ``` + +- Restart with a different character: + ```bash + pnpm start --character="characters/YOUR_CHARACTER.character.json" + ``` + +## Customization + +- Modify the `.env` file to customize your bot's settings +- Character files are located in the `characters/` directory +- Create new character files by copying and modifying existing ones + +## Troubleshooting + +- If Docker container fails to start, check logs: + ```bash + docker logs eliza + ``` +- For permission issues, ensure proper file ownership and permissions +- For script formatting issues, run `dos2unix` on problematic files + +## License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.