Add Docker support for headless network discovery#9
Open
asachs01 wants to merge 1 commit intoscottpeterman:mainfrom
Open
Add Docker support for headless network discovery#9asachs01 wants to merge 1 commit intoscottpeterman:mainfrom
asachs01 wants to merge 1 commit intoscottpeterman:mainfrom
Conversation
Enables running SC2 discovery in Docker without GUI dependencies. The container uses library APIs directly to bypass interactive getpass() prompts, saving ~200MB by excluding PyQt6. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
docker/directory with Dockerfile, docker-compose.yml, entrypoint, and discovery runner--no-depsto skip PyQt6 (~200MB savings), explicitly lists headless runtime depsCredentialVault,DiscoveryEngine) to bypass interactivegetpass()promptsMotivation
Several users have asked about running SC2 in headless/scheduled environments (cron jobs, CI pipelines, remote servers without X11). This PR provides a production-ready Docker deployment that handles the main pain points:
sc2-creds initandsc2-discoverprompt for passwords, which fails in non-interactive contextsWhat's included
docker/Dockerfiledocker/docker-compose.ymldocker/.env.templatedocker/entrypoint.shdocker/discovery_runner.pydocker/.gitignoreTest plan
cd docker && docker compose buildcompletes without errorsdocker compose upwith valid .env runs discovery against test networkdocker/output/docker compose run sc2 bashprovides interactive shell for debugging