8.5 KiB
Note
Disclaimer: Educational Use Only
Atom CMS is provided as an educational resource for learning purposes only. The creators and contributors are not responsible for any misuse or unintended consequences arising from its use. By using Atom CMS, you agree to take full responsibility for your actions and ensure compliance with all applicable laws and regulations in your jurisdiction.
🎯 About
Atom CMS is a modern, community-driven CMS designed to provide a flexible and user-friendly platform for retro hotel management. Built on Laravel 12.x with a focus on extensibility and ease of use, Atom CMS features a built-in theme system that allows you to use any CSS framework or create fully customized vanilla designs.
Built With
- Laravel 12.x - Elegant PHP framework powering the backend
- Vite - Next-generation frontend tooling for blazing-fast builds
- TailwindCSS - Utility-first CSS framework for responsive design
✨ Features
- 🎨 Built-in Theme System - Use any CSS framework or create custom themes
- 🔐 Secure Authentication - Laravel-powered authentication and authorization
- 🌍 Multi-language Support - Built-in localization for global audiences
- 📊 Integrated Housekeeping - Comprehensive admin panel
- 🔄 Rcon System - Real-time server communication
- 📱 Responsive Design - Mobile-first approach with TailwindCSS
- 🚀 Modern Stack - Latest PHP 8.2+ features
👀 Live Preview
Experience Atom CMS with our official themes:
- Dusk Theme: https://dusk.atomcms.dev
- Atom Theme: https://atom.atomcms.dev
🚧 Requirements
| Requirement | Version |
|---|---|
| PHP | 8.2 or higher |
| MySQL | 8.x or higher |
| MariaDB | 10.x or higher |
| Composer | v2 |
| Node.js | LTS |
| Database | Arcturus Morningstar |
Required PHP Extensions
Ensure the following extensions are enabled in your php.ini:
extension=curl
extension=fileinfo
extension=gd
extension=mbstring
extension=openssl
extension=pdo_mysql
extension=sockets
extension=intl
Note: Remove the semicolon (;) prefix if the extension is commented out.
📦 Installation
Windows Setup
# Clone the repository
git clone https://github.com/ObjectRetros/atomcms.git
cd atomcms
# Configure environment
copy .env.example .env
# Edit .env and update your database credentials
# Install dependencies
composer install
npm install
# Set up database and generate key
php artisan migrate --seed
php artisan key:generate
# Build assets
npm run build:atom
# For development: npm run dev:atom
IIS Configuration
Point your IIS site to the public folder inside the atomcms directory.
Required Permissions
Grant "Full control" to both IUSR and IIS_IUSRS for the atomcms folder.
Visual guide: Permission setup tutorial
Troubleshooting cURL SSL Errors
If you encounter cURL 60 errors:
- Download the latest cacert.pem
- Place it in
C:/ - Edit
php.iniand update:curl.cainfo = "C:/cacert-2025-09-09.pem" - Restart your web server
Complete Windows Tutorial
New to retro hotel setup? Follow our comprehensive three-part series:
Linux Setup
# Clone the repository
git clone https://github.com/ObjectRetros/atomcms.git
cd atomcms
# Configure environment
cp .env.example .env
# Edit .env and update your database credentials
# Install dependencies
composer install
npm install
# Set up database and generate key
php artisan migrate --seed
php artisan key:generate
# Build assets
npm run build:atom
# For development: npm run dev:atom
Set Permissions
sudo chown -R $USER:www-data storage
sudo chown -R $USER:www-data bootstrap/cache
chmod -R 775 storage
chmod -R 775 bootstrap/cache
NGINX Configuration
For NGINX setup, refer to Laravel's deployment documentation.
Complete Linux Tutorial
Need help setting up your retro hotel on Linux? Follow our comprehensive Ubuntu tutorial:
- Complete Ubuntu Setup Guide - Step-by-step instructions for Ubuntu
⚙️ Configuration
Production Environment
Update these variables in your .env file for production:
APP_ENV=production
APP_DEBUG=false
FORCE_HTTPS=true # If using Cloudflare's "Always use HTTPS"
Cloudflare Turnstile Captcha
Protect your site from bots:
- Visit Cloudflare Turnstile
- Sign in and select your site
- Copy the site and secret keys to your
.envfile
Important: Disable Rocket Loader
Atom CMS uses JavaScript that conflicts with Cloudflare's Rocket Loader. To disable:
- Go to your Cloudflare dashboard
- Navigate to Speed → Optimization
- Find Rocket Loader™ and disable it
Migrating from Another CMS
If migrating from Cosmic CMS or similar platforms:
Set RENAME_COLLIDING_TABLES=true in your .env file. Atom CMS will automatically handle table conflicts.
Note: We recommend proper manual cleanup, but this feature helps avoid common migration issues.
🧪 Testing
Atom CMS includes a growing test suite using Pest.
Run Tests
# Using Pest
vendor/bin/pest
# Using Artisan
php artisan test
📚 Documentation
For detailed documentation, addons, tips, and tricks, visit our official wiki.
Learning Laravel
New to Laravel? These free resources will help:
- Official bootcamp & course - Official Laravel bootcamp & course
- Laravel 11 from Scratch - Official Laracasts course
🤝 Contributing
We welcome contributions! To maintain code quality and streamline reviews, please read our contribution guidelines before submitting a pull request.
🏆 Credits
Atom CMS is made possible by our amazing community:
Core Contributors
- Kasja - Design direction, Dusk theme, ideas & graphics
- INicollas - Dark mode, Turbolinks, article reactions, user sessions, PT-BR translations, Orion Housekeeping
- Kani - Rcon system, FindRetros API, Atom CMS v2 creator/maintainer
- DuckieTM - Badge drawer, bugfixes, housekeeping features
- EntenKoeniq - Auto language registration, color scheme selection, various page fixes
Contributors
- Dominic - Performance improvements, user sessions
- Beny - FindRetros API fixes, Cloudflare fixes
- Live - French translations, bugfixes
- MisterDeen - Custom Discord widget
- DamienJolly, Danbo, Diddy/Josh - Various bugfixes and improvements
- Sonay - Material theme inspiration
- Raizer - Circinus
Translations
- Oliver - Finnish
- Damue & EntenKoeniq - German
- Talion - Turkish
- CentralCee, Rille & Tuborgs - Swedish
- Yannick - Dutch
- Gedomi - Spanish
- Lorenzune - Italian
- Twana - Norwegian
- Plow - French
Made with ❤️ by the Atom CMS Community
