forked from elizaOS/eliza
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request elizaOS#776 from Freytes/main
Create docker-setup.md
- Loading branch information
Showing
1 changed file
with
107 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |