Portable single-container app for network segment conflict analysis and controlled range cleanup.
Created by Hassan Karhani.
No MongoDB, nginx, or external database is required.
git clone https://github.com/hkarhani/SCRM.git
cd SCRM
docker compose up --build -d
Open:
http://localhost:8088
The default Compose file binds the app to 127.0.0.1 only, so it is accessible only from the machine running the container.
docker compose down
Runtime data is stored locally under:
./SCR
This folder is ignored by Git and contains uploaded XML files, snapshots, generated documents, and local API metadata.
To reset the workspace:
docker compose down
rm -rf SCR
Policies.xml.Segments.xml.Detailed workflow and safety notes are in docs/DETAILS.md.
When using a published image, keep the same localhost-only binding:
docker run --rm -p 127.0.0.1:8088:8080 -v "$PWD/SCR:/app/SCR" hkarhani/scrm:latest
The container runs as a non-root user.
Docker Hub automated builds are supported through the repository hooks/ scripts.
hooks/build bootstraps a Buildx docker-container builder, then runs docker buildx build with --sbom=true and --provenance=mode=max, then pushes the attested image.hooks/push skips the default push because the attested image was already pushed during the build hook.Keep Docker Hub automated builds enabled, but make sure this repository is configured as the build source so Docker Hub uses the checked-in hooks.
To publish manually with equivalent attestations, use Docker Buildx:
docker login
docker buildx build \
--platform linux/amd64,linux/arm64 \
--sbom=true \
--provenance=mode=max \
--tag hkarhani/scrm:latest \
--push .
The GitHub workflow validates the image build only. Docker Hub automated builds own the published latest image.
Content type
Image
Digest
sha256:1138696a2…
Size
38.3 MB
Last updated
5 months ago
docker pull hkarhani/scrm