[{"data":1,"prerenderedAt":566},["ShallowReactive",2],{"navigation":3,"/docs/getting-started/about":221,"/docs/getting-started/about-surround":561},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","/docs","docs",[9,12,56,85,132,153,178,195,208],{"title":10,"path":6,"stem":11},"","docs/index",{"title":13,"path":14,"stem":15,"children":16,"icon":55},"Getting Started","/docs/getting-started","docs/1.getting-started/1.index",[17,19,23,27,31,35,39,43,47,51],{"title":18,"path":14,"stem":15},"Introduction",{"title":20,"path":21,"stem":22},"Container Basics","/docs/getting-started/container-basics","docs/1.getting-started/2.container-basics",{"title":24,"path":25,"stem":26},"Installation","/docs/getting-started/installation","docs/1.getting-started/3.installation",{"title":28,"path":29,"stem":30},"These Images vs Others","/docs/getting-started/these-images-vs-others","docs/1.getting-started/4.these-images-vs-others",{"title":32,"path":33,"stem":34},"Choosing an Image","/docs/getting-started/choosing-an-image","docs/1.getting-started/5.choosing-an-image",{"title":36,"path":37,"stem":38},"Default Configurations","/docs/getting-started/default-configurations","docs/1.getting-started/6.default-configurations",{"title":40,"path":41,"stem":42},"Upgrade Guide","/docs/getting-started/upgrade-guide","docs/1.getting-started/7.upgrade-guide",{"title":44,"path":45,"stem":46},"Changelog","/docs/getting-started/changelog","docs/1.getting-started/8.changelog",{"title":48,"path":49,"stem":50},"About","/docs/getting-started/about","docs/1.getting-started/9.about",{"title":52,"path":53,"stem":54},"Contributing","/docs/getting-started/contributing","docs/1.getting-started/99.contributing",false,{"title":57,"path":58,"stem":59,"children":60,"page":55},"Image Variations","/docs/image-variations","docs/2.image-variations",[61,65,69,73,77,81],{"title":62,"path":63,"stem":64},"CLI","/docs/image-variations/cli","docs/2.image-variations/cli",{"title":66,"path":67,"stem":68},"FPM","/docs/image-variations/fpm","docs/2.image-variations/fpm",{"title":70,"path":71,"stem":72},"FPM-Apache","/docs/image-variations/fpm-apache","docs/2.image-variations/fpm-apache",{"title":74,"path":75,"stem":76},"FPM-NGINX","/docs/image-variations/fpm-nginx","docs/2.image-variations/fpm-nginx",{"title":78,"path":79,"stem":80},"FrankenPHP","/docs/image-variations/frankenphp","docs/2.image-variations/frankenphp",{"title":82,"path":83,"stem":84},"Unit (Deprecated)","/docs/image-variations/unit","docs/2.image-variations/unit",{"title":86,"path":87,"stem":88,"children":89,"page":55},"Framework Guides","/docs/framework-guides","docs/3.framework-guides",[90,123],{"title":91,"icon":55,"defaultOpen":55,"path":92,"stem":93,"children":94,"page":55},"Laravel","/docs/framework-guides/laravel","docs/3.framework-guides/1.laravel",[95,99,103,107,111,115,119],{"title":96,"path":97,"stem":98},"Automations","/docs/framework-guides/laravel/automations","docs/3.framework-guides/1.laravel/1.automations",{"title":100,"path":101,"stem":102},"Task Scheduler","/docs/framework-guides/laravel/task-scheduler","docs/3.framework-guides/1.laravel/2.task-scheduler",{"title":104,"path":105,"stem":106},"Queue","/docs/framework-guides/laravel/queue","docs/3.framework-guides/1.laravel/3.queue",{"title":108,"path":109,"stem":110},"Horizon","/docs/framework-guides/laravel/horizon","docs/3.framework-guides/1.laravel/4.horizon",{"title":112,"path":113,"stem":114},"Reverb","/docs/framework-guides/laravel/reverb","docs/3.framework-guides/1.laravel/4.reverb",{"title":116,"path":117,"stem":118},"Nightwatch","/docs/framework-guides/laravel/nightwatch","docs/3.framework-guides/1.laravel/5.nightwatch",{"title":120,"path":121,"stem":122},"Octane","/docs/framework-guides/laravel/octane","docs/3.framework-guides/1.laravel/octane",{"title":124,"icon":55,"defaultOpen":55,"path":125,"stem":126,"children":127,"page":55},"WordPress","/docs/framework-guides/wordpress","docs/3.framework-guides/2.wordpress",[128],{"title":129,"path":130,"stem":131},"Using Docker with WordPress","/docs/framework-guides/wordpress/using-wordpress-with-docker","docs/3.framework-guides/2.wordpress/4.using-wordpress-with-docker",{"title":133,"path":134,"stem":135,"children":136,"page":55},"Deployment And Production","/docs/deployment-and-production","docs/4.deployment-and-production",[137,141,145,149],{"title":138,"path":139,"stem":140},"Development to Production","/docs/deployment-and-production/development-to-production","docs/4.deployment-and-production/2.development-to-production",{"title":142,"path":143,"stem":144},"Packaging Your App for Deployment","/docs/deployment-and-production/packaging-your-app-for-deployment","docs/4.deployment-and-production/3.packaging-your-app-for-deployment",{"title":146,"path":147,"stem":148},"Configuring SSL","/docs/deployment-and-production/configuring-ssl","docs/4.deployment-and-production/4.configuring-ssl",{"title":150,"path":151,"stem":152},"Choosing a Host","/docs/deployment-and-production/choosing-a-host","docs/4.deployment-and-production/5.choosing-a-host",{"title":154,"icon":55,"defaultOpen":55,"path":155,"stem":156,"children":157,"page":55},"Advanced Guides","/docs/guide","docs/5.guide",[158,162,166,170,174],{"title":159,"path":160,"stem":161},"Migrating from official PHP images","/docs/guide/migrating-from-official-php-images","docs/5.guide/1.migrating-from-official-php-images",{"title":163,"path":164,"stem":165},"Using Healthchecks With Laravel","/docs/guide/using-healthchecks-with-laravel","docs/5.guide/2.using-healthchecks-with-laravel",{"title":167,"path":168,"stem":169},"Using S6 Overlay","/docs/guide/using-s6-overlay","docs/5.guide/2.using-s6-overlay",{"title":171,"path":172,"stem":173},"Understanding File Permissions","/docs/guide/understanding-file-permissions","docs/5.guide/3.understanding-file-permissions",{"title":175,"path":176,"stem":177},"Configuring Trusted Proxies","/docs/guide/configuring-trusted-proxies","docs/5.guide/4.configuring-trusted-proxies",{"title":179,"icon":55,"defaultOpen":55,"path":180,"stem":181,"children":182,"page":55},"Customization","/docs/customizing-the-image","docs/6.customizing-the-image",[183,187,191],{"title":184,"path":185,"stem":186},"Changing php.ini settings","/docs/customizing-the-image/changing-common-php-settings","docs/6.customizing-the-image/1.changing-common-php-settings",{"title":188,"path":189,"stem":190},"Installing PHP extensions","/docs/customizing-the-image/installing-additional-php-extensions","docs/6.customizing-the-image/2.installing-additional-php-extensions",{"title":192,"path":193,"stem":194},"Adding Start Up Scripts","/docs/customizing-the-image/adding-your-own-start-up-scripts","docs/6.customizing-the-image/3.adding-your-own-start-up-scripts",{"title":196,"path":197,"stem":198,"children":199,"page":55},"Troubleshooting","/docs/troubleshooting","docs/7.troubleshooting",[200,204],{"title":201,"path":202,"stem":203},"Common Issues","/docs/troubleshooting/common-issues","docs/7.troubleshooting/1.common-issues",{"title":205,"path":206,"stem":207},"Getting Help","/docs/troubleshooting/getting-help","docs/7.troubleshooting/2.getting-help",{"title":209,"path":210,"stem":211,"children":212,"page":55},"Reference","/docs/reference","docs/8.reference",[213,217],{"title":214,"path":215,"stem":216},"Environment Variable Specification","/docs/reference/environment-variable-specification","docs/8.reference/1.environment-variable-specification",{"title":218,"path":219,"stem":220},"Command Reference","/docs/reference/command-reference","docs/8.reference/2.command-reference",{"id":222,"title":48,"body":223,"description":552,"extension":553,"links":554,"meta":555,"navigation":558,"path":49,"redirect":554,"seo":559,"stem":50,"__hash__":560},"docs/docs/1.getting-started/9.about.md",{"type":224,"value":225,"toc":534},"minimark",[226,238,241,249,254,277,282,370,374,377,381,403,407,429,433,465,469,472,480,489,497,506,514,523,531],[227,228,229],"lead-p",{},[230,231,232,233,237],"p",{},"We're taking the extra effort to open source as much as we can. Not only could this potentially help someone learn a little bit of Docker, but it makes it a ",[234,235,236],"em",{},"heck of a lot"," easier for us to work with other people on our other open source projects.",[239,240],"about",{},[242,243,246],"tip",{"target":244,"to":245},"_blank","https://serversideup.net/products/",[230,247,248],{},"If you appreciate our work, consider supporting us by buying our products or sponsoring us on GitHub.",[250,251,253],"h2",{"id":252},"about-us","About Us",[230,255,256,257,264,265,270,271,276],{},"We're ",[258,259,263],"a",{"href":260,"rel":261,"target":244},"https://x.com/danpastori",[262],"nofollow","Dan"," and ",[258,266,269],{"href":267,"rel":268,"target":244},"https://x.com/jaydrogers",[262],"Jay"," - a two person team with a passion for open source products. We created ",[258,272,275],{"href":273,"rel":274,"target":244},"https://serversideup.net",[262],"Server Side Up"," to help share what we learn.",[278,279,281],"h3",{"id":280},"find-us-at","Find us at:",[283,284,285,297,308,319,330,341,359],"ul",{},[286,287,288,296],"li",{},[289,290,291,292],"strong",{},"📖 ",[258,293,295],{"href":273,"rel":294,"target":244},[262],"Blog"," - Get the latest guides and free courses on all things web/mobile development.",[286,298,299,307],{},[289,300,301,302],{},"🙋 ",[258,303,306],{"href":304,"rel":305,"target":244},"https://community.serversideup.net",[262],"Community"," - Get friendly help from our community members.",[286,309,310,318],{},[289,311,312,313],{},"🤵‍♂️ ",[258,314,317],{"href":315,"rel":316,"target":244},"https://serversideup.net/professional-support",[262],"Get Professional Help"," - Get video + screen-sharing support from the core contributors.",[286,320,321,329],{},[289,322,323,324],{},"💻 ",[258,325,328],{"href":326,"rel":327,"target":244},"https://github.com/serversideup",[262],"GitHub"," - Check out our other open source projects.",[286,331,332,340],{},[289,333,334,335],{},"📫 ",[258,336,339],{"href":337,"rel":338,"target":244},"https://serversideup.net/subscribe",[262],"Newsletter"," - Skip the algorithms and get quality content right to your inbox.",[286,342,343,351,352,264,355,358],{},[289,344,345,346],{},"🐥 ",[258,347,350],{"href":348,"rel":349,"target":244},"https://x.com/serversideup",[262],"Twitter"," - You can also follow ",[258,353,263],{"href":260,"rel":354,"target":244},[262],[258,356,269],{"href":267,"rel":357,"target":244},[262],".",[286,360,361,369],{},[289,362,363,364],{},"❤️ ",[258,365,368],{"href":366,"rel":367,"target":244},"https://serversideup.net/sponsor/",[262],"Sponsor Us"," - Please consider sponsoring us so we can create more helpful resources.",[250,371,373],{"id":372},"our-products","Our products",[230,375,376],{},"If you appreciate this project, be sure to check out our other projects.",[278,378,380],{"id":379},"books","📚 Books",[283,382,383,393],{},[286,384,385,392],{},[289,386,387],{},[258,388,391],{"href":389,"rel":390,"target":244},"https://serversideup.net/ultimate-guide-to-building-apis-and-spas-with-laravel-and-nuxt3/",[262],"The Ultimate Guide to Building APIs & SPAs",": Build web & mobile apps from the same codebase.",[286,394,395,402],{},[289,396,397],{},[258,398,401],{"href":399,"rel":400,"target":244},"https://serversideup.net/building-multi-platform-browser-extensions/",[262],"Building Multi-Platform Browser Extensions",": Ship extensions to all browsers from the same codebase.",[278,404,406],{"id":405},"️-software-as-a-service","🛠️ Software-as-a-Service",[283,408,409,419],{},[286,410,411,418],{},[289,412,413],{},[258,414,417],{"href":415,"rel":416,"target":244},"https://bugflow.io/",[262],"Bugflow",": Get visual bug reports directly in GitHub, GitLab, and more.",[286,420,421,428],{},[289,422,423],{},[258,424,427],{"href":425,"rel":426,"target":244},"https://selfhostpro.com/",[262],"SelfHost Pro",": Connect Stripe or Lemonsqueezy to a private docker registry for self-hosted apps.",[278,430,432],{"id":431},"open-source","🌍 Open Source",[283,434,435,445,455],{},[286,436,437,444],{},[289,438,439],{},[258,440,443],{"href":441,"rel":442,"target":244},"https://serversideup.net/open-source/amplitudejs",[262],"AmplitudeJS",": Open-source HTML5 & JavaScript Web Audio Library.",[286,446,447,454],{},[289,448,449],{},[258,450,453],{"href":451,"rel":452,"target":244},"https://serversideup.net/open-source/spin/",[262],"Spin",": Laravel Sail alternative for running Docker from development → production.",[286,456,457,464],{},[289,458,459],{},[258,460,463],{"href":461,"rel":462,"target":244},"https://github.com/serversideup/financial-freedom",[262],"Financial Freedom",": Open source alternative to Mint, YNAB, & Monarch Money.",[250,466,468],{"id":467},"special-thanks","Special thanks",[230,470,471],{},"This project wouldn't be possible without the help of some amazing people. We're grateful for their support and contributions. We wanted to give them a special shoutout here (in no particular order).",[278,473,475],{"id":474},"chris-fidao",[258,476,479],{"href":477,"rel":478,"target":244},"https://github.com/fideloper",[262],"Chris Fidao",[230,481,482,483,488],{},"Majority of our knowledge came from Chris' course, ",[258,484,487],{"href":485,"rel":486},"https://serversforhackers.com/shipping-docker",[262],"Shipping Docker",". If you have yet to discover his content, you will be very satisfied with every course he has to offer. He's a great human being and excellent educator. Chris has continuously provided quality feedback that has deeply inspired the direction of this project.",[278,490,492],{"id":491},"joel-clermont",[258,493,496],{"href":494,"rel":495,"target":244},"https://github.com/joelclermont/",[262],"Joel Clermont",[230,498,499,500,505],{},"Joel is one of the friendliest people that you'll ever meet. When he's not podcasting on his own show, ",[258,501,504],{"href":502,"rel":503},"https://show.nocompromises.io/",[262],"No Compromises",", he's busy helping other people in the PHP community. Joel's deep experience with PHP is rare to find, and we're grateful that we were able to pick his brain to bring you the best PHP Docker experience possible.",[278,507,509],{"id":508},"patricio",[258,510,513],{"href":511,"rel":512,"target":244},"https://github.com/ijpatricio",[262],"Patricio",[230,515,516,517,522],{},"If there's a new framework or tool in the web development world, Patricio probably has content for it on his ",[258,518,521],{"href":519,"rel":520},"https://www.youtube.com/@PatricioOnCode",[262],"YouTube Channel",". Patricio is a great resource for all things web development. Frontend, backend, DevOps -- it doesn't matter. Patricio graciously shared his wide spectrum of experiences with us and is a huge supporter of this project.",[278,524,526],{"id":525},"linuxserverio",[258,527,530],{"href":528,"rel":529,"target":244},"https://www.linuxserver.io/",[262],"linuxserver.io",[230,532,533],{},"These guys are absolute aces when it comes to Docker development. They are a great resource for tons of open source Docker images. Check out their work, especially if you're a homelabber.",{"title":10,"searchDepth":535,"depth":535,"links":536},2,[537,541,546],{"id":252,"depth":535,"text":253,"children":538},[539],{"id":280,"depth":540,"text":281},3,{"id":372,"depth":535,"text":373,"children":542},[543,544,545],{"id":379,"depth":540,"text":380},{"id":405,"depth":540,"text":406},{"id":431,"depth":540,"text":432},{"id":467,"depth":535,"text":468,"children":547},[548,549,550,551],{"id":474,"depth":540,"text":479},{"id":491,"depth":540,"text":496},{"id":508,"depth":540,"text":513},{"id":525,"depth":540,"text":530},"Learn more about how this project got started and who inspired it.","md",null,{"head":556,"layout":7},{"title":557},"About - Docker PHP - Server Side Up",true,{"title":48,"description":552},"xSoVkk0wGKnY3-PIOvue-gZSALR7HZree1v3SjqhfxA",[562,564],{"title":44,"path":45,"stem":46,"description":563,"children":-1},"See the latest releases and changes for the PHP Docker Image project.",{"title":52,"path":53,"stem":54,"description":565,"children":-1},"Learn how you can make a difference and contribute to the Docker PHP project.",1776367053013]