Fleet: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 7: Zeile 7:
 
*vi docker-compose.yaml
 
*vi docker-compose.yaml
 
<pre>
 
<pre>
 +
version: '3.8'
 +
 
services:
 
services:
   fleet:
+
   mysql:
     image: fleetdm/fleet:latest
+
     image: mysql:8.0.36
     ports:
+
     container_name: mysql
      - "8080:8080"
 
      - "3306:3306"
 
 
     environment:
 
     environment:
       MYSQL_ROOT_PASSWORD: fleet
+
       MYSQL_ROOT_PASSWORD: rootpw
 
       MYSQL_DATABASE: fleet
 
       MYSQL_DATABASE: fleet
 +
      MYSQL_USER: fleet
 +
      MYSQL_PASSWORD: changeme
 +
    volumes:
 +
      - ./mysql-data:/var/lib/mysql
 +
    healthcheck:
 +
      test: ["CMD", "mysqladmin", "ping", "-pfleet"]
 +
      interval: 10s
 +
      timeout: 5s
 +
      retries: 10
 +
 +
  redis:
 +
    image: redis:7
 +
    container_name: redis
 
     volumes:
 
     volumes:
       - ./db:/var/lib/mysql
+
       - ./redis-data:/data
    restart: unless-stopped
 
</pre>
 
*docker-compose up -d
 
  
=== CLI-Tool installieren ===
+
  fleet-init:
<pre>
+
    image: fleetdm/fleet:v4.49.1
curl -sSL https://raw.githubusercontent.com/fleetdm/fleet/main/tools/fleetctl.sh | bash
+
    container_name: fleet-init
echo 'export PATH="$PATH:$HOME/.fleetctl"' >> ~/.bashrc
+
    depends_on:
source ~/.bashrc
+
      mysql:
</pre>
+
        condition: service_healthy
 +
      redis:
 +
        condition: service_started
 +
    environment:
 +
      FLEET_MYSQL_ADDRESS: mysql:3306
 +
      FLEET_MYSQL_DATABASE: fleet
 +
      FLEET_MYSQL_USERNAME: fleet
 +
      FLEET_MYSQL_PASSWORD: changeme
 +
      FLEET_REDIS_ADDRESS: redis:6379
 +
    command: fleet prepare db --no-prompt
 +
    restart: "no"
  
=== Einrichten ===
+
  fleet:
<pre>
+
    image: fleetdm/fleet:v4.49.1
fleetctl config set --address http://localhost:8080
+
    container_name: fleet
fleetctl login --email admin@example.com --password fleet
+
    ports:
</pre>
+
      - "8080:8080"
 +
    depends_on:
 +
      fleet-init:
 +
        condition: service_completed_successfully
 +
    environment:
 +
      FLEET_MYSQL_ADDRESS: mysql:3306
 +
      FLEET_MYSQL_DATABASE: fleet
 +
      FLEET_MYSQL_USERNAME: fleet
 +
      FLEET_MYSQL_PASSWORD: changeme
 +
      FLEET_REDIS_ADDRESS: redis:6379
 +
      FLEET_SERVER_TLS: "false"
 +
    command: fleet serve
  
=== 4. Ersten Query ausführen ===
 
<pre>
 
echo "SELECT * FROM osquery_info;" > query.sql
 
fleetctl query create --name "System Check" --query "$(cat query.sql)"
 
fleetctl query run --name "System Check" --labels "All Hosts"
 
 
</pre>
 
</pre>
 +
*docker-compose up -d
  
=== Wichtige Links ===
 
* Webinterface: [http://localhost:8080](http://localhost:8080)
 
* Standard-Login: admin@example.com / fleet
 
 
=== Troubleshooting ===
 
<pre>
 
# Container-Logs anzeigen
 
docker logs $(docker ps -q --filter ancestor=fleetdm/fleet)
 
 
# Container-Status prüfen
 
docker ps -a | grep fleet
 
</pre>
 
  
[[Kategorie:IT-Sicherheit]]
+
[[Kategorie:Cybersecurity]]
[[Kategorie:Device Management]]
+
[[Kategorie:Hacking]]

Version vom 19. April 2025, 15:28 Uhr

FleetDM Docker-Installation

Docker Installation und andere Dinge

  • apt install -y docker.io docker-compose curl

Dockercompose

  • mkdir -p /mnt/docker/fleet
  • cd /mnt/docker/fleet
  • vi docker-compose.yaml
version: '3.8'

services:
  mysql:
    image: mysql:8.0.36
    container_name: mysql
    environment:
      MYSQL_ROOT_PASSWORD: rootpw
      MYSQL_DATABASE: fleet
      MYSQL_USER: fleet
      MYSQL_PASSWORD: changeme
    volumes:
      - ./mysql-data:/var/lib/mysql
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-pfleet"]
      interval: 10s
      timeout: 5s
      retries: 10

  redis:
    image: redis:7
    container_name: redis
    volumes:
      - ./redis-data:/data

  fleet-init:
    image: fleetdm/fleet:v4.49.1
    container_name: fleet-init
    depends_on:
      mysql:
        condition: service_healthy
      redis:
        condition: service_started
    environment:
      FLEET_MYSQL_ADDRESS: mysql:3306
      FLEET_MYSQL_DATABASE: fleet
      FLEET_MYSQL_USERNAME: fleet
      FLEET_MYSQL_PASSWORD: changeme
      FLEET_REDIS_ADDRESS: redis:6379
    command: fleet prepare db --no-prompt
    restart: "no"

  fleet:
    image: fleetdm/fleet:v4.49.1
    container_name: fleet
    ports:
      - "8080:8080"
    depends_on:
      fleet-init:
        condition: service_completed_successfully
    environment:
      FLEET_MYSQL_ADDRESS: mysql:3306
      FLEET_MYSQL_DATABASE: fleet
      FLEET_MYSQL_USERNAME: fleet
      FLEET_MYSQL_PASSWORD: changeme
      FLEET_REDIS_ADDRESS: redis:6379
      FLEET_SERVER_TLS: "false"
    command: fleet serve

  • docker-compose up -d