Installer Whoogle Search avec Docker
Whoogle Search

Installer Whoogle Search avec Docker

Table des matières

Whoogle Search est un moteur de recherche qui se base sur les recherches de Google. Mais, et il y a un grand mais, Whoogle Search vous débarrasse de toutes les crasses Made In Google. 🎉


Facilement déployable en un clic en tant qu'application Docker et personnalisable avec un seul fichier de configuration. Rapide et simple à mettre en œuvre en tant que remplacement principal du moteur de recherche sur ordinateur et mobile.

⚡Caractéristiques

  • Pas de publicité ni de contenu sponsorisé
  • Pas de Javascript*
  • Pas de cookies**
  • Pas de suivi/liaison de votre adresse IP personnelle***
  • Aucun lien AMP
  • Aucune balise de suivi d'URL
  • Aucun en-tête de référence
  • Prise en charge des proxys Tor et HTTP/SOCKS
  • Suggestions de saisie semi-automatique/de recherche
  • Requêtes de recherche et de suggestion de requête POST (si possible)
  • Afficher les images en pleine résolution sans redirection de site (actuellement mobile uniquement)
  • Modes de thème Clair/Sombre/Système (avec prise en charge des thèmes CSS personnalisés)
  • Agent utilisateur généré aléatoirement
  • Facile à installer/déployer
  • Recherches bang de style DDG (c'est-à-dire ! )
  • Recherche facultative basée sur la localisation (c'est-à-dire résultats proches de )
  • Mode NoJS facultatif pour afficher les résultats de la recherche dans une fenêtre séparée avec JavaScript bloqué
*Pas de JavaScript tiers. Whoogle peut être utilisé avec JavaScript désactivé, mais s'il est activé, il utilise JavaScript pour des tâches telles que la présentation de suggestions de recherche.
**Pas de cookies tiers. Whoogle utilise des cookies (sessions) côté serveur pour stocker des paramètres de configuration non sensibles tels que le thème, la langue, etc. Tout comme avec JavaScript, les cookies peuvent être désactivés et n'affectent pas la fonctionnalité de recherche de Whoogle.
***Si déployé sur un serveur distant ou configuré pour envoyer des requêtes via un VPN, Tor, proxy, etc.

L'installation

  1. Créez votre docker-compose.yml:
sudo nano docker-compose.yml
  1. Collez ça dedans en prenant soin d'adapter le port et les volumes suivant votre configuration:
version: "2.4"

services:
  whoogle-search:
    image: benbusby/whoogle-search:latest
    container_name: whoogle-search
    restart: unless-stopped
    pids_limit: 50
    mem_limit: 256mb
    memswap_limit: 256mb
    # user debian-tor from tor package
    user: whoogle
    security_opt:
      - no-new-privileges
    cap_drop:
      - ALL
    tmpfs:
      - /config/:size=10M,uid=927,gid=927,mode=1700
      - /var/lib/tor/:size=15M,uid=927,gid=927,mode=1700
      - /run/tor/:size=1M,uid=927,gid=927,mode=1700
    env_file: # Alternatively, load variables from whoogle.env
      - whoogle.env
    ports:
      - 5000:5000
  1. Créer le fichier .env
sudo nano whoogle.env
  1. Et copiez/collez ça dedans. Vous pouvez bien entendu éditer les paramètres comme bon vous semble.
WHOOGLE_CONFIG_COUNTRY=FR
WHOOGLE_CONFIG_LANGUAGE=lang_fr
WHOOGLE_CONFIG_SEARCH_LANGUAGE=lang_fr
WHOOGLE_AUTOCOMPLETE=1
#WHOOGLE_CONFIG_STYLE=
  • WHOOGLE_CONFIG_COUNTRY=FR => Choissez votre pays, on conseil pour les belges, mettez FR aussi.

  • WHOOGLE_CONFIG_LANGUAGE=lang_fr => choisissez la langue de l'interface.

  • WHOOGLE_CONFIG_SEARCH_LANGUAGE=lang_fr => choisissez la langue de recherche.

  • WHOOGLE_AUTOCOMPLETE=1 => mettez 0 si vous ne voulez pas de l'auto-complétion

  1. On installe l'application:
docker-compose up -d

ou avec docker-compose V2:

docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 5000 par défaut:
http://ip:5000/

Ajouter le mode sombre avec du CSS

  1. Commencez par éditer le fichier whoogle.env:
sudo nano whoogle.env

Décommentez (retire le #) la ligne WHOOGLE_CONFIG_STYLE= pour que ça ressemble à:

WHOOGLE_CONFIG_STYLE=

Ensuite copiez un des CSS suivants, et collez le directement après le = de WHOOGLE_CONFIGSTYLE=.

Quand c'est fini faites un petit:

docker-compose up -d

ou avec docker-compose V2:

docker compose up -d

Faites F5 pour voir votre nouveau thème.

Faites votre choix:

":root {
  --whoogle-dark-logo: #685e79;
  --whoogle-dark-page-bg: #202124;
  --whoogle-dark-element-bg: #5f6368;
  --whoogle-dark-text: #fff;
  --whoogle-dark-contrast-text: #fff;
  --whoogle-dark-secondary-text: #93b3f3;
  --whoogle-dark-result-bg: #202124;
  --whoogle-dark-result-title: #93b3f3;
  --whoogle-dark-result-url: #bec1c5;
  --whoogle-dark-result-visited: #bc8cf2;
}

a:link h3 div {
  font-size: 20px !important;
}

#whoogle-w,
#whoogle-h,
#whoogle-o-1,
#whoogle-o-2,
#whoogle-g,
#whoogle-l,
#whoogle-e {
  color: var(--whoogle-dark-text) !important;
  fill: var(--whoogle-dark-text) !important;
}

#search-bar {
  z-index: 3;

  background: #202124;
  border: 1px solid #5f6368 !important;
  box-shadow: none;
  border-radius: 24px;
}

#search-submit {
  height: 40px;
  text-align: center;
  cursor: pointer;
  font-size: 20px;
  align-content: center;
  align-items: center;
  margin: auto;
  border-radius: 5px;
  width: 100px;
  font-size: 14px;
  margin: 23px auto 0 auto;
  padding: 0 16px;
  line-height: 27px;
  height: 36px;
  min-width: 54px;
  text-align: center;
  cursor: pointer;
  user-select: none;
  background-color: #303134 !important;
  border: none !important;
}

.search-fields {
  display: flex;
  flex-direction: column;
}"

En voici un autre CSS:

":root {
    /* LIGHT THEME COLORS */
    /*        TBD         */

    /* DARK THEME COLORS */
    --whoogle-dark-logo: #888888;
    --whoogle-dark-page-bg: #080808;
    --whoogle-dark-element-bg: #111111;
    --whoogle-dark-text: #dddddd;
    --whoogle-dark-contrast-text: #aaaaaa;
    --whoogle-dark-secondary-text: #8a8b8c;
    --whoogle-dark-result-bg: #111111;
    --whoogle-dark-result-title: #dddddd;
    --whoogle-dark-result-url: #eceff4;
    --whoogle-dark-result-visited: #959595;
}"

Et encore un autre:

":root {
    /* LIGHT THEME COLORS */
    --whoogle-logo: #4c4f69;
    --whoogle-page-bg: #eff1f5;
    --whoogle-element-bg: #bcc0cc;
    --whoogle-text: #4c4f69;
    --whoogle-contrast-text: #5c5f77;
    --whoogle-secondary-text: #6c6f85;
    --whoogle-result-bg: #ccd0da;
    --whoogle-result-title: #7287fd;
    --whoogle-result-url: #dc8a78;
    --whoogle-result-visited: #e64553;

    /* DARK THEME COLORS */
    --whoogle-dark-logo: #cdd6f4;
    --whoogle-dark-page-bg: #1e1e2e;
    --whoogle-dark-element-bg: #45475a;
    --whoogle-dark-text: #cdd6f4;
    --whoogle-dark-contrast-text: #bac2de;
    --whoogle-dark-secondary-text: #a6adc8;
    --whoogle-dark-result-bg: #313244;
    --whoogle-dark-result-title: #b4befe;
    --whoogle-dark-result-url: #f5e0dc;
    --whoogle-dark-result-visited: #eba0ac;
}

#whoogle-w {
    fill: #89b4fa;
}

#whoogle-h {
    fill: #f38ba8;
}

#whoogle-o-1 {
    fill: #f9e2af;
}

#whoogle-o-2 {
    fill: #89b4fa;
}

#whoogle-g {
    fill: #a6e3a1;
}

#whoogle-l {
    fill: #f38ba8;
}

#whoogle-e {
    fill: #f9e2af;
}"

Et... Encore un autre!

":root {
    /* LIGHT THEME COLORS */
    --whoogle-logo: #c4a7e7;
    --whoogle-page-bg: #faf4ed;
    --whoogle-element-bg: #f2e9e1;
    --whoogle-text: #575279;
    --whoogle-contrast-text: #1f1d2e;
    --whoogle-secondary-text: #797593;
    --whoogle-result-bg: #faf4ed;
    --whoogle-result-title: #d7827e;
    --whoogle-result-url: #286983;
    --whoogle-result-visited: #907aa9;

    /* DARK THEME COLORS */
    --whoogle-dark-logo: #c4a7e7;
    --whoogle-dark-page-bg: #191724;
    --whoogle-dark-element-bg: #1f1d2e;
    --whoogle-dark-text: #e0def4;
    --whoogle-dark-contrast-text: #e0def4;
    --whoogle-dark-secondary-text: #908caa;
    --whoogle-dark-result-bg: #393552;
    --whoogle-dark-result-title: #9ccfd8;
    --whoogle-dark-result-url: #3e8fb0;
    --whoogle-dark-result-visited: #c4a7e7;
}

#whoogle-w {
    fill: #eb6f92;
}

#whoogle-h {
    fill: #f6c177;
}

#whoogle-o-1 {
    fill: #ebbcba;
}

#whoogle-o-2 {
    fill: #31748f;
}

#whoogle-g {
    fill: #9ccfd8;
}

#whoogle-l {
    fill: #c4a7e7;
}

#whoogle-e {
    fill: #908caa;
}"

Hum, encore un autre?

":root {
    /* LIGHT THEME COLORS */
    --whoogle-page-bg: #d8dee9;
    --whoogle-logo: #2e3440;
    --whoogle-element-bg: #2e3440;
    --whoogle-text: #3B4252;
    --whoogle-contrast-text: #eceff4;
    --whoogle-secondary-text: #70757a;
    --whoogle-result-bg: #fff;
    --whoogle-result-title: #4c566a;
    --whoogle-result-url: #81a1c1;
    --whoogle-result-visited: #a3be8c;

    /* DARK THEME COLORS */
    --whoogle-dark-page-bg: #292e39;
    --whoogle-dark-element-bg: #d8dee9;
    --whoogle-dark-logo: #d8dee9;
    --whoogle-dark-text: #eceff4;
    --whoogle-dark-contrast-text: #2e3440;
    --whoogle-dark-secondary-text: #f9fafb;
    --whoogle-dark-result-bg: #4c566a;
    --whoogle-dark-result-title: #88c0d0;
    --whoogle-dark-result-url: #eceff4;
    --whoogle-dark-result-visited: #a3be8c;
}"

Ah, ce n'était pas suffisant?

":root {
    /* LIGHT THEME COLORS */
    --whoogle-page-bg: #eee8d5;
    --whoogle-element-bg: #002b36;
    --whoogle-logo: #002b36;
    --whoogle-text: #002b36;
    --whoogle-contrast-text: #eee8d5;
    --whoogle-secondary-text: #3b4252;
    --whoogle-result-bg: #fff;
    --whoogle-result-title: #268bd2;
    --whoogle-result-url: #5f8700;
    --whoogle-result-visited: #2aa198;

    /* DARK THEME COLORS */
    --whoogle-dark-page-bg: #002b36;
    --whoogle-dark-element-bg: #eee8d5;
    --whoogle-dark-logo: #eee8d5;
    --whoogle-dark-text: #eee8d5;
    --whoogle-dark-contrast-text: #002b36;
    --whoogle-dark-secondary-text: #eee8d5;
    --whoogle-dark-result-bg: #073642;
    --whoogle-dark-result-title: #3aa6f2;
    --whoogle-dark-result-url: #38d5c9;
    --whoogle-dark-result-visited: #2aa198;
}"

Vous m'en direz des nouvelles:

":root {
/* LIGHT THEME COLORS 
  This is a dark theme so there is no light theme :)
  Maybe in the future ?
*/

/* DARK THEME COLORS */
--whoogle-dark-page-bg: #212121; 
--whoogle-dark-element-bg: #111111 ; 
--whoogle-dark-logo: #007261 ; 
--whoogle-dark-text: #c6d3d1; 
--whoogle-dark-contrast-text: #90AFA3; 
--whoogle-dark-secondary-text: #f9fafb;
--whoogle-dark-result-bg: #111111; 
--whoogle-dark-result-title: #699C88; 
--whoogle-dark-result-url: #b1d2db; 
--whoogle-dark-result-visited: #a3be8c; 
}

#whoogle-o-1 {
  fill: #347F6C;
}

#whoogle-o-2 {
  fill: #347F6C;
}"

Pardon? Je suis un gros radin?

":root {
    /* LIGHT THEME COLORS */
    /*        coming soon....         */

    /* DARK THEME COLORS */
    --whoogle-dark-logo: #8751a1;
    --whoogle-dark-page-bg: #011627;
    --whoogle-dark-element-bg: #040A19;
    --whoogle-dark-text: #24b89d;
    --whoogle-dark-contrast-text: #4186c6;
    --whoogle-dark-secondary-text: #8751a1;
    --whoogle-dark-result-bg: #040A19;
    --whoogle-dark-result-title: #4186c6;
    --whoogle-dark-result-url: #f48075;
    --whoogle-dark-result-visited: #eb3488;
    --whoogle-dark-divider: #4186c6;
}
#whoogle-w {
    fill: #4186c6;
}

#whoogle-h {
    fill: #eb3488;
}

#whoogle-o-1 {
    fill: #f48075;
}

#whoogle-o-2 {
    fill: #8751a1;
}

#whoogle-g {
    fill: #24b89d;
}

#whoogle-l {
    fill: #eb3488;
}

#whoogle-e {
    fill: #4186c6;
}"

J'allais oublier celui-ci!

":root {
    /* LIGHT THEME COLORS */
    --whoogle-logo: #c4a7e7;
    --whoogle-page-bg: #ffe9d6;
    --whoogle-element-bg: #fcd6c5;
    --whoogle-text: #575279;
    --whoogle-contrast-text: #1f1d2e;
    --whoogle-secondary-text: #797593;
    --whoogle-result-bg: #fcd6c5;
    --whoogle-result-title: #5fbfa2;
    --whoogle-result-url: steelblue;
    --whoogle-result-visited: #3a9278;

    /* DARK THEME COLORS */
    --whoogle-dark-logo: #c4a7e7;
    --whoogle-dark-page-bg: #191724;
    --whoogle-dark-element-bg: #1f1d2e;
    --whoogle-dark-text: #e0def4;
    --whoogle-dark-contrast-text: #e0def4;
    --whoogle-dark-secondary-text: #908caa;
    --whoogle-dark-result-bg: #393552;
    --whoogle-dark-result-title: #9ccfd8;
    --whoogle-dark-result-url: #3e8fb0;
    --whoogle-dark-result-visited: #c4a7e7;
}

#whoogle-w,#whoogle-h,#whoogle-o-1,#whoogle-o-2,#whoogle-g,#whoogle-l,#whoogle-e {
    fill: #7ccbb3;
}"

Crédits CSS


Ouvrir les pages dans un nouvel onglet

Dans Configuration, cochez Ouvrir les Liens dans un Nouveau Onglet et validez en cliquant sur Appliquer:


Faire ses recherches en HTTPS

Pour la confidentialité de vos recherches, il est plus que vivement conseillé de faire vos recherches avec du HTTPS et un certificat SSL certifié et signé.

Je propose deux options sur belginux:

Cosmos Cloud, conseillé car plus pointu niveau sécurité:

Exposer une application sur le web avec Cosmos Cloud
Tutoriel pour exposer une application sur le web en tout sécurité avec un certificat SSL certifié.

Nginx Proxy Manager

Installer Nginx Proxy Manager avec Docker
Tutoriel d’installation de Nginx Proxy Manager, exposez vos services facilement et en toute sécurité.

Reverse proxy NGINX:

server {
	server_name your_domain_name.com;
	access_log /dev/null;
	error_log /dev/null;

	location / {
	    proxy_set_header X-Real-IP $remote_addr;
	    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	    proxy_set_header X-Forwarded-Proto $scheme;
	    proxy_set_header Host $host;
	    proxy_set_header X-NginX-Proxy true;
	    proxy_pass http://localhost:5000;
	}
}

Quand c'est terminé, n'oubliez pas de renseigner le domaine dans ROOT URL. Valider en cliquant sur Appliquer:

zarev

🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.

Vous pourriez aussi aimer