Skip to content

Common Issues & Fixes

Martin Řepa edited this page Sep 29, 2025 · 2 revisions

"Configuration files not provided"

Typical errors students see

  • configuration files not provided
  • Can't find a suitable configuration file in this directory or any parent

What it means

  • You ran Docker commands outside the project folder.

Fix

  • Change to the project directory first:
    cd stratocyberlab
    docker compose up

Docker engine not running

Typical errors students see

  • 500 Internal Server Error ... _ping
  • error during connect
  • Cannot connect to the Docker daemon
  • This error may indicate that the docker daemon is not running.

Fix

  • Restart Docker Desktop and wait until it shows “Running”.
  • Test Docker itself:
    docker run hello-world
    • If this fails, repair or reinstall Docker Desktop.
  • Then retry:
    docker compose up

Container restarts or exits immediately (Windows line endings)

Typical errors students see

  • exec /root/.start-container.sh: no such file or directory
  • standard_init_linux.go: exec user process caused: no such file or directory
  • bash\r: bad interpreter: No such file or directory
  • During build/copy: exit code 255

Cause

  • Git on Windows converted LF → CRLF, breaking shell scripts inside containers.

Fix (do all steps)

  • Configure Git for LF only:
    git config --global core.autocrlf false
    git config --global core.eol lf
  • Delete your local clone of the repository.
  • Re-clone the repo so files are checked out with LF:
    git clone https://github.com/stratosphereips/stratocyberlab.git
    cd stratocyberlab
  • Rebuild and start:
    docker compose build
    docker compose up
  • Still looping? Force a clean rebuild:
    docker compose up --build --force-recreate

"pull access denied" when pulling images

Typical errors students see

  • pull access denied, repository does not exist or may require 'docker login'
  • Warning: pull access denied for scl-dashboard, repository does not exist

What it means

  • Some images are built locally by Compose. The warning is expected.

Fix

  • Continue with:
    docker compose up
  • If antivirus/firewall blocks downloads (e.g., deb.debian.org), temporarily allowlist it or pause AV during the build.

Dashboard cannot find /challenges

Typical errors students see

  • FileNotFoundError: [Errno 2] No such file or directory: '/challenges'

Cause

  • The dashboard can’t see the mounted /challenges directory.

Fix

  • Rebuild the related services and start them again:
    docker compose build hackerlab dashboard
    docker compose up

Port already in use

Typical errors students see

  • Bind for 0.0.0.0:2223 failed: port is already allocated
  • Error starting userland proxy: listen tcp 0.0.0.0:2223: bind: address already in use

Fix

  • Identify and stop the process using the port.
    • Windows (PowerShell):
      netstat -ano | findstr :2223
      taskkill /PID <pid> /F
    • macOS/Linux:
      lsof -i :2223
      kill -9 <pid>
  • Retry:
    docker compose up

How to check container status and logs

Useful commands

  • List containers:
    docker container ps -a
  • Show logs (replace with actual container name):
    docker logs <container-name>
  • Quick sanity check in a browser (when running):
    • Open: http://127.0.0.1:80

Windows vs WSL vs Linux vs macOS

Guidance

  • Windows (simplest): Install Docker Desktop and follow the Windows instructions. Do not also set up WSL unless you want the Linux route.
  • WSL route: If you prefer Linux tooling, follow the Linux instructions from start to finish. Do not mix with Windows steps.
  • macOS (Intel/Apple Silicon): Docker Desktop works. If containers stop immediately, check logs (see previous section).

"docker compose" not found

Typical errors students see

  • docker: 'compose' is not a docker command.
  • docker: 'compose' is not in the docker CLI.
  • docker-compose: command not found

What it means

  • Your Docker installation is old or missing the Compose v2 plugin.

Fix

  • Update Docker to a recent version that includes Compose v2 (subcommand docker compose).
  • Or install the Compose plugin for your distribution.
  • After updating, retry:
    docker compose version
    docker compose up

Do I need a VM (.ova/.vdi)?

Clarification

  • No. SCL does not provide .ova or .vdi images.
  • Everything runs via Docker. You only need Docker and Git.

Remote students and networking

Clarification

  • No special external network access is required.
  • The Hackerlab container is your source machine for challenges.
  • Use the provided terminal/SSH into the container and look for the test flag inside the container.

Clean rebuild when things get weird

When to use

  • You changed line endings settings.
  • You suspect stale layers or misbuilt images.

Steps

# stop and remove containers/images (use Docker Desktop or CLI)
docker compose down --volumes
docker system prune -af

# optional: delete and re-clone after fixing Git line endings on Windows
rm -rf stratocyberlab
git clone https://github.com/stratosphereips/stratocyberlab.git
cd stratocyberlab

# rebuild fresh
docker compose build --no-cache
docker compose up

Beginner tips and common pitfalls

  • Always run commands from the project folder:
    cd stratocyberlab
  • Do not mix Windows and Linux/WSL instructions. Pick one path and stick to it.
  • On Windows, fix Git line endings first, then re-clone, then rebuild.
  • To separate “Docker is broken” from “SCL setup issue”, run:
    docker run hello-world

What to include when asking for help

  • Operating system (Windows/macOS/Linux) and CPU (Intel/AMD/Apple Silicon).
  • Docker Desktop version and docker compose version.
  • Exact command you ran and the full error message (copy/paste).
  • Screenshot of Docker Desktop “Containers” view.