New on LowEndTalk? Please Register and read our Community Rules.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Centmin Mod
So, I decided to use CM in my home lab to avoid manual labor for setting up vhosts and DB. Boy, what a piece of software that is!
- A true labor of love. Insanely complicated under the hood.
- Very long time of installation (1508.1300 seconds). Software is compiled (damn I hate this!). No options to exclude (redis not needed etc.) or at least I did not find it.
- Outdated installation guides https://centminmod.com/install.html . Wanna PHP 8.4 or 8.5? There is beta installer, but you must dig via wall of text or just guess URL to correct installer script (that's what I did
). - It does so MUCH during setup (configs, hardening etc.), that you never ever will remember all things. It is of course not ment for production grade envs. But hey, it works!
- From first glance project looks like in stagnation, but boy Github is active!
- It works very well in LXD (using unraid).
From my POV it lacks properly structured documentation, noise cleanup on the main website and "lite mode" for home labs ![]()
Wonderful project. Hours poured into all that bash goodness is countless.
Anyone use it? Your experience?
P.S. Forgot to include author: @eva2000


Comments
Interesting, what is your use case CM?
Centminmod is excellent.
Especially if you start to look around GitHub for other scripts that people have created to run alongside it.
Debian when? /s
Very long going and stable project. I remember using Centmin Mod back in like.. 2014 or something.
Various php side projects.
The issue I can see is that it only support CentOS 7 which AFAIK is EOL (but I'm not into RHEL, so idk) and the versions for AlmaLinux and Rocky Linux seems to be public beta's
So no matter what you do, you don't get a non-beta or non-EOL env?
solid
Centminmod was good - very good when I used it. I ran Wordpress on it, and its performance was comparable to, or even better than Litespeed+LSCache to some extent, which was truly remarkable.
I'd call it a masterpiece of engineering effort.
But this kind of engineering efforts is not relevant nowadays any more. Hardware is cheaper in general, and young people put everything, include Nginx, into a bunch of stupid containers and complain "4GB is not even enough to run a personal blog." And I've seen a couple of people setting up a separate Caddy container in front of a Nginx container simply because they didn't know how to configure SSL in Nginx.
Good old days I'd say
Latest stable and beta support AlmaLinux and Rocky Linux el8/EL9 https://community.centminmod.com/threads/131-00stable-140-00beta01-release-with-almalinux-rocky-linux-support.25572/. EL10 is in development testing 141.00beta01 branch https://community.centminmod.com/threads/centmin-mod-almalinux-10-rocky-linux-10-compatibility-worklog.29603/
Yes official site side can be dated (2026 to do updates) as is blog https://blog.centminmod.com/ more active on official forums https://community.centminmod.com/forums/centmin-mod-news.3/
Centmin Mod beta and stable models after Nginx stable vs mainline. It's about how many bugs and improvements get rolled into beta/mainline and their frequency. I mainly use beta branches myself.
Stable and beta branches go through 1000s of automated tests via Github action workflows https://community.centminmod.com/threads/automated-testing-almalinux-vs-rocky-linux-vs-oracle-linux.24179/ for the following
Then do manual testing as well.
Then just stabilize it and release minor versions: 141.XYZ (XYZ - minor version).
Few observations from real world use:
GRANT ALL PRIVILEGES ON scat_db.* TO 'piss'@'%' IDENTIFIED BY 'LemonParty69!' WITH GRANT OPTION;It really feels that CM is developed by single person. I miss a bit of standartization and more configuration options.
Thanks for sharing your experiences with Centmin Mod. Did some work on LXD support not as much as I would like as part of it is at the mercy of how the LXD is configured and setup on server host side.
FYI only Nginx and PHP-FPM are source compiled and Centmin Mod uses ccache compiling caching so subsequent recompiles can be between 60-80% faster
MariaDB uses official yum repos instead of operating system defaults.
Nginx source compilations allow me to patch Nginx for security updates on the fly and support OpenSSL, LIBRESSL, BoringSSL, AWS-LC crypto libraries so you can switch to your desired setup. By default uses operating system default OpenSSL unless you choose to switch. This allows Centmin Mod Nginx to support Post-Quantum KEX already via BoringSSL and AWS-LC https://blog.centminmod.com/2023/10/03/2860/how-to-enable-cloudflare-post-quantum-x25519kyber768-key-exchange-support-in-centmin-mod-nginx/
PHP-FPM source compilation also allows on the fly security patching and backporting security updates to EOL PHP-FPM versions
Yes I've poured alot of my server optimisation and consulting experience into Centmin Mod so that config and setup takes less time for me on fresh new servers.
Sure site definitely needs updates which I have been working on. Something for 2026. Including the centmin.sh menu option 21 data transfer backup and management menu + CLI commands https://github.com/centminmod/centminmod/blob/141.00beta01/datamanagement/centmin.sh-menu-21.readme.md. Official forums is where all the activity and traffic is usually.
Yes newer PHP 8.5 versions start off in development in betas until the beta gets promoted to stable as you can see https://community.centminmod.com/threads/php-8-5-1-8-4-16-8-3-29-8-2-30-8-1-34-security-updates.30341/. I also backport PHP security releases to EOL PHP versions where possible.
Centmin Mod is used by some of the largest and most traffic web sites and community forums on the internet including by some Web hosts who modified it for their own needs as Centmin Mod is GPLv3 open source. FYI, Centmin Mod's CSF self hosted mirror gets 1.9 million requests per month the last time I checked https://blog.centminmod.com/2025/09/04/2921/configserver-csf-firewall-shutdown-on-august-31-2025/. Yes working on CSF alternatives https://community.centminmod.com/threads/csf-firewall-alternative-csfa-nftables-wrapper-script-demo.29283/ and also tracking CSF fork contenders for now https://github.com/centminmod/csf-firewall-aetherinox-tracking
Centmin Mod GPLv3 open sourced
Edit didn't see your second reply until finished writing this post
It is developed solely by me
On mobile right now so typing individual replies harder. Yes short comings exist some are from how original Centmin was designed as Centmin Mod is a fork of Centmin see history https://community.centminmod.com/threads/history-of-centmin-mod-from-2011.22733/
Config structure is documented on site for some
4GB swap creation only happens if Centmin Mod installer detects low memory based environments. Original Centmin was when 128-512MB VPS servers existed and Centmin Mod evolved this to dynamically create swap disks based on memory installed thresholds so folks have a little more wiggle room on low memory servers.
For a solo dev side thing it’s really impressive
As much as I like the software, this really has a "old man yelling at clouds" vibe to it
Containers are amazing, and I'd argue most dev's can use containers in one way or another to their advantage, not everything has to be optimized like that, if you run a DB using say 12 GB of RAM, the extra 150-200MB that runnig a complete Debian container would use (which you don't need to, you can use Alpine for example), is negligible, especially if it makes things easier to maintain
People are more expensive than hosting, generally
Cheers. Dog-fooding Centmin Mod helps with motivation to develop Centmin Mod. 99.99 of my servers use Centmin Mod - I save many hours each month and save approximately US$80k/yr in equivalent cPanel licensing fees to put it into perspective
Oh definitely with faster more powerful hardware, it can mask alot of non optimal setups. Though eventually can cost them over time. I see this with clients of mine. They did not need to spends 100s or 1000s more on upgraded servers as they only had to optimise their config.
I came from days before Cloudflare existed and had to scale forum communities with both logged in users and guests for 500k unique IP visitors/day on PHP 4.x and MySQL 3.23 lol. Tuning and squeezing out every ounce of performance was the only way.
centmin.sh menu exit only checks for yum updates and notifies you if they exist and presents command for yum updates. It doesn't force updates, just a more noob friendly reminder of updates that you can choose to ignore or act upon. Idea is if you are running centmin.sh shell based menu, you are doing some server work, so might as well inform users there are YUM updates
There's a phpmyadmin addon that needs more rework. 100% of the time, I just use mysqladmin_shell.sh included with Centmin Mod https://centminmod.com/addons.html#mysqladminshell and https://community.centminmod.com/threads/mysqladmin_shell-sh-shell-based-addon.543/. So you can script setups and automate stuff if needed.
There's also shell based menu centmin.sh menu option 6 that utilises the mysqladmin_shell.sh script under the hood
Like swap disks, Centmin Mod at install time will detect system environment's resources and dynamically modify Nginx, PHP-FPM, MariaDB and other configurations to optimise them for the environment. If you are on low resource server, you probably would be on a config setup that seems unmodified though probably is.
customising PHP-FPM settings at php.ini level docs at https://centminmod.com/phpfpm.html
Yeah as you said docs are bit all over the place but between official site, blog and forums, it's mainly all there. Forums would be highly recommended to join and browse. Centmin Mod Insights forum if you want to dig deeper https://community.centminmod.com/forums/centmin-mod-insights.20/ and beta release discussions https://community.centminmod.com/forums/beta-release-code.9/. Example like PHP-FPM debug mode and backtracing support https://community.centminmod.com/threads/how-to-guide-for-nginx-php-fpm-debugging.17508/#post-104163
As Centmin Mod source compiles Nginx and PHP-FPM install times will vary based on server performance. The Centmin Mod installer can be a rough benchmark of server performance. Centmin Mod users post and share their server install times and server specs at
The install times have been a pretty good indicator for the server performance from my experience. IIRC current record for fastest install times is by an AMD Ryzen 7950X3D at 439 seconds install time https://community.centminmod.com/threads/post-your-centmin-mod-140-00beta01-install-time-stats.25583/#post-103446. Edit ah 378 seconds install time with AMD Ryzen 9950X https://community.centminmod.com/threads/post-your-centmin-mod-140-00beta01-install-time-stats.25583/#post-104485. So check those threads to see how specific hardware configs perform
. Rough estimate for install time ranges <650 seconds = fast, 651-1000 seconds = normal for =>4 cpu threads (add 50% to time for 2 CPU threads for normal). More cpu threads = faster install times. Slow would probably be >2000 seconds.
Example my new mini PC - Minisforum AI X1 AMD Ryzen 255 8C/16T, 64GB Crucial DDR5-5600 SODIMM memory, 1TB Kingston KV3 NVMe drive using VirtualBox and KVM virtualization for 8CPU, 8GB, 80GB NVMe disk AlmaLinux 10.1 test install
versus
on OVH dedicated server with Intel Core i7 4790K 4C/8T, 32GB, 240GB SSD
CPU clock speed helps with compilations too
there is a param in custom_config.inc for only update once every 24h which I think should be set as default: MENUEXIT_ALWAYS_YUMCHECK='n'
Power user
Yup https://github.com/search?q=repo:centminmod/centminmod MENUEXIT_ALWAYS_YUMCHECK&type=code
added it 6 yrs ago heh https://github.com/centminmod/centminmod/commit/c123209baf27765b51a57730233556cf2c62a40c