Kontena is a lightweight, customizable search engine built using FastHTML. It features a simple, pixel-art-inspired interface and allows users to search through a database of crawled web pages.
- Clean, minimalist user interface with a pixel-art aesthetic
- Full-text search functionality
- Web crawler for adding new pages to the search index
- Admin interface for initiating web crawls
- Responsive design for both desktop and mobile devices
- Python 3.7+
- FastHTML library
- SQLite3
-
Clone this repository:
git clone https://github.com/yourusername/kontena-search.git cd kontena-search
-
Install the required dependencies:
pip install -r requirements.txt
-
Start the server:
python main.py
-
Open a web browser and navigate to
http://localhost:8000
. -
Use the search bar to find content from the indexed pages.
You can add content to the search index in two ways:
-
Single URL Submission:
- Go to
http://localhost:8000/add_url
- Enter the desired URL and submit the form
- Go to
-
Bulk Crawl (Admin Only):
- Go to
http://localhost:8000/admin/crawl
- Enter a starting URL and specify the crawl depth
- Submit the form to initiate the web crawl
- Go to
- To change the font, modify the
body_style
variable inmain.py
. - To change the logo, replace or edit the
Kontena.svg
file. - To adjust the color scheme, modify the Tailwind CSS classes in the HTML generation functions.
Contributions are welcome! Feel free to fork this repository and submit a Pull Request. We encourage improvements, feature additions, and bug fixes.
This open-source project is available under the MIT License.