diff --git a/docker/_builder/.env b/docker/_builder/.env new file mode 100644 index 00000000..f65ca398 --- /dev/null +++ b/docker/_builder/.env @@ -0,0 +1,23 @@ +# T-Pot builder config file. Do not remove. + +########################## +# T-Pot Builder Settings # +########################## + +# docker compose .env +TPOT_DOCKER_ENV=./.env + +# Docker-Compose file +TPOT_DOCKER_COMPOSE=./docker-compose.yml + +# T-Pot Repos +TPOT_DOCKER_REPO=dtagdevsec +TPOT_GHCR_REPO=ghcr.io/telekom-security + +# T-Pot Version Tag +TPOT_VERSION=24.04 + +# T-Pot platforms (architectures) +# Most docker features are available on linux +TPOT_AMD64=linux/amd64 +TPOT_ARM64=linux/arm64 diff --git a/docker/_builder/docker-compose.yml b/docker/_builder/docker-compose.yml new file mode 100644 index 00000000..d4fbbddc --- /dev/null +++ b/docker/_builder/docker-compose.yml @@ -0,0 +1,47 @@ +services: + +################## +#### Honeypots +################## + +# Beelzebub service + beelzebub: + image: ${TPOT_DOCKER_REPO}/beelzebub:${TPOT_VERSION} + build: + tags: + - ${TPOT_GHCR_REPO}/beelzebub:${TPOT_VERSION} + context: ../beelzebub/ + dockerfile: ./Dockerfile + platforms: + - ${TPOT_AMD64} + - ${TPOT_ARM64} + +################## +#### Tools +################## + + +#### ELK +## Logstash service + logstash: + image: ${TPOT_DOCKER_REPO}/logstash:${TPOT_VERSION} + build: + tags: + - ${TPOT_GHCR_REPO}/logstash:${TPOT_VERSION} + context: ../elk/logstash/ + dockerfile: ./Dockerfile + platforms: + - ${TPOT_AMD64} + - ${TPOT_ARM64} + +# Map Web Service + map: + image: ${TPOT_DOCKER_REPO}/map:${TPOT_VERSION} + build: + tags: + - ${TPOT_GHCR_REPO}/map:${TPOT_VERSION} + context: ../elk/map/ + dockerfile: ./Dockerfile + platforms: + - ${TPOT_AMD64} + - ${TPOT_ARM64} diff --git a/tools/setup_builder.sh b/docker/_builder/setup_builder.sh similarity index 60% rename from tools/setup_builder.sh rename to docker/_builder/setup_builder.sh index 30ffc737..c0609dad 100755 --- a/tools/setup_builder.sh +++ b/docker/_builder/setup_builder.sh @@ -34,5 +34,20 @@ docker buildx inspect --bootstrap echo echo "### Done." echo -echo "Example: docker buildx build --platform linux/amd64,linux/arm64 -t username/demo:latest --push ." +echo "Example (manual build): docker buildx build --platform linux/amd64,linux/arm64 -t username/demo:latest --push ." echo "Docs: https://docs.docker.com/desktop/multi-arch/" +echo +echo "Example (build release): docker compose build" +echo +echo "Example (push release): docker compose build --push" +echo +echo "Example (build single image): docker compose build tpotinit" +echo +echo "Example (build and push single image): docker compose build tpotinit --push" +echo +echo "Resolve problems running ..." +echo "docker buildx create --use --name mybuilder" +echo "docker buildx inspect mybuilder --bootstrap" +echo "docker login -u " +echo "docker login ghcr.io - " +echo