OnixWiki is a wiki system with an editor, permission system, and admin.
- Page system: Includes a page system with pages which can be created.
- Editor: Includes a block editor with varius block types.
- Robust Permission system: Manage wiki-wide permissions and also manage per page permissions.
- Administration: Includes users and roles managment administration panels.
- Revisions: Revert changes and view page revisions.
- Better UI/UX: Features a modern UI/UX with ShadCN/Ui components, seamless page transitions, and various features like search suggestions.
- Better Access Control: Features a robust permission system with global and per page permissions.
- Better Administration: Makes it easy to administer users and perform administration actions.
- Easier to deploy: Deploy easily with docker.
Install Laravel dependancies: https://laravel.com/docs/12.x/installation
Setup env based on .env.example. Set your database settings in the env.
composer install
php artisan key:generate
php artisan migrate
php artisan db:seed --class BouncerSeeder
php artisan db:seed
php artisan storage:link
npm install && npm run build
composer run dev
You can now access the wiki with the created admin account with the following credentials:
Email: admin@example.com
Password: password
Install Laravel dependancies: https://laravel.com/docs/12.x/installation
Setup env based on .env.example. Set your database settings in the env.
composer i
./vendor/bin/sail up -d
./vendor/bin/sail artisan key:generate
./vendor/bin/sail artisan migrate
./vendor/bin/sail artisan db:seed --class BouncerSeeder
./vendor/bin/sail artisan db:seed
./vendor/bin/sail artisan storage:link
./vendor/bin/sail npm i
./vendor/bin/sail npm run dev
You can now access the wiki with the created admin account with the following credentials:
Email: admin@example.com
Password: password
To stop run ./vendor/bin/sail down
Setup env based on .env.example. Set your database settings in the env.
Make sure to turn off debug and set your environment settings.
To generate the secret key you can run echo "base64:$(openssl rand -base64 32)" and place result in env.
NOTE: The .env file must be in same directory as the compose file.
To run with docker compose, create the following file and run with docker compose up -d
services:
onixwiki:
image: exoticonix/onixwiki:latest
restart: always
depends_on:
- mysql
env_file:
- .env
ports:
- "80:80"
volumes:
- storage:/app/storage/app
mysql:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
MYSQL_ROOT_HOST: '%'
MYSQL_DATABASE: '${DB_DATABASE}'
MYSQL_USER: '${DB_USERNAME}'
MYSQL_PASSWORD: '${DB_PASSWORD}'
MYSQL_ALLOW_EMPTY_PASSWORD: 1
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
storage:
docker-compose exec onixwiki php artisan migrate
docker-compose exec onixwiki php artisan db:seed --class BouncerSeeder
docker-compose exec onixwiki php artisan db:seed
You can now access the wiki with the created admin account with the following credentials:
Email: admin@example.com
Password: password
To run with coolify, follow this guide: https://coolify.io/docs/applications/laravel.
NOTE: The nixpacks.toml file is already included.
MIT License