From 2261cbf1a04bc1b987d7da5299e985a9cd3b310f Mon Sep 17 00:00:00 2001 From: Skyber_2 Date: Wed, 25 Mar 2026 15:20:14 +0300 Subject: [PATCH] Add Dockerfile, docker-compose.yml, .dockerignore --- .dockerignore | 10 +++++++++ Dockerfile | 17 +++++++++++++++ docker-compose.yml | 53 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..403671cb --- /dev/null +++ b/.dockerignore @@ -0,0 +1,10 @@ +venv/ +.venv/ +__pycache__/ +*.pyc +.git/ +node_modules/ +.env +config.yaml +sessions/ +logs/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..a7048beb --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM nikolaik/python-nodejs:python3.11-nodejs20 + +RUN apt-get update && apt-get install -y \ + curl \ + git \ + docker.io \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /app + +COPY pyproject.toml requirements.txt* ./ + +COPY . . + +RUN pip install -e . + +CMD ["python", "-m", "gateway.run"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..5101b0fc --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,53 @@ +version: '3.8' + +services: + browser: + image: browserless/chrome:latest + ports: + - "3000:3000" + environment: + - MAX_CONCURRENT_SESSIONS=5 + - ENABLE_DEBUGGER=true + restart: always + networks: + - hermes-net + deploy: + resources: + limits: + memory: 2G + + agent: + build: . + container_name: hermes-brain + env_file: + - .env + volumes: + - .:/app:ro + - ~/.hermes/config.yaml:/app/config.yaml:ro + - ~/.hermes/SOUL.md:/app/SOUL.md:ro + - ~/.hermes/sessions:/app/sessions:rw + - ~/.hermes/logs:/app/logs:rw + - ~/.hermes/workspaces:/app/workspaces:rw + - /var/run/docker.sock:/var/run/docker.sock + environment: + - BROWSER_URL=ws://browser:3000 + depend_on: + - browser + stdin_open: true + tty: true + restart: always + networks: + - hermes-net + +networks: + hermes-net: + driver: bridge + + + # Optional: SSL configuration if needed + # extra_hosts: + # - "host.docker.internal:host-gateway" + +# Uncomment the following if you need persistent logging or data +# volumes: +# - ./logs:/tmp/logs