config
This commit is contained in:
parent
cdae29c493
commit
a0e70f85cb
60
Dockerfile
Normal file
60
Dockerfile
Normal file
@ -0,0 +1,60 @@
|
||||
FROM debian:bullseye
|
||||
|
||||
ARG OPENAI_API_KEY
|
||||
|
||||
# Install Node.js and required dependencies
|
||||
RUN set -eux; \
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
gcc \
|
||||
libc6-dev \
|
||||
wget \
|
||||
curl \
|
||||
gnupg \
|
||||
bzip2 \
|
||||
libdbus-1-dev \
|
||||
libxcb1 \
|
||||
libxcb-render0 \
|
||||
libxcb-shape0 \
|
||||
libxcb-xfixes0 \
|
||||
git \
|
||||
zip \
|
||||
unzip \
|
||||
; \
|
||||
curl -fsSL https://deb.nodesource.com/setup_20.x | bash - ; \
|
||||
apt-get install -y nodejs; \
|
||||
apt-get clean; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Node.js 20
|
||||
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
|
||||
RUN apt-get update && apt-get install -y nodejs
|
||||
|
||||
# Create user with home directory
|
||||
RUN useradd -m -s /bin/bash goose && \
|
||||
usermod -aG sudo goose && \
|
||||
echo "goose ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
||||
|
||||
COPY agent/.config/goose/config.yaml /home/goose/.config/goose/config.yaml
|
||||
COPY agent/.bashrc /home/goose/.bashrc
|
||||
COPY entrypoint.sh /home/goose/entrypoint.sh
|
||||
COPY instructions.md /home/goose/instructions.md
|
||||
|
||||
RUN chmod +x /home/goose/entrypoint.sh
|
||||
|
||||
# Switch to non-root user
|
||||
USER goose
|
||||
|
||||
WORKDIR /home/goose
|
||||
|
||||
RUN curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CANARY=true bash
|
||||
|
||||
RUN git clone https://github.com/hekmon8/homeassistant-server-mcp homeassistant-server-mcp && \
|
||||
cd homeassistant-server-mcp && \
|
||||
npm install && \
|
||||
npm run build
|
||||
|
||||
COPY homeassistant-mcp/.env /home/goose/homeassistant-mcp/.env
|
||||
|
||||
ENTRYPOINT ["/home/goose/entrypoint.sh"]
|
||||
3
agent/.bashrc
Normal file
3
agent/.bashrc
Normal file
@ -0,0 +1,3 @@
|
||||
export OPENAI_API_KEY="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"
|
||||
export HOMEASSISTANT_API_KEY="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiIwYmM2MjYwODViMTI0Y2E2YTY1OTE5ZWYzMjg5ZjgyOSIsImlhdCI6MTc0MjcyNTQ5NywiZXhwIjoyMDU4MDg1NDk3fQ.rn1yhQ5AkSiHAnyt119WUQ8K80xgnxrtIXBiFwmp7l4"
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
16
agent/.config/goose/config.yaml
Normal file
16
agent/.config/goose/config.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
OPENAI_HOST: https://api.openai.com
|
||||
OPENAI_BASE_PATH: /v1/chat/completions
|
||||
GOOSE_PROVIDER: openai
|
||||
GOOSE_MODEL: gpt-4o
|
||||
|
||||
extensions:
|
||||
homeassistant:
|
||||
name: Home Assistant
|
||||
cmd: "node"
|
||||
args: ["homeassistant-server-mcp/build/index.js"]
|
||||
envs:
|
||||
HA_URL: https://ha.strolap.com
|
||||
HA_TOKEN: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiIwYmM2MjYwODViMTI0Y2E2YTY1OTE5ZWYzMjg5ZjgyOSIsImlhdCI6MTc0MjcyNTQ5NywiZXhwIjoyMDU4MDg1NDk3fQ.rn1yhQ5AkSiHAnyt119WUQ8K80xgnxrtIXBiFwmp7l4
|
||||
enabled: true
|
||||
type: stdio
|
||||
timeout: 300
|
||||
8
docker-compose.yml
Normal file
8
docker-compose.yml
Normal file
@ -0,0 +1,8 @@
|
||||
services:
|
||||
agent:
|
||||
build:
|
||||
context: .
|
||||
args:
|
||||
OPENAI_API_KEY: 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
|
||||
volumes:
|
||||
- .:/app
|
||||
5
entrypoint.sh
Normal file
5
entrypoint.sh
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
source ~/.bashrc
|
||||
|
||||
~/.local/bin/goose run -i instructions.md
|
||||
8
homeassistant-mcp/.env
Normal file
8
homeassistant-mcp/.env
Normal file
@ -0,0 +1,8 @@
|
||||
# Home Assistant Configuration
|
||||
HA_URL=https://ha.strolap.com
|
||||
HA_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiIwYmM2MjYwODViMTI0Y2E2YTY1OTE5ZWYzMjg5ZjgyOSIsImlhdCI6MTc0MjcyNTQ5NywiZXhwIjoyMDU4MDg1NDk3fQ.rn1yhQ5AkSiHAnyt119WUQ8K80xgnxrtIXBiFwmp7l4
|
||||
|
||||
# Server Configuration
|
||||
PORT=3000
|
||||
NODE_ENV=production
|
||||
DEBUG=false
|
||||
1
instructions.md
Normal file
1
instructions.md
Normal file
@ -0,0 +1 @@
|
||||
Erstelle eine Automation, die in 5 minuten das Licht im Wohnzimmer ausmacht (light.couch)
|
||||
Loading…
x
Reference in New Issue
Block a user