Files
laradock/docs/contributing/index.html
Mahmoud Zalt 1a46cd5490 Updates
2025-05-28 04:45:26 +02:00

192 lines
32 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-contributing" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.3.0">
<title data-rh="true">Contributions | Laradock</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://laradock.io/img/laradock/laradock-logo.jpg"><meta data-rh="true" name="twitter:image" content="https://laradock.io/img/laradock/laradock-logo.jpg"><meta data-rh="true" property="og:url" content="https://laradock.io/docs/contributing"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Contributions | Laradock"><meta data-rh="true" name="description" content="Open in Gitpod"><meta data-rh="true" property="og:description" content="Open in Gitpod"><link data-rh="true" rel="icon" href="/laradock.ico"><link data-rh="true" rel="canonical" href="https://laradock.io/docs/contributing"><link data-rh="true" rel="alternate" href="https://laradock.io/docs/contributing" hreflang="en"><link data-rh="true" rel="alternate" href="https://laradock.io/docs/contributing" hreflang="x-default"><link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-CVZBKZ36Y5"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-CVZBKZ36Y5",{anonymize_ip:!0})</script><link rel="stylesheet" href="/assets/css/styles.a9eeb305.css">
<script src="/assets/js/runtime~main.3a61cefc.js" defer="defer"></script>
<script src="/assets/js/main.1e081bda.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/laradock/laradock-icon.png" alt="Laradock Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/laradock/laradock-icon.png" alt="Laradock Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Laradock</b></a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/laradock/laradock" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently dark mode)" aria-label="Switch between dark and light mode (currently dark mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/Intro">Introduction</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/getting-started">Getting Started</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/usage">Usage</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/help">Help</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/related-projects">Related Projects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/docs/contributing">Contributions</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Contributions</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Contributions</h1></header><p><a href="https://gitpod.io/#https://github.com/laradock/laradock" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://gitpod.io/button/open-in-gitpod.svg" alt="Open in Gitpod" class="img_ev3q"></a></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="have-a-question">Have a Question<a href="#have-a-question" class="hash-link" aria-label="Direct link to Have a Question" title="Direct link to Have a Question"></a></h2>
<p>If you have questions about how to use Laradock, please direct your questions to the discussion on <a href="https://gitter.im/Laradock/laradock" target="_blank" rel="noopener noreferrer">Gitter</a>. If you believe your question could help others, then consider opening an <a href="https://github.com/laradock/laradock/issues" target="_blank" rel="noopener noreferrer">Issue</a> (it will be labeled as <code>Question</code>) And you can still seek help on Gitter for it.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="found-an-issue">Found an Issue<a href="#found-an-issue" class="hash-link" aria-label="Direct link to Found an Issue" title="Direct link to Found an Issue"></a></h2>
<p>If you have an issue or you found a typo in the documentation, you can help us by
opening an <a href="https://github.com/laradock/laradock/issues" target="_blank" rel="noopener noreferrer">Issue</a>.</p>
<p><strong>Steps to do before opening an Issue:</strong></p>
<ol>
<li>
<p>Before you submit your issue search the archive, maybe your question was already answered couple hours ago (search in the closed Issues as well).</p>
</li>
<li>
<p>Decide if the Issue belongs to this project or to <a href="https://github.com/docker" target="_blank" rel="noopener noreferrer">Docker</a> itself! or even the tool you are using such as Nginx or MongoDB...</p>
</li>
</ol>
<p>If your issue appears to be a bug, and hasn&#x27;t been reported, then open a new issue.</p>
<p><em>This helps us maximize the effort we can spend fixing issues and adding new
features, by not reporting duplicate issues.</em></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="want-a-feature">Want a Feature<a href="#want-a-feature" class="hash-link" aria-label="Direct link to Want a Feature" title="Direct link to Want a Feature"></a></h2>
<p>You can request a new feature by submitting an <a href="https://github.com/laradock/laradock/issues" target="_blank" rel="noopener noreferrer">Issue</a> (it will be labeled as <code>Feature Suggestion</code>). If you would like to implement a new feature then consider submitting a Pull Request yourself.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="update-the-documentation-site">Update the Documentation (Site)<a href="#update-the-documentation-site" class="hash-link" aria-label="Direct link to Update the Documentation (Site)" title="Direct link to Update the Documentation (Site)"></a></h2>
<p>Laradock uses <a href="https://docusaurus.io/" target="_blank" rel="noopener noreferrer">Docusaurus</a> as its documentation site generator.</p>
<p>Navigate to the <code>DOCUMENTATION/docs</code> directory to locate and edit the Markdown files for each section of the documentation.</p>
<p><strong>Note:</strong> Each folder under <code>docs</code> represents a section in the sidebar menu, with a <code>sidebar_position</code> field in the frontmatter of each file that determines its order.</p>
<blockquote>
<p>The documentation site is auto-generated and deployed to the <code>gh-pages</code> branch by GitHub Actions when changes are pushed to the <code>master</code> branch.</p>
</blockquote>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="host-the-documentation-locally">Host the Documentation Locally<a href="#host-the-documentation-locally" class="hash-link" aria-label="Direct link to Host the Documentation Locally" title="Direct link to Host the Documentation Locally"></a></h3>
<ol>
<li>Make your changes are made in the <code>DOCUMENTATION/docs</code> directory (if you changed anything).</li>
<li>Navigate to <code>DOCUMENTATION/</code>.</li>
<li>Run the following command to start a local Docusaurus server:<!-- -->
<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> npm run start</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
</li>
<li>Visit <a href="http://localhost:3000/" target="_blank" rel="noopener noreferrer">http://localhost:3000/</a> to view the documentation site locally.</li>
</ol>
<p>This setup will allow you to preview your changes in real time.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="support-new-software-add-new-container">Support new Software (Add new Container)<a href="#support-new-software-add-new-container" class="hash-link" aria-label="Direct link to Support new Software (Add new Container)" title="Direct link to Support new Software (Add new Container)"></a></h2>
<ul>
<li>
<p>Fork the repo and clone the code.</p>
</li>
<li>
<p>Create folder as the software name (example: <code>mysql</code> - <code>nginx</code>).</p>
</li>
<li>
<p>Add your <code>Dockerfile</code> in the folder &quot;you may add additional files as well&quot;.</p>
</li>
<li>
<p>Add the software to the <code>docker-compose.yml</code> file.</p>
</li>
<li>
<p>Make sure you follow the same code/comments style.</p>
</li>
<li>
<p>Add the environment variables to the <code>.env.example</code> if you have any.</p>
</li>
<li>
<p><strong>MOST IMPORTANTLY</strong> update the <code>Documentation</code>, add as much information.</p>
</li>
<li>
<p>Submit a Pull Request, to the <code>master</code> branch.</p>
</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="edit-supported-software-edit-a-container">Edit supported Software (Edit a Container)<a href="#edit-supported-software-edit-a-container" class="hash-link" aria-label="Direct link to Edit supported Software (Edit a Container)" title="Direct link to Edit supported Software (Edit a Container)"></a></h2>
<ul>
<li>
<p>Fork the repo and clone the code.</p>
</li>
<li>
<p>Open the software (container) folder (example: <code>mysql</code> - <code>nginx</code>).</p>
</li>
<li>
<p>Edit the files.</p>
</li>
<li>
<p>Make sure to update the <code>Documentation</code> in case you made any changes.</p>
</li>
<li>
<p>Submit a Pull Request, to the <code>master</code> branch.</p>
</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="edit-base-image">Edit Base Image<a href="#edit-base-image" class="hash-link" aria-label="Direct link to Edit Base Image" title="Direct link to Edit Base Image"></a></h2>
<ul>
<li>
<p>Open any dockerfile, copy the base image name (example: <code>FROM phusion/baseimage:latest</code>).</p>
</li>
<li>
<p>Search for the image in the <a href="https://hub.docker.com/search/" target="_blank" rel="noopener noreferrer">Docker Hub</a> and find the source..</p>
</li>
</ul>
<p><em>Most of the image in Laradock are official images, these projects live in other repositories and maintainer by other organizations.</em></p>
<p><strong>Note:</strong> Laradock has two base images for (<code>Workspace</code> and <code>php-fpm</code>, mainly made to speed up the build time on your machine.</p>
<ul>
<li>
<p>Find the dockerfiles, edit them and submit a Pull Request.</p>
</li>
<li>
<p>When updating a Laradock base image (<code>Workspace</code> or <code>php-fpm</code>), ask a project maintainer &quot;Admin&quot; to build a new image after your PR is merged.</p>
</li>
</ul>
<p><strong>Note:</strong> after the base image is updated, every dockerfile that uses that image, needs to update his base image tag to get the updated code.</p>
<br>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="submit-pull-request-instructions">Submit Pull Request Instructions<a href="#submit-pull-request-instructions" class="hash-link" aria-label="Direct link to Submit Pull Request Instructions" title="Direct link to Submit Pull Request Instructions"></a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-before-submitting-a-pull-request-pr">1. Before Submitting a Pull Request (PR)<a href="#1-before-submitting-a-pull-request-pr" class="hash-link" aria-label="Direct link to 1. Before Submitting a Pull Request (PR)" title="Direct link to 1. Before Submitting a Pull Request (PR)"></a></h3>
<p>Always Test everything and make sure its working:</p>
<ul>
<li>Pull the latest updates (or fork of you dont have permission)</li>
<li>Before editing anything:<!-- -->
<ul>
<li>Test building the container (docker-compose build --no-cache container-name) build with no cache first.</li>
<li>Test running the container with some other containers in real app and see of everything is working fine.</li>
</ul>
</li>
<li>Now edit the container (edit section by section and test rebuilding the container after every edited section)<!-- -->
<ul>
<li>Testing building the container (docker-compose build container-name) with no errors.</li>
<li>Test it in a real App if possible.</li>
</ul>
</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-submitting-a-pr">2. Submitting a PR<a href="#2-submitting-a-pr" class="hash-link" aria-label="Direct link to 2. Submitting a PR" title="Direct link to 2. Submitting a PR"></a></h3>
<p>Consider the following guidelines:</p>
<ul>
<li>
<p>Search <a href="https://github.com/laradock/laradock/pulls" target="_blank" rel="noopener noreferrer">GitHub</a> for an open or closed Pull Request that relates to your submission. You don&#x27;t want to duplicate efforts.</p>
</li>
<li>
<p>Make your changes in a new git branch:</p>
<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">git checkout -b my-fix-branch master</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
</li>
<li>
<p>Commit your changes using a descriptive commit message.</p>
</li>
<li>
<p>Push your branch to GitHub:</p>
<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">git push origin my-fix-branch</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
</li>
<li>
<p>In GitHub, send a pull request to <code>laradock:master</code>.</p>
</li>
<li>
<p>If we suggest changes then:</p>
<ul>
<li>Make the required updates.</li>
<li>Commit your changes to your branch (e.g. <code>my-fix-branch</code>).</li>
<li>Push the changes to your GitHub repository (this will update your Pull Request).</li>
</ul>
</li>
</ul>
<blockquote>
<p>If the PR gets too outdated we may ask you to rebase and force push to update the PR:</p>
</blockquote>
<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">git rebase master -i</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">git push origin my-fix-branch -f</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p><em>WARNING. Squashing or reverting commits and forced push thereafter may remove GitHub comments on code that were previously made by you and others in your commits.</em></p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-after-your-pr-is-merged">3. After your PR is merged<a href="#3-after-your-pr-is-merged" class="hash-link" aria-label="Direct link to 3. After your PR is merged" title="Direct link to 3. After your PR is merged"></a></h3>
<p>After your pull request is merged, you can safely delete your branch and pull the changes from the main (upstream) repository:</p>
<ul>
<li>
<p>Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows:</p>
<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">git push origin --delete my-fix-branch</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
</li>
<li>
<p>Check out the master branch:</p>
<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">git checkout master -f</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
</li>
<li>
<p>Delete the local branch:</p>
<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">git branch -D my-fix-branch</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
</li>
<li>
<p>Update your master with the latest upstream version:</p>
<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">git pull --ff upstream master</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
</li>
</ul>
<br>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="happy-coding-">Happy Coding :)<a href="#happy-coding-" class="hash-link" aria-label="Direct link to Happy Coding :)" title="Direct link to Happy Coding :)"></a></h2></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/laradock/laradock/tree/master/DOCUMENTATION/docs/contributing.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/related-projects"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Related Projects</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#have-a-question" class="table-of-contents__link toc-highlight">Have a Question</a></li><li><a href="#found-an-issue" class="table-of-contents__link toc-highlight">Found an Issue</a></li><li><a href="#want-a-feature" class="table-of-contents__link toc-highlight">Want a Feature</a></li><li><a href="#update-the-documentation-site" class="table-of-contents__link toc-highlight">Update the Documentation (Site)</a><ul><li><a href="#host-the-documentation-locally" class="table-of-contents__link toc-highlight">Host the Documentation Locally</a></li></ul></li><li><a href="#support-new-software-add-new-container" class="table-of-contents__link toc-highlight">Support new Software (Add new Container)</a></li><li><a href="#edit-supported-software-edit-a-container" class="table-of-contents__link toc-highlight">Edit supported Software (Edit a Container)</a></li><li><a href="#edit-base-image" class="table-of-contents__link toc-highlight">Edit Base Image</a></li><li><a href="#submit-pull-request-instructions" class="table-of-contents__link toc-highlight">Submit Pull Request Instructions</a><ul><li><a href="#1-before-submitting-a-pull-request-pr" class="table-of-contents__link toc-highlight">1. Before Submitting a Pull Request (PR)</a></li><li><a href="#2-submitting-a-pr" class="table-of-contents__link toc-highlight">2. Submitting a PR</a></li><li><a href="#3-after-your-pr-is-merged" class="table-of-contents__link toc-highlight">3. After your PR is merged</a></li></ul></li><li><a href="#happy-coding-" class="table-of-contents__link toc-highlight">Happy Coding :)</a></li></ul></div></div></div></div></main></div></div><button class="ai-assistant-button" style="background-color:#4a6cf6;box-shadow:0px 0px 15px rgba(0, 0, 0, 0.7)"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 352 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M176 352c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96zm160-160h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16z"></path></svg></button></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2015 - 2025 - Laradock - By <a href="https://zalt.me" target="_blank" rel="noopener noreferrer">Mahmoud Zalt</a>.</div></div></div></footer></div>
</body>
</html>