- Modifié
https://discord.gg/2x32Yb
si tu veux nous rejoindre, pour l'instant que Ubuntu mais j'y travaille pour debian
https://discord.gg/2x32Yb
si tu veux nous rejoindre, pour l'instant que Ubuntu mais j'y travaille pour debian
Bonjour !
Je travail depuis 2 mois au déploiement d'une "box".
J'ai un serveur dédié avec lequel je fais des essais et j'apprends.
Pour l'instant j'ai fait tourné tous les containers que je souhaitais via un docker-compose, sauf fail2ban je crois. Mais tout cela est plus une forme de test afin de déterminer ensuite une façon plus définitive de faire tourner tout cela.
Sachant que l'élaboration d'un script est la "next-step" la plus bourrine qui soit quand on a déjà galéré à tout mettre en place à la main (et moi je n'ai même pas fini), et qu'on débarque totalement sur linux.
Donc je pense bien installer ton script @laster13. Par lâcheté pure. Mais surtout car il reprend tout ce dont j'ai besoin.
Je me permet quelques questions en attendant de l'installer :
• Si j'ai bien compris je déploie le script avec les prérequis actifs (domaine, gcloud), ensuite j'applique les configurations recommandées dans le wiki et c'est bon ?
• Je ne vois pas d'intégration de mariadb ou autre, ce qui implique que tu utilise la base de donnée par défaut de nextcloud, en quoi n'est-ce pas un problème ?
• J'ai cru voir en parcourant le Git que les labels Traefik des docker-compose n'incluait pas les labels de sécurités style :
labels:
...
- "traefik.frontend.headers.SSLRedirect=true"
- "traefik.frontend.headers.STSSeconds=315360000"
- "traefik.frontend.headers.browserXSSFilter=true"
- "traefik.frontend.headers.contentTypeNosniff=true"
- "traefik.frontend.headers.forceSTSHeader=true"
- "traefik.frontend.headers.SSLHost=${DOMAINNAME}"
- "traefik.frontend.headers.STSIncludeSubdomains=true"
- "traefik.frontend.headers.STSPreload=true"
- "traefik.frontend.headers.frameDeny=true"
Sachant qu'ils permettent l'obtention facile d'un A+ sur [https://www.ssllabs.com/ssltest/]. Cela n'est pas nécessaire d'après toi ? (Sachant par contre que le framedeny empêche les applications d'être casté dans Organizr en iFrame par exemple)
• Comment se passe le back-up de la box ? Est-ce qu'il reprend tout le nécessaire au redéploiement identique ? (sauf les data évidemment). Cela se fait-il via Duplicati ? Y'a-t-il un script de restauration au cas où le serveur de restauration ne serait pas le même ?
• Si on a pas une box clean avant le déploiement j'ai lu dans ce topic (j'ai tout lu ) quelques commandes afin de "nettoyer" le serveur, comment je fais si je veux les rajouter au wiki en étape pré-process à une installation ?
Désolé cela fait beaucoup de questions, mais pour un pro elles doivent être faciles
Allez j'installe ça !
Bonjour,
Les pres-requis effectivement sont le domaine, un drive illimité et quelques connaissances en docker sont également les bienvenues .
Concernant Nextcloud effectivement pas de mariadb pour l instant sachant que la base de donnée sqlite suffit pour une utilisation hors prod mais j'ai quand même en projet de l'intégrer.
La sauvegarde est un script que j'ai élaboré et qui permet de sauvegarder toute la seedbox, base de donnée plex comprise, ce qui te permet de redéployer en 20 mn ta box à l'identique. Du coup je n'utilise pas duplicati mais libre à toi de le faire
Un partitionnement spécifique est recommandé ainsi que Ubuntu pour l instant. Par ailleurs je viens de finir une mise à jour du script complète avec ansible et du coup j'abandonne complétement le docker-compose. Si tu veux tester c est encore sur la branche dev, pas encore merger sur le master.
git clone -b dev https://github.com/laster13/patxav.git /opt/seedbox-compose
Le wiki est un support qui t'aidera dans la config des applis
Et enfin un groupe sympa qui ne demande qu'à t aider car comme ils n'ont plus d'erreur et que leur box fonctionne bien, ils s'ennuient
Edit: Oui les label sécurité sont important, pas eu le temps pour l'instant de les integrer. Ca fait parti de mes prochaines mise à jour
Je crois qu'il abandonne compose et non la baleine.
Entre autre chose, ansible permet non seulement de monter le container mais également de faire de la config dans le fichier yml;
Si je prends l'exemple de Rutorrent je peux dans le fichier yml monter le container et configurer le fichier rtorrentr.rc
....
- name: 'Deploying {{pgrole}}'
docker_container:
name: '{{pgrole}}-%USER%'
image: '{{image}}'
pull: yes
published_ports:
- '{{extport2}}:{{intport2}}'
- '{{extport3}}:{{intport3}}/udp'
volumes: '{{pg_volumes}}'
env: '{{pg_env}}'
restart_policy: unless-stopped
networks:
- name: traefik_proxy
state: started
purge_networks: yes
stop_timeout: '240'
labels: '{{pg_labels}}'
# CONFIGURATION ####################################################
- name: 'Waiting for {{pgrole}} to initialize'
wait_for:
path: '/opt/seedbox/docker/%USER%/{{pgrole}}/rtorrent/rtorrent.rc'
state: present
msg: rtorrent.rc creation failed
- name: 'Stopping {{pgrole}}'
docker_container:
name: '{{pgrole}}-%USER%'
state: stopped
# This is needed for rutorrent b/c it's weird.
- name: 'Setting ownership on appdata recursivley (this can take a while!)'
shell: 'chown -R %UID%:%GID% /opt/seedbox/docker/%USER%/{{pgrole}}'
- name: 'Setting permissions on appdata recursivley (this can take a while!)'
shell: 'chmod -R 775 /opt/seedbox/docker/%USER%/{{pgrole}}'
- name: Set download location
lineinfile:
path: '/opt/seedbox/docker/%USER%/{{pgrole}}/rtorrent/rtorrent.rc'
regexp: '#*directory\s*=.*'
line: 'directory = /home/%USER%/local/{{pgrole}}'
state: present
....
Par ailleurs l'install est plus conviviale avec un suivi étape par étape du déroulement des commandes
laster13 Je vais peut être paraître ignare mais avec la disparition d'ACD en illimité où puis-je trouver un cloud illimité ? Etant actuellement sur une CT Proxmox ainsi limité au stockage du dédié, je cherche une solution peu coûteuse et assez fiable pour le stockage des données mais j'ai l'impression que c'est assez compliqué de trouver un cloud illimité. J'ai regardé pour les compte GSuite revendu sur eBay, ça me semble très peu fiable (Sauf si vous connaissez un vendeur fiable ?).
j'ai acheté mon gsuite sur ebay a un ricain environ 20€ il y a quelques mois sans souçi, il en a tjrs si ca t'interesse
donnes moi un mail. le script chiffre le contenu sur le drive, donc tu es tranquille coté ban, mais pour les questions techniques Laster te répondra mieux que moi
Bonsoir,
Une invit pour le discord ou d autres pourront également t aider.
https://discord.gg/6JMXNY
Bonjour,
J'ai basculé quasi l integralité du script avec ansible, moins de risque d'erreur dans l install (300 lignes de codes en moins) et une meilleure gestion des variables. Plus de stabilité egalement avec le choix d'installer "unionfs" ou "mergerfs".
Pour avoir basculer avec mergerfs indeniablement ca marche mieux et je trouve que les films/series sont plus rapides a lancer, vous me direz ... aucun I/O WAITS, meme si j'en avais moins avec ubuntu.
Un super motd egalement repris chez Cloudbox (je laisse leur signature dans mon script lorsque je leur prends des morceaux de code).
Etant donné que jusqu'a present personne ne m'a parlé du multi user, j'ai viré cette possibilité. De toute facon nos serveurs sont loin d etre assez puissant pour gerer du multi user avec rclone. Donc ca allege le script et le rend plus sobre.
Du coup dorenavant les containers n'auront plus l'extension avec le user, rclone.service et unionfs.service non plus. ca veut dire que pour lancer un container ca sera: docker restart plex au lieu de docker restart plex-user.
Pour la mise a jour
git pull
choix 3/ choix 1
Pour ceux qui ont un soucis avec git pull --> rm -rf /opt/seedbox-compose et git clone https://github.com/laster13/patxav.git /opt/seedbox-compose
Important
une chose que je ne peux pas faire a votre place avec ce script de mise a jour, c est modifier vos config sonarr/radarr. dans indexeur et downloader il faut virer l'extension user. par exemple la ou il y a rutorrent-user, mettre rutorrent. Modifier les remote mapping, et le fichier config.json dans plexautoscan, mettre plex a la place de plex-user, pas grand chose a faire en fait.
Mon script de mise a jour recupere toutes les variables importantes dans des fichiers, modifie le nom des containers, installe megerfs, reinstalle rclone et installe le motd
Super boulot, bravo
Merci beaucoup ça fait plaisir