A lightweight, PHP-based Content Management System (CMS) with Smarty templating, designed for easy customization and extensibility.
- Admin and user management
- Page, plugin, and group management
- Smarty template support for easy theming
- Responsive design (mobile and desktop)
- MySQL database backend
- Dockerized for easy setup
- GPL v2 Licensed
- Docker (version 20+ recommended)
- Docker Compose (if not included with Docker)
git clone https://github.com/flintman/flintmancms.git
cd flintmancmsdocker-compose up --build- This will build the PHP/Apache and MySQL containers, initialize the database, and start the CMS.
First startup note: MySQL can take 60–120 seconds to initialize on the very first run while it sets up the data directory and imports the schema. The web container will wait for MySQL to be healthy before starting. Subsequent restarts are much faster. If you see the web container fail on first boot, just run
docker-compose up -dagain once MySQL is ready.
Note: You may need to change the permissions of the html folder so the web server can write to it:
sudo chown -R www-data:www-data htmlThis is especially important for folders like templates_c/ that require write access.
- Open your browser and go to: http://localhost:3000
- Default admin login: (username:admin password:admin) CHANGE RIGHT WAY
docker-compose down- Install PHP 7.4+ and MySQL 5.7+ (or MariaDB)
- Copy the project files to your web root
- Import the database schema from
db_init/schema.sql - Configure database credentials in
html/includes/authentication.phpor your config file - Set file permissions for
templates_c/anduploads/(if used) - Access via your web server (Apache/Nginx)
html/- Main PHP source codehtml/templates/- Smarty templateshtml/includes/- Core PHP includes (DB, auth, menu, etc.)db_init/- Database schema and initialization scriptsdocker-compose.yml- Docker Compose configurationDockerfile- PHP/Apache Docker builddocs/- Documentation and license
- Pull the latest code:
git pull origin main docker-compose build --no-cache docker-compose up -d
- Review
docs/updatesfor version changes.
This project is licensed under the GNU General Public License v2.0. See html/docs/gpl-2.0.txt for details.
- Issues: GitHub Issues
- Pull requests welcome! Please follow the code style and include clear commit messages.
- For questions, contact the maintainer or open an issue.
- Flintman Computers (original author)
- Smarty Template Engine
- All contributors and open source libraries used
- Change default passwords after install
- Keep Docker, PHP, and MySQL up to date
- Review and restrict file permissions as needed
- If you see database errors, check the MySQL container logs:
docker-compose logs db - For permission issues, ensure
templates_c/is writable by the web server - For more help, see the
docs/folder or open an issue
Enjoy using FlintmanCMS!