A simple solution to host your own support documents for your product or service.
- Instant search results
- Site visitors can vote on how helpful they found the content of an article
- Featured categories and articles
- Make articles public or hidden
- Add your own logo
- Provides a link back to your main product or service website
- Simple admin interface
- No clutter!
- Laravel 11
- Vue 3.5
- Tailwind 3
- Vite
- SQLite
- Typesense
The admin panel is built using Filament PHP, so all the things you can do with Filament you can do with this project.
Scout is the driver for search, configured to use Typesense so you can run it all without having to connect to a 3rd party service.
- PHP 8.3+
- Node v22.0+
- Clone this repository locally
- Install Typesense
- Run Typesense
- Run the following commands to install all dependencies and start the app
composer install
npm install
php artisan key:generate
Copy the .env.example file and rename the copy to .env to set up your environment file.
Then run the following commands.
php artisan migrate
php artisan serve
npm run dev
- Create your administrative user with the following command (courtesy of Filament PHP)
php artisan make:filament-user
and answering the input prompts. Administrators have access to all areas of admin panel, and are able to manage other users.
Once you have a user account, you can sign in to the admin panel by visiting /admin in your browser.
You can customize anything about this software to suit your tastes, but to get started quickly, change your logo, product site link, and theme colors.
The logo is served to all pages via a component in /resources/js/Components/ApplicationLogo.vue.
The main product/service link is served to all pages via a component in /resources/js/Components/ProductHomeLink.vue.
The project uses Tailwind for styling, and you can customize the tailwind.config.js file to suit your needs.
The easiest way to change the theme color to your brand color is to modify tailwind.config.js by changing the value of theme.colors.primary. The default is Tailwind's indigo color.
theme: {
colors: {
primary: colors.indigo,
[...]
}
}
Here is where you can replace colors.indigo
with your brand's color as the 500 value and a darker version of it as the 700 value like so.
theme: {
colors: {
primary: {
500: '#FF0000',
700: '#DD0000'
},
[...]
}
}
See Tailwind's documentation on custom colors for more customization details.
Want to see how it works without having to create a bunch of content yourself? Great! That's provided too.
Follow the directions up above to get started, then run the following Artisan command.
php artisan migrate:fresh --seed
This will populate the site with dummy data to allow you to decide if it's the right solution.
When deploying the app, it is recommended to set up the following.
- A Laravel queue worker
- Do an initial indexing with Laravel Scout
Create a new issue to report any bugs or suggest improvements.
This software is distributed under the MIT license.