|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +# Check if an argument is provided |
| 4 | +if [ -z "$1" ]; then |
| 5 | + echo "Usage: $0 {build|run|start|bash}" |
| 6 | + exit 1 |
| 7 | +fi |
| 8 | + |
| 9 | +# Execute the corresponding command based on the argument |
| 10 | +case "$1" in |
| 11 | + build) |
| 12 | + docker build --platform linux/amd64 -t eliza . |
| 13 | + ;; |
| 14 | + run) |
| 15 | + # Ensure the container is not already running |
| 16 | + if [ "$(docker ps -q -f name=eliza)" ]; then |
| 17 | + echo "Container 'eliza' is already running. Stopping it first." |
| 18 | + docker stop eliza |
| 19 | + docker rm eliza |
| 20 | + fi |
| 21 | + |
| 22 | + docker run \ |
| 23 | + --platform linux/amd64 \ |
| 24 | + -p 3000:3000 \ |
| 25 | + -d \ |
| 26 | + -v "$(pwd)/characters:/app/characters" \ |
| 27 | + -v "$(pwd)/.env:/app/.env" \ |
| 28 | + -v "$(pwd)/docs:/app/docs" \ |
| 29 | + -v "$(pwd)/scripts:/app/scripts" \ |
| 30 | + -v "$(pwd)/packages/adapter-postgres/src:/app/packages/adapter-postgres/src" \ |
| 31 | + -v "$(pwd)/packages/adapter-sqlite/src:/app/packages/adapter-sqlite/src" \ |
| 32 | + -v "$(pwd)/packages/adapter-sqljs/src:/app/packages/adapter-sqljs/src" \ |
| 33 | + -v "$(pwd)/packages/adapter-supabase/src:/app/packages/adapter-supabase/src" \ |
| 34 | + -v "$(pwd)/packages/agent/src:/app/packages/agent/src" \ |
| 35 | + -v "$(pwd)/packages/client-auto/src:/app/packages/client-auto/src" \ |
| 36 | + -v "$(pwd)/packages/client-direct/src:/app/packages/client-direct/src" \ |
| 37 | + -v "$(pwd)/packages/client-discord/src:/app/packages/client-discord/src" \ |
| 38 | + -v "$(pwd)/packages/client-telegram/src:/app/packages/client-telegram/src" \ |
| 39 | + -v "$(pwd)/packages/client-twitter/src:/app/packages/client-twitter/src" \ |
| 40 | + -v "$(pwd)/packages/core/src:/app/packages/core/src" \ |
| 41 | + -v "$(pwd)/packages/core/types:/app/packages/core/types" \ |
| 42 | + -v "$(pwd)/packages/plugin-bootstrap/src:/app/packages/plugin-bootstrap/src" \ |
| 43 | + -v "$(pwd)/packages/plugin-image-generation/src:/app/packages/plugin-image-generation/src" \ |
| 44 | + -v "$(pwd)/packages/plugin-node/src:/app/packages/plugin-node/src" \ |
| 45 | + -v "$(pwd)/packages/plugin-solana/src:/app/packages/plugin-solana/src" \ |
| 46 | + --name eliza \ |
| 47 | + eliza |
| 48 | + ;; |
| 49 | + start) |
| 50 | + docker start eliza |
| 51 | + ;; |
| 52 | + bash) |
| 53 | + # Check if the container is running before executing bash |
| 54 | + if [ "$(docker ps -q -f name=eliza)" ]; then |
| 55 | + docker exec -it eliza bash |
| 56 | + else |
| 57 | + echo "Container 'eliza' is not running. Please start it first." |
| 58 | + exit 1 |
| 59 | + fi |
| 60 | + ;; |
| 61 | + *) |
| 62 | + echo "Invalid option: $1" |
| 63 | + echo "Usage: $0 {build|run|start|bash}" |
| 64 | + exit 1 |
| 65 | + ;; |
| 66 | +esac |
0 commit comments