You've already forked Atomcms-edit
Clean README in Arcturus style: badges, tables, quick start, clear sections
This commit is contained in:
@@ -1,38 +1,67 @@
|
||||
# AtomCMS — Remco Epicnabbo Edition
|
||||
|
||||
<div align="center">
|
||||
<img src="https://i.imgur.com/9ePNdJ4.png" alt="Atom CMS" width="200"/>
|
||||
[](https://discord.gg/pP6HyZedAj)
|
||||
[](https://laravel.com)
|
||||
[](https://php.net)
|
||||
[](#)
|
||||
|
||||
**Modern • Fast • Self-Repairing**
|
||||
A modern Habbo retro CMS powered by Laravel 13, Filament 5, React 19, and Nitro. Forked and maintained by Remco (Epicnabbo).
|
||||
|
||||
[](https://discord.gg/pP6HyZedAj)
|
||||
[](https://laravel.com)
|
||||
[](https://php.net)
|
||||
</div>
|
||||
---
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
git clone https://your-gitea-server/remco/Atomcms-edit.git /var/www/atomcms
|
||||
cd /var/www/atomcms
|
||||
cp .env.example.linux .env
|
||||
php artisan key:generate
|
||||
# Edit .env with your DB credentials, then:
|
||||
composer install --no-dev --optimize-autoloader
|
||||
php artisan migrate --seed
|
||||
yarn install && yarn build:all
|
||||
```
|
||||
|
||||
> **Full installation guide** → `.env.install` or scroll down to [Installation](#installation-ubuntu-2604)
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
|
||||
**Commandocentrum** — Nitro V3 one-click updater, emulator start/stop/restart, hotel alert, live monitoring, emulator logs viewer, clothing sync, notification settings, social login (Google/Discord/GitHub), staff activity log
|
||||
**Radio** — DJ apps, live sessions, song requests, shoutbox, leaderboard, contests
|
||||
**Shop** — Product catalog, virtual currency, vouchers, PayPal integration
|
||||
**Community** — Articles, photo gallery, leaderboard, teams, staff page, rare values, badge lottery
|
||||
**Client** — Nitro (HTML5), VPN/proxy checker
|
||||
**Users** — Public profiles, 2FA, referrals, session logs
|
||||
**Help** — Ticket system, FAQ, rules
|
||||
**Themes** — Atom (light), Dusk (dark)
|
||||
**Filament Admin** — Users, bans, radio, shop, articles, emulator settings/texts/catalog, chatlogs, word filters, permissions, navigation, camera
|
||||
| Module | What it does |
|
||||
|--------|-------------|
|
||||
| **Commandocentrum** | Nitro V3 one-click updater, emulator start/stop/restart, hotel alerts, live monitoring, log viewer, clothing sync, social login (Google/Discord/GitHub) |
|
||||
| **Radio** | DJ apps, live sessions, song requests, shoutbox, leaderboard, contests |
|
||||
| **Shop** | Product catalog, virtual currency, vouchers, PayPal |
|
||||
| **Community** | Articles, photo gallery, leaderboard, teams, rare values, badge lottery |
|
||||
| **Users** | Public profiles, 2FA, referrals, session logs |
|
||||
| **Help** | Ticket system, FAQ, rules |
|
||||
| **Filament Admin** | Users, bans, radio, shop, articles, emulator settings/texts/catalog, chatlogs, word filters, permissions, navigation |
|
||||
| **Themes** | Atom (light) & Dusk (dark) |
|
||||
|
||||
---
|
||||
|
||||
## Nitro V3 Update System
|
||||
## Nitro V3 Update
|
||||
|
||||
One-click update via **Commandocentrum** → "Configureer Paths" (9 configurable paths stored in DB) → "Run Update".
|
||||
One-click update from **Commandocentrum** → "Configureer Paths" → "Run Update".
|
||||
|
||||
The script: `git pull` emulator → DB backup + SQL imports → Maven build → `git pull` Nitro_Render_V3 + Nitro-V3 → `yarn build` → sync Gamedata → cleanup old logs/backups → permissions fix → emulator restart.
|
||||
**What it does:** `git pull` emulator → DB backup → SQL imports → Maven build → `git pull` Nitro_Render_V3 + Nitro-V3 → `yarn build` → sync Gamedata → cleanup → restart emulator.
|
||||
|
||||
### Sudoers (required for restart)
|
||||
**Configurable paths** (9 settings, stored in DB):
|
||||
|
||||
| Setting | Default |
|
||||
|---------|---------|
|
||||
| Emulator map | `/var/www/emulator` |
|
||||
| Service naam | `emulator` |
|
||||
| Database | `habbo` |
|
||||
| SQL updates | `{emulator}/Database Updates` |
|
||||
| Backups | `{emulator}/Database Updates/backups` |
|
||||
| Gamedata | `/var/www/Gamedata/config` |
|
||||
| Nitro client | `{nitro}/public/configuration` |
|
||||
| Nitro-V3 bron | `/var/www/Nitro-V3` |
|
||||
| Nitro Render V3 | `/var/www/Nitro_Render_V3` |
|
||||
|
||||
**Sudoers** (needed for restart/chown):
|
||||
```bash
|
||||
sudo tee /etc/sudoers.d/www-data << 'EOF'
|
||||
www-data ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart emulator
|
||||
@@ -44,127 +73,97 @@ sudo chmod 440 /etc/sudoers.d/www-data
|
||||
|
||||
---
|
||||
|
||||
## Environment Files
|
||||
|
||||
| File | Platform | Cache | DB |
|
||||
| ---- | -------- | ----- | -- |
|
||||
| `.env.install` | — | — | Setup guide |
|
||||
| `.env.example.linux` | Linux (prod) | Redis | MariaDB |
|
||||
| `.env.example.windows` | Windows (dev) | File | MySQL |
|
||||
|
||||
```bash
|
||||
cp .env.example.linux .env # or .windows
|
||||
php artisan key:generate
|
||||
```
|
||||
|
||||
> **⚠️ XAMPP is not supported.** Extremely unsafe for production.
|
||||
|
||||
---
|
||||
|
||||
## Requirements
|
||||
|
||||
| Component | Requirement |
|
||||
|-----------|-------------|
|
||||
| Component | Version |
|
||||
|-----------|---------|
|
||||
| **PHP** | 8.5+ |
|
||||
| **Database** | MariaDB 10.6+ / MySQL 8.0+ |
|
||||
| **Web Server** | Nginx / Apache |
|
||||
| **Database** | MariaDB 10.6+ or MySQL 8.0+ |
|
||||
| **Web Server** | Nginx or Apache |
|
||||
| **Node.js** | 20+ |
|
||||
| **Yarn** | 1.22+ |
|
||||
| **Composer** | 2.x |
|
||||
| **Redis** | Recommended (Linux) |
|
||||
|
||||
---
|
||||
|
||||
## Environment Files
|
||||
|
||||
| File | Use | Cache | DB |
|
||||
|------|-----|-------|----|
|
||||
| `.env.install` | Step-by-step setup guide | — | — |
|
||||
| `.env.example.linux` | Linux production | Redis | MariaDB |
|
||||
| `.env.example.windows` | Windows development | File | MySQL |
|
||||
|
||||
```bash
|
||||
cp .env.example.linux .env
|
||||
php artisan key:generate
|
||||
```
|
||||
|
||||
> ⚠️ **XAMPP is not supported.** Extremely unsafe for production.
|
||||
|
||||
---
|
||||
|
||||
## Installation (Ubuntu 26.04)
|
||||
|
||||
```bash
|
||||
# ─────────────────────────────────────────────────
|
||||
# 1. System dependencies
|
||||
# ─────────────────────────────────────────────────
|
||||
sudo apt update
|
||||
sudo apt install -y git curl wget unzip nginx mariadb-server redis-server \
|
||||
php8.5 php8.5-{cli,fpm,mysql,xml,mbstring,curl,zip,bcmath,gd,sockets,intl} \
|
||||
build-essential
|
||||
|
||||
# ─────────────────────────────────────────────────
|
||||
# 2. Composer
|
||||
# ─────────────────────────────────────────────────
|
||||
curl -sS https://getcomposer.org/installer | php
|
||||
sudo mv composer.phar /usr/local/bin/composer
|
||||
|
||||
# ─────────────────────────────────────────────────
|
||||
# 3. Node.js + Yarn
|
||||
# ─────────────────────────────────────────────────
|
||||
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
|
||||
sudo apt install -y nodejs
|
||||
sudo corepack enable
|
||||
corepack install -g yarn@latest
|
||||
|
||||
# ─────────────────────────────────────────────────
|
||||
# 4. Secure MariaDB (set root password)
|
||||
# ─────────────────────────────────────────────────
|
||||
sudo mysql << EOF
|
||||
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_root_password';
|
||||
FLUSH PRIVILEGES;
|
||||
EOF
|
||||
# 4. Secure MariaDB
|
||||
sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_root_password'; FLUSH PRIVILEGES;"
|
||||
|
||||
# ─────────────────────────────────────────────────
|
||||
# 5. Clone the project
|
||||
# ─────────────────────────────────────────────────
|
||||
# 5. Clone
|
||||
git clone https://your-gitea-server/remco/Atomcms-edit.git /var/www/atomcms
|
||||
# Or via SSH: git clone ssh://git@your-gitea-server:8422/remco/Atomcms-edit.git /var/www/atomcms
|
||||
cd /var/www/atomcms
|
||||
|
||||
# ─────────────────────────────────────────────────
|
||||
# 6. Configure environment
|
||||
# ─────────────────────────────────────────────────
|
||||
# 6. Configure
|
||||
cp .env.example.linux .env
|
||||
# !! EDIT .env FIRST !! — set DB_PASSWORD, APP_URL, SESSION_DOMAIN, etc.
|
||||
# EDIT .env first: set DB_PASSWORD, APP_URL, SESSION_DOMAIN
|
||||
nano .env
|
||||
php artisan key:generate
|
||||
|
||||
# ─────────────────────────────────────────────────
|
||||
# 7. Create database & user
|
||||
# ─────────────────────────────────────────────────
|
||||
sudo mysql << EOF
|
||||
CREATE DATABASE IF NOT EXISTS habbo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
CREATE USER IF NOT EXISTS 'cms'@'localhost' IDENTIFIED BY 'your_db_password';
|
||||
GRANT ALL PRIVILEGES ON habbo.* TO 'cms'@'localhost';
|
||||
FLUSH PRIVILEGES;
|
||||
EOF
|
||||
# 7. Create database + user
|
||||
sudo mysql -e "CREATE DATABASE IF NOT EXISTS habbo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
||||
sudo mysql -e "CREATE USER IF NOT EXISTS 'cms'@'localhost' IDENTIFIED BY 'your_db_password';"
|
||||
sudo mysql -e "GRANT ALL ON habbo.* TO 'cms'@'localhost'; FLUSH PRIVILEGES;"
|
||||
|
||||
# ─────────────────────────────────────────────────
|
||||
# 8. Install dependencies
|
||||
# ─────────────────────────────────────────────────
|
||||
# 8. Install PHP & JS deps
|
||||
composer install --no-dev --optimize-autoloader
|
||||
yarn install
|
||||
|
||||
# ─────────────────────────────────────────────────
|
||||
# 9. Migrate, seed & build
|
||||
# ─────────────────────────────────────────────────
|
||||
php artisan migrate --seed
|
||||
yarn build:all
|
||||
|
||||
# ─────────────────────────────────────────────────
|
||||
# 10. Permissions
|
||||
# ─────────────────────────────────────────────────
|
||||
sudo chown -R www-data:www-data storage bootstrap/cache public/build
|
||||
sudo chmod -R 775 storage bootstrap/cache
|
||||
|
||||
# ─────────────────────────────────────────────────
|
||||
# 11. Start Redis
|
||||
# ─────────────────────────────────────────────────
|
||||
# 11. Start services
|
||||
sudo systemctl enable --now redis-server
|
||||
|
||||
# ─────────────────────────────────────────────────
|
||||
# 12. Configure PHP (tune for production)
|
||||
# ─────────────────────────────────────────────────
|
||||
# 12. PHP tuning
|
||||
sudo sed -i 's/upload_max_filesize = .*/upload_max_filesize = 64M/' /etc/php/8.5/fpm/php.ini
|
||||
sudo sed -i 's/post_max_size = .*/post_max_size = 64M/' /etc/php/8.5/fpm/php.ini
|
||||
sudo sed -i 's/memory_limit = .*/memory_limit = 256M/' /etc/php/8.5/fpm/php.ini
|
||||
sudo sed -i 's/max_execution_time = .*/max_execution_time = 300/' /etc/php/8.5/fpm/php.ini
|
||||
```
|
||||
|
||||
### Nginx config (`/etc/nginx/sites-available/atomcms`)
|
||||
### Nginx
|
||||
|
||||
```nginx
|
||||
server {
|
||||
@@ -178,55 +177,33 @@ server {
|
||||
add_header X-Content-Type-Options "nosniff" always;
|
||||
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
|
||||
|
||||
# Gzip
|
||||
gzip on;
|
||||
gzip_types text/plain text/css application/json application/javascript text/xml image/svg+xml;
|
||||
gzip_vary on;
|
||||
gzip_min_length 1024;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php?$query_string;
|
||||
}
|
||||
|
||||
location / { try_files $uri $uri/ /index.php?$query_string; }
|
||||
location ~ \.php$ {
|
||||
fastcgi_pass unix:/var/run/php/php8.5-fpm.sock;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
include fastcgi_params;
|
||||
}
|
||||
|
||||
# Block hidden files
|
||||
location ~ /\.(?!well-known).* { deny all; }
|
||||
|
||||
# Block sensitive files
|
||||
location ~ /(\.env|\.git|composer\.(json|lock)|package\.json|yarn\.lock) { deny all; }
|
||||
location ~ /(\.env|\.git|composer\.(json|lock)) { deny all; }
|
||||
}
|
||||
```
|
||||
|
||||
```bash
|
||||
# Enable site & restart services
|
||||
sudo ln -sf /etc/nginx/sites-available/atomcms /etc/nginx/sites-enabled/
|
||||
sudo nginx -t && sudo systemctl reload nginx
|
||||
sudo systemctl restart php8.5-fpm redis-server
|
||||
sudo ufw allow 80/tcp && sudo ufw allow 443/tcp && sudo ufw --force enable
|
||||
```
|
||||
|
||||
# ─────────────────────────────────────────────────
|
||||
# Optional: Firewall
|
||||
# ─────────────────────────────────────────────────
|
||||
sudo ufw allow 80/tcp
|
||||
sudo ufw allow 443/tcp
|
||||
sudo ufw --force enable
|
||||
### SSL (recommended)
|
||||
|
||||
# ─────────────────────────────────────────────────
|
||||
# Optional: SSL via Certbot
|
||||
# ─────────────────────────────────────────────────
|
||||
```bash
|
||||
sudo apt install -y certbot python3-certbot-nginx
|
||||
sudo certbot --nginx -d your-domain.com
|
||||
|
||||
# ─────────────────────────────────────────────────
|
||||
# Verify everything works
|
||||
# ─────────────────────────────────────────────────
|
||||
curl -I http://your-domain.com
|
||||
# Expected: HTTP/2 200 or 302
|
||||
# Visit https://your-domain.com in your browser
|
||||
```
|
||||
|
||||
---
|
||||
@@ -234,22 +211,27 @@ curl -I http://your-domain.com
|
||||
## Yarn Scripts
|
||||
|
||||
```bash
|
||||
yarn build:all # Build all themes
|
||||
yarn build:atom # Atom theme
|
||||
yarn build:dusk # Dusk theme
|
||||
yarn dev # Vite dev server
|
||||
yarn lint # Check JS/Vue
|
||||
yarn lint:fix # Fix JS/Vue
|
||||
yarn format # Format everything
|
||||
yarn clean # Clear Vite cache
|
||||
yarn rebuild # Clean + install + build
|
||||
yarn build:all # Build all themes
|
||||
yarn build:atom # Atom theme only
|
||||
yarn build:dusk # Dusk theme only
|
||||
yarn dev # Vite dev server
|
||||
yarn lint # Lint JS/Vue
|
||||
yarn format # Format code
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Tech Stack
|
||||
|
||||
Laravel 13 · React 19 + Alpine.js · Vite 8 · TailwindCSS 4 · Filament 5 · MariaDB/MySQL
|
||||
**Laravel 13 · React 19 + Alpine.js · Vite 8 · TailwindCSS 4 · Filament 5 · MariaDB/MySQL · Redis**
|
||||
|
||||
---
|
||||
|
||||
## Support
|
||||
|
||||
- **Discord:** [Join our server](https://discord.gg/pP6HyZedAj)
|
||||
- **Issues:** Report bugs via the project issue tracker
|
||||
- **Contributions:** Fork & submit merge requests — all help is welcome!
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user