SearXNG Public Instance: Requirements & Guidelines

by Alex Johnson 51 views

Are you looking to contribute to the SearXNG community by hosting your own public instance? That's fantastic! Providing a public instance is a great way to support privacy-respecting search and offer valuable resources to users. However, it's crucial to ensure that all instances meet certain standards to maintain quality, reliability, and user trust. This article outlines the essential requirements and guidelines for hosting a public SearXNG instance, ensuring a smooth experience for both you and your users. Let's dive in!

Understanding the Core Requirements for Hosting a SearXNG Instance

Before you jump into setting up your SearXNG instance, it's vital to grasp the fundamental requirements. These guidelines are designed to protect the integrity of the SearXNG network, ensure user privacy, and maintain a consistent level of service across all public instances. Meeting these requirements demonstrates your commitment to the SearXNG project and its core values.

First and foremost, domain ownership is paramount. You must own the domain you're using for your instance. This means registering the domain yourself and having full control over it. Free domains (e.g., Freenom) and shared domains (e.g., noip.com) are not permitted. Owning your domain establishes your instance's credibility and long-term viability. It's a crucial step in demonstrating your commitment to providing a stable and reliable service to users.

Keeping your instance up-to-date is the second key requirement. An outdated instance can be vulnerable to security risks and may not function correctly with the latest SearXNG features. To ensure optimal performance and security, your instance should be updated regularly, ideally no more than one week behind the latest release. Tools like watchtower, cron, or ouroboros can automate this process, ensuring your instance stays current with minimal effort. Regular updates are not just about features; they're about safeguarding your instance and your users.

The third crucial aspect is granting permission for checks by check.searx.space. This service monitors the health and performance of public SearXNG instances. It checks response times every three hours and conducts other tests every 24 hours. These checks help ensure that your instance is functioning correctly and provides a good user experience. By allowing these checks, you contribute to the overall health and stability of the SearXNG network. Transparency and cooperation are key to a thriving open-source community.

The Responsibilities of Managing a Public SearXNG Instance

Managing a public SearXNG instance is more than just setting it up and letting it run. It requires dedication, time, and a proactive approach to maintenance and monitoring. Consider it a commitment to providing a valuable service to the SearXNG community. You're not just hosting a search engine; you're contributing to a movement for privacy and open information access.

Acknowledging the effort involved is the first step. Running a public instance is not a set-and-forget task. It requires ongoing attention to keep it in good working order. This includes monitoring its performance, addressing any issues that arise, and keeping the software up to date. Neglecting these responsibilities can lead to a degraded user experience and potentially compromise the security of your instance. It's about being a responsible member of the SearXNG community.

Maintaining a minimum uptime of 90% per month is a crucial guarantee you must provide. Uptime is a measure of how accessible your instance is to users. A high uptime ensures that users can rely on your instance when they need it. Unplanned downtime can be disruptive and frustrating for users. If you anticipate a long downtime for maintenance or other reasons, it's essential to request a temporary removal from the public instance list or notify the SearXNG community via the designated channels (here). Proactive communication is key to managing expectations and maintaining user trust.

User privacy is at the heart of SearXNG, and your instance must uphold this principle. Tracking users with analytics or other tracking software is strictly prohibited. This commitment to privacy is what sets SearXNG apart from mainstream search engines. As a public instance operator, you are a guardian of user privacy, and you must take this responsibility seriously. Transparency and ethical data handling are non-negotiable.

Technical Requirements and Restrictions for SearXNG Instances

Beyond the general guidelines, there are specific technical requirements and restrictions you need to be aware of. These are in place to ensure the stability, security, and fairness of the SearXNG network. Understanding these technical aspects is crucial for a successful and compliant instance.

Manipulating the ranking of your instance is strictly forbidden. This includes tactics like caching requests from the searx.space server to artificially inflate your instance's performance metrics. Such practices undermine the fairness of the public instance list and can negatively impact the user experience. The goal is to provide a genuine and unbiased search service. Integrity and fair play are essential for maintaining trust within the SearXNG community.

Controlling the final webserver software is another crucial requirement. This means you must have direct control over the software serving requests to users. Certain hosting types are prohibited, including Cloudflare, PaaS, managed HTTP(S) load balancers (e.g., AWS ALB), and shared web hosting. These restrictions are in place to ensure you have the necessary control over your instance's configuration and security. TCP load balancers and Cloudflare DNS-only (grey cloud) configurations are permitted. Having control over your webserver software allows you to optimize performance, implement security measures, and ensure compliance with SearXNG's guidelines.

In certain situations, you may need to restrict users from accessing your instance. This should only be done to maintain the instance's working condition for other users. A detailed description of acceptable restriction practices is available (here). Evidence must be provided if requested. Other means of restriction are forbidden. This is a measure of last resort and should be implemented thoughtfully and transparently. The primary goal is to ensure the overall stability and availability of your instance for the majority of users.

Bot Protection and Configuration

Protecting your instance from abuse is crucial for maintaining its performance and stability. Bots and automated scripts can overwhelm your server, leading to slow response times and potentially even downtime. Implementing bot protection measures is an essential part of managing a public SearXNG instance.

Configuring the server.public_instance parameter is a key step in bot protection. This setting helps SearXNG identify and manage traffic from bots. Ensuring this parameter is correctly configured is a fundamental requirement for all public instances. It's a simple yet effective way to mitigate the impact of malicious or excessive bot traffic. Taking this step demonstrates your commitment to providing a smooth and reliable experience for genuine users.

Contributing to the SearXNG Community

Hosting a public SearXNG instance is a significant contribution to the project and the wider privacy-focused search community. By adhering to these requirements and guidelines, you're helping to build a network of reliable, trustworthy, and privacy-respecting search engines. Your efforts contribute to a more open and accessible web.

Remember, being part of the SearXNG community involves collaboration, transparency, and a shared commitment to user privacy. By fulfilling these requirements, you're not just hosting an instance; you're becoming an integral part of a movement. Your dedication helps empower users to search the web with confidence and control.

By understanding and adhering to these guidelines, you can ensure that your SearXNG instance is a valuable asset to the community. Thank you for your commitment to privacy and open search!

For further information and best practices on running a SearXNG instance, consider exploring resources such as the official SearXNG documentation.