SecurityShepherd Docker & Self-Hosted Deployment

GitHub

Web and mobile application security training platform

1,446 stars Java Java 1 file ยท ~1,341 tokens
RAW Compose
1. Pull Image (DOCKERHUB) docker pull library/${IMAGE_TOMCAT}
2. Docker Run (1-Click Launch) docker run -d --name securityshepherd --restart always ${IMAGE_TOMCAT}
3. Podman Run podman run -d --name securityshepherd --restart always ${IMAGE_TOMCAT}
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/library/${IMAGE_TOMCAT}:latest
5. ORAS Pull (OCI Artifact) oras pull ${IMAGE_TOMCAT}
6. Compose Deployment docker compose up -d
docker-compose.yml
Download .yml
version: '2'
services:
  db:
    image: ${IMAGE_MARIADB}
    container_name: ${CONTAINER_MARIADB}
    volumes:
      - data:/var/lib/mysql
    env_file:
      - .env
    build:
      context: docker/mariadb
      args:
        DB_VERSION: ${DB_VERSION}
        DB_BIND_ADDRESS: ${DB_BIND_ADDRESS}
        CONTAINER_TOMCAT: ${CONTAINER_TOMCAT}
        DOCKER_NETWORK_NAME: ${DOCKER_NETWORK_NAME}
    environment:
      - MYSQL_ROOT_PASSWORD=${DB_PASS}
    ports:
      - "${DB_SERVER_MAPPED_HOST}:${DB_PORT_MAPPED_HOST}:3306"
  mongo:
    image: ${IMAGE_MONGO}
    container_name: ${CONTAINER_MONGO}
    volumes:
      - mongodata:/data/db
      - mongoconfig:/data/configdb
    env_file:
      - .env
    build:
      context: ./docker/mongo
      args:
        MONGODB_VERSION: ${MONGODB_VERSION}
        MONGO_BIND_ADDRESS: ${MONGO_BIND_ADDRESS}
    ports:
      - "${MONGO_SERVER_MAPPED_HOST}:${MONGO_PORT_MAPPED_HOST}:27017"
  web:
    image: ${IMAGE_TOMCAT}
    container_name: ${CONTAINER_TOMCAT}
    volumes:
      - conf:/usr/local/tomcat/conf
      - logs:/usr/local/tomcat/logs
    env_file:
      - .env
    build:
      context: .
      args:
        TOMCAT_DOCKER_VERSION: ${TOMCAT_DOCKER_VERSION}
        DB_USER: ${DB_USER}
        DB_PASS: ${DB_PASS}
        MARIADB_URI: jdbc:mariadb://${CONTAINER_MARIADB}:3306
        MONGO_HOST: ${CONTAINER_MONGO}
        MONGO_PORT: 27017
        MONGO_CONN_TIMEOUT: 1000
        MONGO_SOCK_TIMEOUT: 0
        MONGO_SVR_TIMEOUT: 30000
        TLS_KEYSTORE_FILE: ${TLS_KEYSTORE_FILE}
        TLS_KEYSTORE_PASS: ${TLS_KEYSTORE_PASS}
        ALIAS: ${ALIAS}
        HTTPS_PORT: ${HTTPS_PORT}
    ports:
      - $HTTP_PORT:8080
      - $HTTPS_PORT:8443
    depends_on:
      - db
volumes:
  data:
  conf:
  logs:
  mongodata:
  mongoconfig: