-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
Phillip Dornauer edited this page Apr 1, 2026
·
1 revision
- Docker & Docker Compose
That's it. Everything else runs inside the container.
git clone --recurse-submodules https://github.com/marblecms/demo
cd demo
cp .env.example .env
docker compose up -d
docker compose exec app php artisan migrate:fresh --seed
docker compose exec app php artisan vendor:publish --tag=marble-assetsNote:
--recurse-submodulesis required. Thepackages/marble/admindirectory is a Git submodule. Without the flag it will be empty and the app won't boot.Already cloned without the flag?
git submodule update --init
| Service | URL |
|---|---|
| Admin panel | http://localhost:8080/admin |
| Frontend | http://localhost:8080 |
| phpMyAdmin | http://localhost:8081 |
Database: host db, name marble, user marble, password marble.
Admin:
Email: admin@admin
Password: admin
Portal user (frontend):
Email: demo@demo.com
Password: demo
Open http://localhost:8080/admin and log in. The seeder creates a full demo site with navigation, blog, products, contact form, and intranet content.
To wipe and start fresh:
docker compose exec app php artisan migrate:fresh --seedAfter pulling package updates, republish the admin CSS/JS:
docker compose exec app php artisan vendor:publish --tag=marble-assets --force
docker compose exec app php artisan view:cleardocker compose exec app php artisan marble:doctorThis checks database tables, site configuration, blueprints, items, workflows, and field types.
Key .env options specific to Marble:
| Variable | Default | Description |
|---|---|---|
MARBLE_AUTO_ROUTING |
true |
Set to false if you define custom routes in routes/web.php before Marble::routes()
|
MARBLE_DEBUGBAR |
false |
Show the Marble debug panel on the frontend when admin is logged in |