Manual Installation (From Source)
This guide walks you through hosting Oh My School directly on your server running PHP 8.4 and Bun, without containerization.
Step 1: Clone the repository
git clone https://github.com/sooluh/oms.git
cd oms
Step 2: Install & Configure
You can use the built-in setup script which automates package installation, copying configuration files, generating application keys, and compiling assets:
composer run setup
Alternatively: Manual Installation
If you prefer to run the setup manually, execute:
composer install
bun install
bun run build
cp .env.example .env
php artisan key:generate
Step 3: Configure Environment
Edit the .env file to set your database credentials:
APP_NAME="Oh My School"
APP_URL=https://your-domain.com
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=oms
DB_USERNAME=your_db_user
DB_PASSWORD=your_db_password
Step 4: Run Migrations & Seed Data
Run migrations to set up database schemas and load the seed data:
php artisan migrate
php artisan db:seed
Step 5: Configure Storage Permissions
Set directories to be writable and create the symlink for public files:
chmod -R 775 storage bootstrap/cache
php artisan storage:link
Step 6: Start the Application
For development, use the concurrent dev runner (which runs the Laravel dev server, queue worker, log tailer, and Vite build process together):
composer run dev
Alternatively, run them manually in separate sessions:
php artisan serve
# and:
bun run dev
For production, point your web server (e.g., Nginx, Apache, or Caddy) to the public/ directory and run it through php-fpm or equivalent.
Default Credentials
Log in to the admin panel at /studio (e.g. http://localhost:8000/studio or https://your-domain.com/studio). The default admin credentials are:
- Email:
admin@oms.my.id - Password:
ohmyschool
[!WARNING-ALERT] Change this password immediately in your profile dashboard after logging in!
Still have questions?
If you could not find what you were looking for, the community is here to help on GitHub Discussions.
Ask the Community