140 lines
5.1 KiB
Markdown
140 lines
5.1 KiB
Markdown
---
|
|
title: GoDoxy
|
|
created: 2026-06-06
|
|
updated: 2026-06-06
|
|
type: app
|
|
tags: [catalogue, reverse-proxy, go, webui, docker, container-orchestrator]
|
|
confidence: medium
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Reverse+Proxy, https://github.com/yusing/godoxy]
|
|
---
|
|
|
|
# 🚀 GoDoxy
|
|
|
|
> **Reverse proxy et orchestrateur de conteneurs haute performance écrit en Go, avec WebUI intégrée**. Réputation : jeune challenger ambitieux qui combine proxy + orchestration en un seul binaire.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [github.com/yusing/godoxy](https://github.com/yusing/godoxy) |
|
|
| **GitHub** | [yusing/godoxy](https://github.com/yusing/godoxy) |
|
|
| **License** | MIT |
|
|
| **Langage** | Go, Vue.js (WebUI) |
|
|
| **Étoiles GitHub** | 3.3k ⭐ |
|
|
| **Dernière MAJ** | 2026-06 |
|
|
| **Catégorie** | [[cat-reverse-proxy\|Reverse Proxy]], Orchestrateur |
|
|
|
|
## 📝 Description
|
|
|
|
**GoDoxy** est un projet récent (2024-2025) écrit en **Go** qui se positionne comme une **alternative unifiée** à la stack classique Traefik + Portainer + NPM. Il combine en un seul binaire : **reverse proxy avec auto-découverte Docker**, **interface web de gestion des conteneurs**, et **tunnel WireGuard** pour les setups multi-nœuds.
|
|
|
|
L'argument marketing principal est la **simplicité radicale** : configuration par **labels Docker** (comme Traefik) ou via une **WebUI moderne** (comme NPM), sans avoir à choisir entre les deux philosophies. Le support natif de **WireGuard** permet de fédérer plusieurs instances GoDoxy sur des machines distantes en mesh, ce qui en fait une solution intéressante pour les setups distribués (multi-VPS, cluster familial).
|
|
|
|
**Public cible** : utilisateurs qui veulent **une seule interface** pour gérer proxy + conteneurs + tunnels. Concurrence frontale de **Traefik** + **Portainer**, mais aussi de **Caddy** (par la simplicité) et de **Pangolin** (par la dimension tunnel/multi-nœud). Le projet est encore jeune : à surveiller pour la stabilité long terme.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Option 1 : Docker Compose (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
godoxy:
|
|
image: ghcr.io/yusing/godoxy:latest
|
|
container_name: godoxy
|
|
restart: unless-stopped
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
- "8080:8080" # WebUI
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
- godoxy_config:/app/config
|
|
environment:
|
|
- GODoxy_LISTEN_PORT=8080
|
|
networks:
|
|
- proxy
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
|
|
volumes:
|
|
godoxy_config:
|
|
```
|
|
|
|
### Option 2 : Variante Traefik (non applicable)
|
|
|
|
GoDoxy n'est pas conçu pour coexister avec Traefik — ils font le même travail. **Choisissez l'un ou l'autre**.
|
|
|
|
## ⚙️ Configuration Initiale
|
|
|
|
1. **Monter le socket Docker** (lecture seule obligatoire)
|
|
2. **Lancer** : `docker compose up -d`
|
|
3. **Accéder à la WebUI** : `http://localhost:8080`
|
|
4. **Ajouter des labels** sur les conteneurs à exposer :
|
|
|
|
```yaml
|
|
# Sur un service à exposer
|
|
services:
|
|
mon-app:
|
|
image: nginx:alpine
|
|
labels:
|
|
- "godoxy.enable=true"
|
|
- "godoxy.domain=app.example.com"
|
|
- "godoxy.port=80"
|
|
```
|
|
|
|
5. **HTTPS** : GoDoxy gère automatiquement les certs Let's Encrypt (HTTP-01 ou DNS-01).
|
|
|
|
## 🔀 Alternatives
|
|
|
|
### Open Source
|
|
- [[app-traefik]] — Référence mature, auto-discovery Docker
|
|
- [[app-caddy]] — Plus simple, mature, large communauté
|
|
- [[app-pangolin]] — Approche tunnel + auth intégrée
|
|
- [[app-nginx-proxy-manager]] — WebUI pour Nginx
|
|
|
|
### Comparaison GoDoxy vs Traefik vs Pangolin
|
|
|
|
| Critère | GoDoxy | Traefik | Pangolin |
|
|
| :--- | :--- | :--- | :--- |
|
|
| Langage | Go | Go | TypeScript |
|
|
| Auto-discovery Docker | ✅ | ✅ Natif | ⚠️ Partiel |
|
|
| WebUI | ✅ Moderne | ⚠️ Dashboard basique | ✅ Complète |
|
|
| Tunnel WireGuard | ✅ Natif | ❌ | ❌ (utilise WireGuard séparé) |
|
|
| Auth intégrée (IdP) | ⚠️ Basique | ⚠️ ForwardAuth | ✅ Native (Authentik-like) |
|
|
| Multi-nœud | ✅ Mesh WG | ❌ | ✅ |
|
|
| Maturité | ⚠️ Récent | ✅ Très mature | ⚠️ Récent |
|
|
| RAM | ~50 MB | ~80 MB | ~200 MB |
|
|
|
|
### Propriétaires (ce que GoDoxy remplace)
|
|
- **Cloudflare Tunnel + Portainer** combo
|
|
- **Tailscale Funnel** pour exposition publique
|
|
- **Ngrok Business** pour tunnels
|
|
|
|
## 🔒 Sécurité
|
|
|
|
- ✅ **Pas d'écriture sur le socket Docker** (`:ro`)
|
|
- ✅ **HTTPS automatique** via Let's Encrypt
|
|
- ✅ **Support DNS-01** (certificats wildcard)
|
|
- ⚠️ **Auth intégrée minimale** : prévoir [[app-authentik]] ou Authelia derrière
|
|
- ⚠️ **Projet jeune** : moins d'audit de sécurité communautaire que Traefik/Caddy
|
|
- ⚠️ **WebUI exposée par défaut** : bien configurer un reverse proxy ou restreindre l'accès
|
|
|
|
## 📚 Ressources
|
|
|
|
- [README GitHub](https://github.com/yusing/godoxy)
|
|
- [Documentation](https://github.com/yusing/godoxy#readme)
|
|
- [Wiki selfh.st](https://selfh.st/apps/?tag=Reverse+Proxy)
|
|
|
|
## 🔗 Pages Liées
|
|
|
|
- [[cat-reverse-proxy]] — Catégorie Reverse Proxy
|
|
- [[app-traefik]] — Concurrent principal mature
|
|
- [[app-caddy]] — Alternative simple
|
|
- [[app-pangolin]] — Concurrent orienté tunnel
|
|
- [[comparatif-reverse-proxy]] — Comparaison détaillée
|
|
- [[docker-compose]] — Orchestration de conteneurs
|