Salut tout le monde !

Je viens vous présenter mon script pour déployer une seedbox : Turbo-seedbox
Actuellement, le projet déploie ce qu'il faut pour :
- Télécharger : rtorrent, sickrage, couchpotato.
- Faire du streaming : plex, emby et limbomedia.
- Geeker : un serveur VPN, un serveur teamspeak, un serveur FTP.
Le tout sécurisé par une authentification (htaccess), fail2ban et https (auto-signé et letsEncrypt).

Les avantages :
1. Multi-users, dans le cas ou vous auriez plusieurs locataires sur votre seedBox.
2. Personnalisable, on peut choisir les services déployés.
3. Facile à installer et à désinstaller, car le projet repose sur Docker. Trois programmes seront installés automatiquement (si besoin & si vous acceptez : curl, docker et docker-compose.

Les inconvénients :
A. Si vous installez tout, il vous faudra télécharger 3Go de containers
B. Le projet est encore en développement. Entre deux mises à jours, vous risquez de perdre la conf d'un des serveurs. Et les scripts peuvent foirer

Voici les étapes pour installer Turbo-seedbox :
0. Récupérer les sources :

git clone https://github.com/cloneMe/turbo-seedbox.git
cd turbo-seedbox
chmod +x build.sh
  1. Configuration
    1.1 Déclarer les utilisateurs (Optionnel) :
     printf "<user name>:$(openssl passwd -crypt <password>)\n" >> htpasswd.txt
    
    Par exemple, pour mon utilisateur bar qui a le mdp foo :
    printf "bar:$(openssl passwd -crypt foo)\n" >> htpasswd.txt

1.2. Éditer le build.sh. Il faut au moins mettre le nom de domaine.
2. Exécuter le script build.sh
Ce script va :
- Installer Docker si besoin.
- Générer certains fichiers. Si vous ajoutez un utilisateur, il faudra refaire l'étape 2 et 4.
- Démarrer les serveurs :

docker-compose up -d

Comment accéder aux serveurs ?

Voici un exemple avec le nom de domaine "domain.com" :
Dans le fichier build.sh, on a :
server_name=domain.com

Une fois les serveurs lancés (docker-compose up -d), ils sont accessible sur les adresses suivantes :
http://domain.com/muximux
http://domain.com/rtorrent
[url]ftp://domain.com[/url]
L'ensemble des URL sont dans ./help/URL.txt
Des instructions pour configurer les serveurs sont dans ./help/<user name>.txt

Le fait d'avoir un beau "NON" sur le nom de domaine, http://domain.com, indique que le conteneur nginx est lancé.
Le fait de ne pas avoir accès au sous domaine, http://test.domain.com, c'est que la déclaration des sous domaines n'est pas encore effectives : il faut re-essayer plus tard
Lors de l'ouverture d'une page, une popup d'identification doit s'ouvrir.
Si au bout de plusieurs tentatives d'identification, la popup ne s'ouvre plus et plus aucune page ne s'ouvre, c'est que tu t'es fait bannir. Il faudra re-essayer dans 1 heure.

N'hésitez pas à poster vos retours, bon ou mauvais

P.S : j'y connais rien en script bash, conf nginx, ... Du coup, n'hésitez pas à créer des pull requests (même si je ne sais pas comment ça marche, je découvre git aussi

10 mois plus tard
6 mois plus tard

Merci.
Bien que je n'ai pas utilisé ta solution, elle à le mérite de faire état de bons services installablent facillement avec Docker.
C'est ce qu'il manque cruellement en ce moment, un état de l'art des services pour seedbox avec leurs utilités.

Répondre…