Introduction
Whoogle is an open-source self-hosted search engine that provides a Google-like experience without the tracking. By hosting Whoogle on a VPS, you can customize your search engine, enhance privacy, and have full control over your data. This guide will walk you through the steps required to install Whoogle on a VPS.
Choosing a VPS Provider
Before installing Whoogle, you need to select a VPS provider. Hereโs a comparison of some of the top VPS providers suitable for self-hosting apps:
| Provider | Monthly Price | RAM | Storage Type | Location Options |
|---|---|---|---|---|
| Contabo VPS | 5.99 EUR | 4 GB | SSD | Multiple Europe |
| Hetzner Cloud | 4.15 EUR | 2 GB | SSD | Europe, USA |
| DigitalOcean | 6 USD | 1 GB | SSD | Global |
| Vultr | 6 USD | 1 GB | SSD | Global |
| Linode | 5 USD | 2 GB | SSD | Global |
For a quick and cost-effective setup, Hetzner Cloud and Contabo VPS are popular among developers. For further options, check our full VPS comparison.
Prerequisites
- VPS Set Up: Launch a VPS with a minimum of 2 GB RAM. Follow your providerโs instructions to create a new server instance.
- Domain Name: Secure a domain name (optional) for your Whoogle instance.
- Operating System: This guide assumes a Linux environment (Ubuntu preferred).
- Docker and Docker Compose: Install Docker and Docker Compose for easier management of services.
Step 1: Set Up Docker and Docker Compose
Start with installing Docker and Docker Compose on your VPS. Connect to your VPS via SSH:
ssh root@your_vps_ip
Next, run the following commands to install Docker:
apt update
apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt update
apt install -y docker-ce
Now, install Docker Compose:
curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tarball | cut -d '"' -f 4 | grep -Eo '[^/]+$')/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
Step 2: Deploy Whoogle Using Docker
Create a directory for Whoogle and navigate into it:
mkdir whoogle
cd whoogle
Create a docker-compose.yml file:
version: '3'
services:
whoogle:
image: whoogle/whoogle-webserver
restart: always
ports:
- "5000:5000"
environment:
- WHOOGLE_SITE_URL=http://your_domain_or_ip:5000
Replace your_domain_or_ip with your VPSโs public IP or your chosen domain name.
Step 3: Start Whoogle
Run the following command to start Whoogle:
docker-compose up -d
Whoogle will now be available at http://your_domain_or_ip:5000.
Step 4: Optional Configuration
- Database: For persistent storage, configure PostgreSQL or MySQL by adding the database service to the
docker-compose.yml. - TLS/SSL: Itโs recommended to secure your setup. Consider using Nginx with Letโs Encrypt for SSL certificates.
- Customizations: Modify Whoogle settings via the Docker environment variables based on your requirements.
Testing Your Setup
Open your web browser and navigate to http://your_domain_or_ip:5000. You should see the Whoogle interface, ready for you to use.
FAQs
How do I access Whoogle after installing it on my VPS?
After installation, you can access Whoogle by navigating to http://your_domain_or_ip:5000 in your web browser. If you configured a domain, replace your_domain_or_ip with your domain name. If you wish to secure your connection, consider configuring HTTPS with Nginx and Letโs Encrypt to protect user privacy and data integrity during searches.
Can I integrate Whoogle with my existing applications?
Yes, Whoogle can be integrated with various applications through APIs. You can customize the search engine settings and utilize its API for embedding search capabilities within your applications. This can enhance your existing applications or platforms by providing a more private search solution tailored to your usersโ needs.
What if I want to stop or remove Whoogle from my VPS?
To stop Whoogle, navigate to the directory where your docker-compose.yml file is located and run:
docker-compose down
This command will stop the service. To remove Whoogle completely, simply delete the directory along with the docker-compose.yml file, and run docker volume prune to clean up any unused Docker volumes if you started with a database.
Conclusion
Self-hosting Whoogle on a VPS not only enhances your privacy but also provides a customizable search experience tailored to your needs. By following the steps outlined above, you can effortlessly install and manage Whoogle in your homelab or development environment. Explore further capabilities and integrations to maximize the potential of your self-hosted search engine.