Hi! We're Dan and Jay. We're a two person team with a passion for open source products. We created Server Side Up to help share what we learn.
- 📖 Blog - get the latest guides and free courses on all things web/mobile development.
- 🙋 Community - get friendly help from our community members.
- 🤵♂️ Get Professional Help - get guaranteed responses within next business day.
- 💻 GitHub - check out our other open source projects
- 📫 Newsletter - skip the algorithms and get quality content right to your inbox
- 🐥 Twitter - you can also follow Dan and Jay
- ❤️ Sponsor Us - please consider sponsoring us so we can create more helpful resources
All of our software is free an open to the world. None of this can be brought to you without the financial backing of our sponsors.
This is a list of the docker images this repository creates:
⚙️ Variation | 🚀 Version |
---|---|
cli | |
fpm | |
fpm-apache | |
fpm-nginx |
Simply use this image name pattern in any of your projects:
serversideup/php:{{version}}-{{variation-name}}
For example... If I wanted to run PHP 8.0 with FPM + NGINX, I would use this image:
serversideup/php:8.0-fpm-nginx
You can see a bigger picture on how these images are used from Development to Production by viewing this video that shows a high level overview how we deploy "ROAST" which is a demo production app for our book.
Click the image below to view the video:
✅ The image builds automatically run weekly (Tuesday at 0800 UTC) for latest security updates.
These images have a few key differences. These images are:
Our philosophy is: What you run in production is what you should be running in development.
You'd be shocked how many people create a Docker image and use it in the local development only. These images are designed with the intention of being deployed to the open and wild Internet.
🧐 Based off of S6 Overlay
S6 Overlay is very helpful in managing a container's lifecycle that has multiple processes.
Wait... Isn't Docker supposed to be a "single process per container"? Yes, that's what it's like in a perfect world. Unfortunately PHP isn't like that. You need both a web server and a PHP-FPM server to see your files in order for your application to load.
We follow the S6 Overlay Philosophy on how we can still get a single, disposable, and repeatable image of our application out to our servers.
If you're looking to understand more the key differences with these PHP images, check out our documentation site.
Read more about the key differences with these images →
We have everything fully documented and available on our website. If you find an issue, everything is located under the /docs
folder or the /docs/content
folder if you're looking to submit a change to the documentation.
Since there are a lot of dependencies on these images, please understand that it can make it complicated on merging your pull request.
We'd love to have your help, but it might be best to explain your intentions first before contributing.
If you find a critical security flaw, please open an issue or learn more about our responsible disclosure policy.