diff --git a/.env.example b/.env.example new file mode 100644 index 0000000000..f94406527e --- /dev/null +++ b/.env.example @@ -0,0 +1,15 @@ +# CyberStrike Environment Configuration +# Copy this file to .env and fill in your values + +# Server password for remote access (change this!) +CYBERSTRIKE_SERVER_PASSWORD=your-secure-password-here + +# LLM Provider API Keys (choose your provider) +# ANTHROPIC_API_KEY=your-api-key-here +# OPENAI_API_KEY=your-api-key-here +# GOOGLE_API_KEY=your-api-key-here + +# Server Configuration +NODE_ENV=production +PORT=4096 +HOSTNAME=0.0.0.0 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..3946265a5e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +# CyberStrike +FROM ubuntu:24.04 +RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates curl git xz-utils && rm -rf /var/lib/apt/lists/* +RUN curl -fsSL https://registry.npmjs.org/@cyberstrike-io/cyberstrike-linux-x64/-/cyberstrike-linux-x64-1.1.9.tgz | tar -xzf - -C /tmp +RUN mv /tmp/package/bin/cyberstrike /usr/local/bin/cyberstrike && chmod +x /usr/local/bin/cyberstrike +RUN groupadd -r cyberstrike && useradd -r -g cyberstrike -d /app -s /bin/bash cyberstrike && mkdir -p /app/data /app/.cyberstrike && chown -R cyberstrike:cyberstrike /app +USER cyberstrike +WORKDIR /app +ENV CYBERSTRIKE_SERVER_PASSWORD=changeme NODE_ENV=production PORT=4096 HOSTNAME=0.0.0.0 +EXPOSE 4096 +CMD ["cyberstrike","web","--hostname","0.0.0.0","--port","4096"] diff --git a/README-DOCKER.md b/README-DOCKER.md new file mode 100644 index 0000000000..f23b2095be --- /dev/null +++ b/README-DOCKER.md @@ -0,0 +1,6 @@ +CyberStrike Docker Environment + +Quick Start: +1. cp .env.example .env +2. docker compose up -d +3. Open http://localhost:4096 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000..2ce5791948 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,21 @@ +services: + cyberstrike: + image: cyberstrike:latest + container_name: cyberstrike + ports: + - "4096:4096" + environment: + - CYBERSTRIKE_SERVER_PASSWORD=changeme + - NODE_ENV=production + - PORT=4096 + - HOSTNAME=0.0.0.0 + volumes: + - cyberstrike-data:/app/data + restart: unless-stopped + networks: + - cyberstrike-net +volumes: + cyberstrike-data: +networks: + cyberstrike-net: + driver: bridge