{"id":33607,"date":"2024-07-02T06:50:29","date_gmt":"2024-07-02T06:50:29","guid":{"rendered":"https:\/\/kalilinuxtutorials.com\/?p=33607"},"modified":"2024-07-02T06:50:30","modified_gmt":"2024-07-02T06:50:30","slug":"deployment-instructions","status":"publish","type":"post","link":"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/","title":{"rendered":"Deployment Instructions &#8211; Setting Up The PinguCrew Project With Docker, Python, And Node.js"},"content":{"rendered":"\n<p>At the moment the default configuration when the\u00a0<a href=\"https:\/\/github.com\/IOActive\/PinguCrew\/blob\/master\/docs\/butler.md#run-pingucrew-backend-server\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">run_server butler command<\/a>\u00a0uses docker containers to run the MongoDB, rabbit-mq and minio services. <\/p>\n\n\n\n<p>It is mandatory to have docker service installed in case the the fault configuration is used. <\/p>\n\n\n\n<p>To install docker you can refer to the official installtion instructions\u00a0<a href=\"https:\/\/docs.docker.com\/engine\/install\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Install Docker Engine<\/a>:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Python<\/strong><a href=\"https:\/\/github.com\/IOActive\/PinguCrew\/blob\/master\/docs\/deployment_instructions.md#python\"><\/a><\/h2>\n\n\n\n<p>To run the backend server and the Pingu bot it is necessary to have latest&nbsp;<a href=\"https:\/\/docs.python.org\/3\/using\/index.html\">python<\/a>&nbsp;version installed in your system.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Node.js<\/strong><a href=\"https:\/\/github.com\/IOActive\/PinguCrew\/blob\/master\/docs\/deployment_instructions.md#nodejs\"><\/a><\/h2>\n\n\n\n<p>By the fault in order to execute the Pingu Frontend the framework uses\u00a0<a href=\"https:\/\/nodejs.org\/en\/learn\/getting-started\/how-to-install-nodejs\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">NodeJS<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Deployment Steps<\/strong><a href=\"https:\/\/github.com\/IOActive\/PinguCrew\/blob\/master\/docs\/deployment_instructions.md#deployment-steps\"><\/a><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Sync Submodules<\/strong>: First of all as the project is fragmented in multiple git submodules once the PinguCrew project is cloned it will be necessary to run the following git command to sync the rest of git submodules.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>git submodule update --init<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li><strong>Install Dependencies<\/strong>: Instead of manually installing all the dependency manually use the\u00a0<a href=\"https:\/\/github.com\/IOActive\/PinguCrew\/blob\/master\/docs\/butler.md#bootstrap-all-pingucrew-components\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">butler boostrap command<\/a>.<\/li>\n\n\n\n<li><strong>Setup configuration file parameters<\/strong>: You can find and modify the project configuration by editting the file located in\u00a0<strong>configs\/test\/project.yaml.<\/strong>\u00a0The following parameters need to be configured before jumping to the following deployment step:\n<ul class=\"wp-block-list\">\n<li><strong>MINIO_ROOT_USER &amp; MINIO_ROOT_PASSWORD<\/strong>: admin credentials to access the Mino Dashboards.<\/li>\n\n\n\n<li><strong>SECRET_KEY<\/strong>: This ensures that sensitive information, like connection strings, API credentials, and user data, are encrypted and protected from unauthorized access in the Django Backend.<\/li>\n\n\n\n<li><strong>MINIO_STORAGE_PATH<\/strong>: local folder path where the Minio bucket DB will be stored.<\/li>\n\n\n\n<li><strong>MONGO_DB_PATH:<\/strong>\u00a0local path where the MongoDB will be stored.<\/li>\n\n\n\n<li><strong>BACKEND_SUPERUSER<\/strong>: Django dashboard admin username. The admin password will be requested during when\u00a0<a href=\"https:\/\/github.com\/IOActive\/PinguCrew\/blob\/master\/docs\/butler.md#run-pingucrew-backend-server\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">run_server butler command line<\/a>\u00a0is executed if the boostrap flag (-b) is set.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Run backend server<\/strong>: The easiest way to run the backend service is using the\u00a0<a href=\"https:\/\/github.com\/IOActive\/PinguCrew\/blob\/master\/docs\/butler.md#run-pingucrew-backend-server\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">run_server butler command line<\/a>\u00a0boostrap command. The butler assitant will make sure to initialize all the backend components for you including MongoDb, rabbit-mq and minio.<\/li>\n\n\n\n<li><strong>Generate access tokens for the bots<\/strong>: The Pingu bots need access tokens to comunicate with the backend API and the minio buckets API. \n<ul class=\"wp-block-list\">\n<li>Therefore, before execution any bot it is necesary to manually generate these token using the\u00a0<a href=\"http:\/\/127.0.0.1:8086\/admin\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Django Admin dashboard<\/a>\u00a0or using the\u00a0<a href=\"http:\/\/127.0.0.1:8086\/api\/swagger\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">API directly<\/a>\u00a0and the\u00a0<a href=\"http:\/\/127.0.0.1:9001\/buckets\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">minio dashboard<\/a>.\n<ul class=\"wp-block-list\">\n<li><strong>Note:<\/strong>\u00a0At this point you will notice that the\u00a0<strong>configs\/<\/strong>\u00a0folder has been linked to all the subprojects.<strong>Note<\/strong>: every time the butler command line is use the source folder will be sync with their copies.\n<ul class=\"wp-block-list\">\n<li>There are few key values inside the project.yaml file that you will need to modify in order to run the Pingu bot succesfully:\n<ol class=\"wp-block-list\">\n<li><strong>MINIO_ACCESS_KEY &amp; MINIO_SECRET_KEY<\/strong>: To get this keys it is necesary to generate them using the minio dashboard.<\/li>\n\n\n\n<li><strong>API_HOST &amp;&amp; API_KEY:<\/strong>\u00a0API host and API token used by the bots to interact with the backend. \n<ul class=\"wp-block-list\">\n<li>At the moment all the bots share the same access token but in the future this configuration variable will be moved to the &#8220;src\/pingubot\/bot_working_directory\/env.yaml&#8221; configuration file that way each bot will have its own access token.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Run forntend server<\/strong>: The easyest way to run the frontend dashboard is by using the\u00a0<a href=\"https:\/\/github.com\/IOActive\/PinguCrew\/blob\/master\/docs\/butler.md#Run-Pingu-Frontend\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">run_web butler command<\/a>. \n<ul class=\"wp-block-list\">\n<li>At this point it is posible to create a dashboard user by using the\u00a0<a href=\"http:\/\/127.0.0.1:8086\/admin\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Django Admin dashboard<\/a>\u00a0or directly using the registration form in the login page.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>At the moment the default configuration when the\u00a0run_server butler command\u00a0uses docker containers to run the MongoDB, rabbit-mq and minio services. It is mandatory to have docker service installed in case the the fault configuration is used. To install docker you can refer to the official installtion instructions\u00a0Install Docker Engine: Python To run the backend server [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":33611,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiHHWBgVwcSYwcF-FwGYUB_jZbBMX0qpcyrYaMj68WhiHrcd8FlwtcqSe-AxTkKqRoQPglSJHWvkZMdF0EGQQTduYq9EzTvDH_D1MvGaDbLj-yp00Y-7a8k0zSO_-e7VL082t0dFYCcx7kisYbXObjJweGqCtjrmimBPNwcyoDGt26O8vCZl2AQPKBLNhx3\/s16000\/Deployment%20Instructions%20.webp","fifu_image_alt":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[41],"tags":[737,6321,6052,6325],"class_list":["post-33607","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tuts","tag-cybersecurity","tag-informationsecurity","tag-kalilinux","tag-kalilinuxtools"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Deployment Instructions - Setting Up The PinguCrew Project With<\/title>\n<meta name=\"description\" content=\"At the moment the default configuration when the\u00a0run_server butler command\u00a0uses docker containers to run the MongoDB, rabbit-mq and\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deployment Instructions - Setting Up The PinguCrew Project With\" \/>\n<meta property=\"og:description\" content=\"At the moment the default configuration when the\u00a0run_server butler command\u00a0uses docker containers to run the MongoDB, rabbit-mq and\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/\" \/>\n<meta property=\"og:site_name\" content=\"Kali Linux Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-02T06:50:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-02T06:50:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiHHWBgVwcSYwcF-FwGYUB_jZbBMX0qpcyrYaMj68WhiHrcd8FlwtcqSe-AxTkKqRoQPglSJHWvkZMdF0EGQQTduYq9EzTvDH_D1MvGaDbLj-yp00Y-7a8k0zSO_-e7VL082t0dFYCcx7kisYbXObjJweGqCtjrmimBPNwcyoDGt26O8vCZl2AQPKBLNhx3\/s16000\/Deployment%20Instructions%20.webp\" \/>\n<meta name=\"author\" content=\"Varshini\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiHHWBgVwcSYwcF-FwGYUB_jZbBMX0qpcyrYaMj68WhiHrcd8FlwtcqSe-AxTkKqRoQPglSJHWvkZMdF0EGQQTduYq9EzTvDH_D1MvGaDbLj-yp00Y-7a8k0zSO_-e7VL082t0dFYCcx7kisYbXObjJweGqCtjrmimBPNwcyoDGt26O8vCZl2AQPKBLNhx3\/s16000\/Deployment%20Instructions%20.webp\" \/>\n<meta name=\"twitter:creator\" content=\"@CyberEdition\" \/>\n<meta name=\"twitter:site\" content=\"@CyberEdition\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Varshini\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/\"},\"author\":{\"name\":\"Varshini\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/3c3b3f82a74146532c4def299fe069fa\"},\"headline\":\"Deployment Instructions &#8211; Setting Up The PinguCrew Project With Docker, Python, And Node.js\",\"datePublished\":\"2024-07-02T06:50:29+00:00\",\"dateModified\":\"2024-07-02T06:50:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/\"},\"wordCount\":569,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiHHWBgVwcSYwcF-FwGYUB_jZbBMX0qpcyrYaMj68WhiHrcd8FlwtcqSe-AxTkKqRoQPglSJHWvkZMdF0EGQQTduYq9EzTvDH_D1MvGaDbLj-yp00Y-7a8k0zSO_-e7VL082t0dFYCcx7kisYbXObjJweGqCtjrmimBPNwcyoDGt26O8vCZl2AQPKBLNhx3\/s16000\/Deployment%20Instructions%20.webp\",\"keywords\":[\"cybersecurity\",\"informationsecurity\",\"kalilinux\",\"kalilinuxtools\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/\",\"url\":\"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/\",\"name\":\"Deployment Instructions - Setting Up The PinguCrew Project With\",\"isPartOf\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiHHWBgVwcSYwcF-FwGYUB_jZbBMX0qpcyrYaMj68WhiHrcd8FlwtcqSe-AxTkKqRoQPglSJHWvkZMdF0EGQQTduYq9EzTvDH_D1MvGaDbLj-yp00Y-7a8k0zSO_-e7VL082t0dFYCcx7kisYbXObjJweGqCtjrmimBPNwcyoDGt26O8vCZl2AQPKBLNhx3\/s16000\/Deployment%20Instructions%20.webp\",\"datePublished\":\"2024-07-02T06:50:29+00:00\",\"dateModified\":\"2024-07-02T06:50:30+00:00\",\"description\":\"At the moment the default configuration when the\u00a0run_server butler command\u00a0uses docker containers to run the MongoDB, rabbit-mq and\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/#primaryimage\",\"url\":\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiHHWBgVwcSYwcF-FwGYUB_jZbBMX0qpcyrYaMj68WhiHrcd8FlwtcqSe-AxTkKqRoQPglSJHWvkZMdF0EGQQTduYq9EzTvDH_D1MvGaDbLj-yp00Y-7a8k0zSO_-e7VL082t0dFYCcx7kisYbXObjJweGqCtjrmimBPNwcyoDGt26O8vCZl2AQPKBLNhx3\/s16000\/Deployment%20Instructions%20.webp\",\"contentUrl\":\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiHHWBgVwcSYwcF-FwGYUB_jZbBMX0qpcyrYaMj68WhiHrcd8FlwtcqSe-AxTkKqRoQPglSJHWvkZMdF0EGQQTduYq9EzTvDH_D1MvGaDbLj-yp00Y-7a8k0zSO_-e7VL082t0dFYCcx7kisYbXObjJweGqCtjrmimBPNwcyoDGt26O8vCZl2AQPKBLNhx3\/s16000\/Deployment%20Instructions%20.webp\",\"width\":\"1600\",\"height\":\"900\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#website\",\"url\":\"https:\/\/kalilinuxtutorials.com\/\",\"name\":\"Kali Linux Tutorials\",\"description\":\"Kali Linux Tutorials\",\"publisher\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kalilinuxtutorials.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#organization\",\"name\":\"Kali Linux Tutorials\",\"url\":\"https:\/\/kalilinuxtutorials.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png\",\"contentUrl\":\"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png\",\"width\":272,\"height\":90,\"caption\":\"Kali Linux Tutorials\"},\"image\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/CyberEdition\",\"https:\/\/www.threads.com\/@cybersecurityedition\",\"https:\/\/www.linkedin.com\/company\/cyberedition\",\"https:\/\/www.instagram.com\/cybersecurityedition\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/3c3b3f82a74146532c4def299fe069fa\",\"name\":\"Varshini\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f19f43637c0f83fb3dcfb498f306b2a9ac0025ce85840ab52ee8c01f5361f269?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f19f43637c0f83fb3dcfb498f306b2a9ac0025ce85840ab52ee8c01f5361f269?s=96&d=mm&r=g\",\"caption\":\"Varshini\"},\"description\":\"Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.\",\"sameAs\":[\"http:\/\/kalilinuxtutorials.com\",\"https:\/\/www.linkedin.com\/in\/senthamil-selvan-14043a285\/\"],\"url\":\"https:\/\/kalilinuxtutorials.com\/author\/vinayakagrawal\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Deployment Instructions - Setting Up The PinguCrew Project With","description":"At the moment the default configuration when the\u00a0run_server butler command\u00a0uses docker containers to run the MongoDB, rabbit-mq and","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/","og_locale":"en_US","og_type":"article","og_title":"Deployment Instructions - Setting Up The PinguCrew Project With","og_description":"At the moment the default configuration when the\u00a0run_server butler command\u00a0uses docker containers to run the MongoDB, rabbit-mq and","og_url":"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/","og_site_name":"Kali Linux Tutorials","article_published_time":"2024-07-02T06:50:29+00:00","article_modified_time":"2024-07-02T06:50:30+00:00","og_image":[{"url":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiHHWBgVwcSYwcF-FwGYUB_jZbBMX0qpcyrYaMj68WhiHrcd8FlwtcqSe-AxTkKqRoQPglSJHWvkZMdF0EGQQTduYq9EzTvDH_D1MvGaDbLj-yp00Y-7a8k0zSO_-e7VL082t0dFYCcx7kisYbXObjJweGqCtjrmimBPNwcyoDGt26O8vCZl2AQPKBLNhx3\/s16000\/Deployment%20Instructions%20.webp","type":"","width":"","height":""}],"author":"Varshini","twitter_card":"summary_large_image","twitter_image":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiHHWBgVwcSYwcF-FwGYUB_jZbBMX0qpcyrYaMj68WhiHrcd8FlwtcqSe-AxTkKqRoQPglSJHWvkZMdF0EGQQTduYq9EzTvDH_D1MvGaDbLj-yp00Y-7a8k0zSO_-e7VL082t0dFYCcx7kisYbXObjJweGqCtjrmimBPNwcyoDGt26O8vCZl2AQPKBLNhx3\/s16000\/Deployment%20Instructions%20.webp","twitter_creator":"@CyberEdition","twitter_site":"@CyberEdition","twitter_misc":{"Written by":"Varshini","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/#article","isPartOf":{"@id":"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/"},"author":{"name":"Varshini","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/3c3b3f82a74146532c4def299fe069fa"},"headline":"Deployment Instructions &#8211; Setting Up The PinguCrew Project With Docker, Python, And Node.js","datePublished":"2024-07-02T06:50:29+00:00","dateModified":"2024-07-02T06:50:30+00:00","mainEntityOfPage":{"@id":"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/"},"wordCount":569,"commentCount":0,"publisher":{"@id":"https:\/\/kalilinuxtutorials.com\/#organization"},"image":{"@id":"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/#primaryimage"},"thumbnailUrl":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiHHWBgVwcSYwcF-FwGYUB_jZbBMX0qpcyrYaMj68WhiHrcd8FlwtcqSe-AxTkKqRoQPglSJHWvkZMdF0EGQQTduYq9EzTvDH_D1MvGaDbLj-yp00Y-7a8k0zSO_-e7VL082t0dFYCcx7kisYbXObjJweGqCtjrmimBPNwcyoDGt26O8vCZl2AQPKBLNhx3\/s16000\/Deployment%20Instructions%20.webp","keywords":["cybersecurity","informationsecurity","kalilinux","kalilinuxtools"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kalilinuxtutorials.com\/deployment-instructions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/","url":"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/","name":"Deployment Instructions - Setting Up The PinguCrew Project With","isPartOf":{"@id":"https:\/\/kalilinuxtutorials.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/#primaryimage"},"image":{"@id":"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/#primaryimage"},"thumbnailUrl":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiHHWBgVwcSYwcF-FwGYUB_jZbBMX0qpcyrYaMj68WhiHrcd8FlwtcqSe-AxTkKqRoQPglSJHWvkZMdF0EGQQTduYq9EzTvDH_D1MvGaDbLj-yp00Y-7a8k0zSO_-e7VL082t0dFYCcx7kisYbXObjJweGqCtjrmimBPNwcyoDGt26O8vCZl2AQPKBLNhx3\/s16000\/Deployment%20Instructions%20.webp","datePublished":"2024-07-02T06:50:29+00:00","dateModified":"2024-07-02T06:50:30+00:00","description":"At the moment the default configuration when the\u00a0run_server butler command\u00a0uses docker containers to run the MongoDB, rabbit-mq and","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kalilinuxtutorials.com\/deployment-instructions\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kalilinuxtutorials.com\/deployment-instructions\/#primaryimage","url":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiHHWBgVwcSYwcF-FwGYUB_jZbBMX0qpcyrYaMj68WhiHrcd8FlwtcqSe-AxTkKqRoQPglSJHWvkZMdF0EGQQTduYq9EzTvDH_D1MvGaDbLj-yp00Y-7a8k0zSO_-e7VL082t0dFYCcx7kisYbXObjJweGqCtjrmimBPNwcyoDGt26O8vCZl2AQPKBLNhx3\/s16000\/Deployment%20Instructions%20.webp","contentUrl":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiHHWBgVwcSYwcF-FwGYUB_jZbBMX0qpcyrYaMj68WhiHrcd8FlwtcqSe-AxTkKqRoQPglSJHWvkZMdF0EGQQTduYq9EzTvDH_D1MvGaDbLj-yp00Y-7a8k0zSO_-e7VL082t0dFYCcx7kisYbXObjJweGqCtjrmimBPNwcyoDGt26O8vCZl2AQPKBLNhx3\/s16000\/Deployment%20Instructions%20.webp","width":"1600","height":"900"},{"@type":"WebSite","@id":"https:\/\/kalilinuxtutorials.com\/#website","url":"https:\/\/kalilinuxtutorials.com\/","name":"Kali Linux Tutorials","description":"Kali Linux Tutorials","publisher":{"@id":"https:\/\/kalilinuxtutorials.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kalilinuxtutorials.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/kalilinuxtutorials.com\/#organization","name":"Kali Linux Tutorials","url":"https:\/\/kalilinuxtutorials.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/","url":"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png","contentUrl":"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png","width":272,"height":90,"caption":"Kali Linux Tutorials"},"image":{"@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/CyberEdition","https:\/\/www.threads.com\/@cybersecurityedition","https:\/\/www.linkedin.com\/company\/cyberedition","https:\/\/www.instagram.com\/cybersecurityedition\/"]},{"@type":"Person","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/3c3b3f82a74146532c4def299fe069fa","name":"Varshini","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f19f43637c0f83fb3dcfb498f306b2a9ac0025ce85840ab52ee8c01f5361f269?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f19f43637c0f83fb3dcfb498f306b2a9ac0025ce85840ab52ee8c01f5361f269?s=96&d=mm&r=g","caption":"Varshini"},"description":"Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.","sameAs":["http:\/\/kalilinuxtutorials.com","https:\/\/www.linkedin.com\/in\/senthamil-selvan-14043a285\/"],"url":"https:\/\/kalilinuxtutorials.com\/author\/vinayakagrawal\/"}]}},"jetpack_featured_media_url":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiHHWBgVwcSYwcF-FwGYUB_jZbBMX0qpcyrYaMj68WhiHrcd8FlwtcqSe-AxTkKqRoQPglSJHWvkZMdF0EGQQTduYq9EzTvDH_D1MvGaDbLj-yp00Y-7a8k0zSO_-e7VL082t0dFYCcx7kisYbXObjJweGqCtjrmimBPNwcyoDGt26O8vCZl2AQPKBLNhx3\/s16000\/Deployment%20Instructions%20.webp","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":2318,"url":"https:\/\/kalilinuxtutorials.com\/bootstomp-vulnerability-bug-finder\/","url_meta":{"origin":33607,"position":0},"title":"BootStomp &#8211; A Bootloader Vulnerability Bug Finder","author":"R K","date":"August 20, 2018","format":false,"excerpt":"BootStomp is a tool to boot-loader vulnerability bug finder. It will look different for two different class of bugs: memory corruption and state storage vulnerabilities. BootStomp works with boot-loaders compiled for ARM architectures (32 and 64 bits both) and that results might slightly vary depending on angr and Z3's versions.\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/kalilinuxtutorials.com\/wp-content\/uploads\/2018\/04\/button_download.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":3694,"url":"https:\/\/kalilinuxtutorials.com\/h8mail-email-password-breach\/","url_meta":{"origin":33607,"position":1},"title":"H8mail &#8211; Email OSINT And Password Breach Hunting","author":"R K","date":"January 27, 2019","format":false,"excerpt":"Email OSINT and password breach hunting. Use h8mail to find passwords through different breach and reconnaissance services, or the infamous Breached Compilation torrent. H8mail Features Email pattern matching (reg exp), useful for all those raw HTML files Small and fast Alpine Dockerfile available CLI or Bulk file-reading for targeting Output\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":33675,"url":"https:\/\/kalilinuxtutorials.com\/dolost\/","url_meta":{"origin":33607,"position":2},"title":"DOLOST &#8211; Harnessing Cyber Deception For Strategic Security Deployments","author":"Varshini","date":"July 5, 2024","format":false,"excerpt":"Explore the cutting-edge framework 'DOLOST,' designed to innovate the field of cyber deception. This tool automates the deployment of decoys and deceptive environments, enhancing security strategies. Learn how DOLOST not only creates but also meticulously designs these operations to outsmart and trap potential threats. Table Of Contents About Installation Usage\u2026","rel":"","context":"In &quot;Cyber security&quot;","block_context":{"text":"Cyber security","link":"https:\/\/kalilinuxtutorials.com\/category\/cyber-security\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiTr2I_v586DezLbW2QPJ-46kcYaB1CWslg3awbB6fonRBY4O_wnBaNiKfRcE8uYhVMSC3yPbxRnX7kbUgLDdQjnsBWTkk_aeBkE1xbQ8uFqjBUHohxB71acYND6jOXG5LssiIe0sILd0CP71K9zx2OPIRcZQF8T138hseONav0JxF5uyBjn5nGtvlULycO\/s16000\/DOLOST%20.webp?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiTr2I_v586DezLbW2QPJ-46kcYaB1CWslg3awbB6fonRBY4O_wnBaNiKfRcE8uYhVMSC3yPbxRnX7kbUgLDdQjnsBWTkk_aeBkE1xbQ8uFqjBUHohxB71acYND6jOXG5LssiIe0sILd0CP71K9zx2OPIRcZQF8T138hseONav0JxF5uyBjn5nGtvlULycO\/s16000\/DOLOST%20.webp?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiTr2I_v586DezLbW2QPJ-46kcYaB1CWslg3awbB6fonRBY4O_wnBaNiKfRcE8uYhVMSC3yPbxRnX7kbUgLDdQjnsBWTkk_aeBkE1xbQ8uFqjBUHohxB71acYND6jOXG5LssiIe0sILd0CP71K9zx2OPIRcZQF8T138hseONav0JxF5uyBjn5nGtvlULycO\/s16000\/DOLOST%20.webp?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiTr2I_v586DezLbW2QPJ-46kcYaB1CWslg3awbB6fonRBY4O_wnBaNiKfRcE8uYhVMSC3yPbxRnX7kbUgLDdQjnsBWTkk_aeBkE1xbQ8uFqjBUHohxB71acYND6jOXG5LssiIe0sILd0CP71K9zx2OPIRcZQF8T138hseONav0JxF5uyBjn5nGtvlULycO\/s16000\/DOLOST%20.webp?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiTr2I_v586DezLbW2QPJ-46kcYaB1CWslg3awbB6fonRBY4O_wnBaNiKfRcE8uYhVMSC3yPbxRnX7kbUgLDdQjnsBWTkk_aeBkE1xbQ8uFqjBUHohxB71acYND6jOXG5LssiIe0sILd0CP71K9zx2OPIRcZQF8T138hseONav0JxF5uyBjn5nGtvlULycO\/s16000\/DOLOST%20.webp?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiTr2I_v586DezLbW2QPJ-46kcYaB1CWslg3awbB6fonRBY4O_wnBaNiKfRcE8uYhVMSC3yPbxRnX7kbUgLDdQjnsBWTkk_aeBkE1xbQ8uFqjBUHohxB71acYND6jOXG5LssiIe0sILd0CP71K9zx2OPIRcZQF8T138hseONav0JxF5uyBjn5nGtvlULycO\/s16000\/DOLOST%20.webp?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":3653,"url":"https:\/\/kalilinuxtutorials.com\/conpot-ics-scada-honeypot\/","url_meta":{"origin":33607,"position":3},"title":"Conpot &#8211; ICS\/SCADA Honeypot","author":"R K","date":"January 24, 2019","format":false,"excerpt":"Conpot is an ICS honeypot with the goal to collect intelligence about the motives and methods of adversaries targeting industrial control systems. Also Read:BruteX \u2013 Automatically Brute Force All Services Running On A Target Conpot Installation Ubuntu You need to add multiverse to the source, like; $ sudo vim \/etc\/apt\/sources.list\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":7533,"url":"https:\/\/kalilinuxtutorials.com\/ccat-cloud-container-attack\/","url_meta":{"origin":33607,"position":4},"title":"CCat: Cloud Container Attack Tool 2019","author":"R K","date":"December 3, 2019","format":false,"excerpt":"Cloud Container Attack Tool or CCat is a tool for testing security of container environments. Requirements Python 3.5+ is required.Docker is required. Note: It is tested with Docker Engine 19.03.1 version.Named profile is required for using AWS functionality.A service account or access token is required for using GCP functionality. Installation\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/img.youtube.com\/vi\/12zEXfCxIrk\/0.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":29510,"url":"https:\/\/kalilinuxtutorials.com\/jupyter-kali\/","url_meta":{"origin":33607,"position":5},"title":"jupyter-kali","author":"Aman Mishra","date":"July 12, 2023","format":false,"excerpt":"Introduction A Kali-based container for recon and enumeration using JupyterLab hosted on Docker. Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations, and narrative text. Uses include data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhjh68owN9i6hDRfalVxiUeC0kIimuEAZZq6Zp5zl8j2mI85W055Y-rr3L2NVYzukpgi6marZgaY1V5VnSTFzt2ao7H-rp9YesYUcNFTaEXzyWnH9NC0xaIUn77ILfJmNGKFmwURs0n7wEIWyEOjf2_bsbNGFWtJ6DFBMXWyly7NzV3-QHQW3d3vy9tpuf8\/s728\/jupyter-1.webp?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhjh68owN9i6hDRfalVxiUeC0kIimuEAZZq6Zp5zl8j2mI85W055Y-rr3L2NVYzukpgi6marZgaY1V5VnSTFzt2ao7H-rp9YesYUcNFTaEXzyWnH9NC0xaIUn77ILfJmNGKFmwURs0n7wEIWyEOjf2_bsbNGFWtJ6DFBMXWyly7NzV3-QHQW3d3vy9tpuf8\/s728\/jupyter-1.webp?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhjh68owN9i6hDRfalVxiUeC0kIimuEAZZq6Zp5zl8j2mI85W055Y-rr3L2NVYzukpgi6marZgaY1V5VnSTFzt2ao7H-rp9YesYUcNFTaEXzyWnH9NC0xaIUn77ILfJmNGKFmwURs0n7wEIWyEOjf2_bsbNGFWtJ6DFBMXWyly7NzV3-QHQW3d3vy9tpuf8\/s728\/jupyter-1.webp?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhjh68owN9i6hDRfalVxiUeC0kIimuEAZZq6Zp5zl8j2mI85W055Y-rr3L2NVYzukpgi6marZgaY1V5VnSTFzt2ao7H-rp9YesYUcNFTaEXzyWnH9NC0xaIUn77ILfJmNGKFmwURs0n7wEIWyEOjf2_bsbNGFWtJ6DFBMXWyly7NzV3-QHQW3d3vy9tpuf8\/s728\/jupyter-1.webp?resize=700%2C400&ssl=1 2x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/posts\/33607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/comments?post=33607"}],"version-history":[{"count":4,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/posts\/33607\/revisions"}],"predecessor-version":[{"id":33612,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/posts\/33607\/revisions\/33612"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/media\/33611"}],"wp:attachment":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/media?parent=33607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/categories?post=33607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/tags?post=33607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}