feat: Set up application configuration using pydantic-settings and .env files.
This commit is contained in:
parent
05b44a5404
commit
071461dc82
16
Dockerfile
16
Dockerfile
@ -26,15 +26,27 @@ LABEL maintainer="Bruno Charest <bruno@dracodev.net>"
|
|||||||
LABEL description="🦊 Foxy Dev Team — Multi-Agent Orchestration System"
|
LABEL description="🦊 Foxy Dev Team — Multi-Agent Orchestration System"
|
||||||
LABEL version="2.0.0"
|
LABEL version="2.0.0"
|
||||||
|
|
||||||
# System deps
|
# System deps (CLI tools, Node.js, Git)
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
curl \
|
curl \
|
||||||
|
git \
|
||||||
|
ca-certificates \
|
||||||
|
gnupg \
|
||||||
|
&& mkdir -p /etc/apt/keyrings \
|
||||||
|
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
|
||||||
|
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
|
||||||
|
&& apt-get update && apt-get install -y nodejs \
|
||||||
|
&& npm install -g openclaw@latest \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Create non-root user
|
# Create non-root user
|
||||||
RUN useradd --create-home --shell /bin/bash foxy
|
RUN useradd --create-home --shell /bin/bash foxy
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
RUN chown foxy:foxy /app
|
|
||||||
|
# Setup OpenClaw environment within the container
|
||||||
|
RUN mkdir -p /home/foxy/.openclaw/workspace /home/foxy/.openclaw/logs \
|
||||||
|
&& chown -R foxy:foxy /home/foxy/.openclaw \
|
||||||
|
&& chown foxy:foxy /app
|
||||||
|
|
||||||
# Python dependencies
|
# Python dependencies
|
||||||
COPY --chown=foxy:foxy backend/requirements.txt ./
|
COPY --chown=foxy:foxy backend/requirements.txt ./
|
||||||
|
|||||||
@ -6,7 +6,7 @@ TELEGRAM_BOT_TOKEN=your-telegram-bot-token
|
|||||||
TELEGRAM_CHAT_ID=your-chat-id
|
TELEGRAM_CHAT_ID=your-chat-id
|
||||||
|
|
||||||
# ─── OpenClaw ──────────────────────────────────────────────
|
# ─── OpenClaw ──────────────────────────────────────────────
|
||||||
OPENCLAW_WORKSPACE=/home/openclaw/.openclaw/workspace
|
OPENCLAW_WORKSPACE=/home/foxy/.openclaw/workspace
|
||||||
|
|
||||||
# ─── Gitea ─────────────────────────────────────────────────
|
# ─── Gitea ─────────────────────────────────────────────────
|
||||||
GITEA_SERVER=https://gitea.your.server
|
GITEA_SERVER=https://gitea.your.server
|
||||||
|
|||||||
@ -16,7 +16,7 @@ class Settings(BaseSettings):
|
|||||||
TELEGRAM_CHAT_ID: str = ""
|
TELEGRAM_CHAT_ID: str = ""
|
||||||
|
|
||||||
# OpenClaw
|
# OpenClaw
|
||||||
OPENCLAW_WORKSPACE: str = "/home/openclaw/.openclaw/workspace"
|
OPENCLAW_WORKSPACE: str = "/home/foxy/.openclaw/workspace"
|
||||||
|
|
||||||
# Gitea
|
# Gitea
|
||||||
GITEA_SERVER: str = ""
|
GITEA_SERVER: str = ""
|
||||||
|
|||||||
@ -24,6 +24,7 @@ services:
|
|||||||
- backend/.env
|
- backend/.env
|
||||||
volumes:
|
volumes:
|
||||||
- foxy-data:/app/data
|
- foxy-data:/app/data
|
||||||
|
- foxy-workspace:/home/foxy/.openclaw/workspace
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:7000/api/health"]
|
test: ["CMD", "curl", "-f", "http://localhost:7000/api/health"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
@ -59,6 +60,8 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
foxy-data:
|
foxy-data:
|
||||||
driver: local
|
driver: local
|
||||||
|
foxy-workspace:
|
||||||
|
driver: local
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
foxy-net:
|
foxy-net:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user