Mobile-Security-Framework-MobSF Docker & Self-Hosted Deployment

GitHub

Mobile Security Framework (MobSF) is an automated, all-in-one mobile application (Android/iOS/Windows) pen-testing, malware analysis and security assessment...

RAW Compose
1. Pull Image (DOCKERHUB) docker pull opensecurity/mobile-security-framework-mobsf
2. Docker Run (1-Click Launch) docker run -d --name mobile-security-framework-mobsf -p 80:80 --restart always opensecurity/mobile-security-framework-mobsf:latest
3. Podman Run podman run -d --name mobile-security-framework-mobsf -p 80:80 --restart always opensecurity/mobile-security-framework-mobsf:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/opensecurity/mobile-security-framework-mobsf:latest
5. ORAS Pull (OCI Artifact) oras pull opensecurity/mobile-security-framework-mobsf:latest
6. Compose Deployment docker compose up -d
docker/docker-compose.yml
Download .yml
services:

  postgres:
    image: "postgres:latest"
    restart: always
    deploy:
      resources:
        limits:
          memory: 1G
        reservations:
          memory: 512M
    volumes:
      - $HOME/MobSF/postgresql_data:/var/lib/postgresql
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=mobsf
    networks:
      - mobsf_network

  nginx:
    image: nginx:latest
    restart: always
    deploy:
      resources:
        limits:
          memory: 1G
        reservations:
          memory: 256M
    ports:
      - "80:4000"
      - "1337:4001"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
    depends_on:
      - mobsf
    networks:
      - mobsf_network

  djangoq:
    image: opensecurity/mobile-security-framework-mobsf:latest
    build:
      context: ..
      dockerfile: Dockerfile
    restart: unless-stopped
    command: /home/mobsf/Mobile-Security-Framework-MobSF/scripts/qcluster.sh
    volumes:
      - $HOME/MobSF/mobsf_data:/home/mobsf/.MobSF
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=mobsf
      - POSTGRES_HOST=postgres
      - POSTGRES_PORT=5432
    depends_on:
      - postgres
    networks:
      - mobsf_network

  mobsf:
    image: opensecurity/mobile-security-framework-mobsf:latest
    build:
      context: ..
      dockerfile: Dockerfile
    restart: always
    tty: true
    volumes:
      - $HOME/MobSF/mobsf_data:/home/mobsf/.MobSF
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=mobsf
      - POSTGRES_HOST=postgres
      - POSTGRES_PORT=5432
      - MOBSF_ASYNC_ANALYSIS=1
    healthcheck:
      test: curl -f http://localhost:8000/login/ || exit 1
      interval: 30s
      timeout: 10s
      retries: 5
    depends_on:
      - postgres
      - djangoq
    networks:
      - mobsf_network
    extra_hosts:
      - "host.docker.internal:host-gateway"

networks:
  mobsf_network:
    driver: bridge