|
||
---|---|---|
build/nextcloud | ||
exemple | ||
scripts | ||
secrets | ||
.gitignore | ||
README.md | ||
compose-logo.png | ||
docker-compose.yml |
README.md
Voljin
Mon serveur cloud personnel hébergé depuis chez moi sur Gigabyte Brix GB-BXBT-2807 avec 8 Go de RAM. Le tout orchestré par Docker-Compose et Debian. Le serveur s'appelle Voljin en hommage au chef des Trolls dans l'univers de Warcraft.
Contenu
Traefik
- reverse-proxy pour l'accès internet des applications qui en ont l'usage
Nextcloud / Redis / Postgres
- stockage et partage de fichiers et données dans le cloud
Composition
.
├── build
├── exemple
├── scripts
├── secrets
├── compose-logo.png
├── docker-compose.yml
└── README.yml
build : Contient les éléments pour la construction des mes images dockers.
exemple : exemple de mes fichiers .env
utilisés pour la gestion des variables d'environement.
scripts : tous les exécutables pour configurer, démarrer, gérer la stack
secrets : réuni tous les docker secrets
Configuration
Secrets
Le code de la stack étant public et pour sécuriser la communication des différents conteneurs, j'utilise des docker secrets afin que les informations sensible ne soient pas diffusées en clair. Ils sont tous contenus dans le répertoire secrets
prévu à cet effet.
.
└── traefik_auth_file
- traefik_auth_file : authentification pour la console traefik. Le
traefik_auth_file
se présente sous la forme d'un ligne de texte contenant le nom d'utilisateur et le mot de passe qui sera chiffré ave openssl.
user:mot_de_passe_chiffré
Pour chiffrer le mot de passe avec openssl.
openssl passwd -apr1 mon_mot_de_passe
Le mot de passe chiffré doit ressembler à cela.
$apr1$89eqM5Ro$CxaFELthUKV21DpI3UTQO.
On copie-colle avec le nom d'utilisateur.
user:$apr1$89eqM5Ro$CxaFELthUKV21DpI3UTQO.
On mettra une ligne par utilisateurs.
Lancement des scripts
setup.sh
Post-Configuration
Nextcloud
1. La configuration de l'en-tête du reverse proxy est incorrecte ou vous accédez à Nextcloud à partir d'un proxy de confiance.
Cette erreur survient avec l'utilisation d'un reverse proxy, Traefik dans mon cas. Pour la résoudre il faut inspecter le conteneur qui exécute Traefik.
docker inspect traefik
Et chercher les lignes suivantes et relever les lignes "IPAddress"
et "IPrefxLen"
.
...
"EndpointID": "dca0adfbbddf2ffc29f183a5147c5140775dec40ece7a f5b75e6d285272c304a",
"Gateway": "172.1.0.1",
"IPAddress": "172.1.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:46:ac:E4:00:02",
"DriverOpts": null
}
...
Puis dans le fichier de configuration de nextcloud ajouter cette ligne.
...
'trusted_proxies' => '172.1.0.2/16',
...
2. Basculez complètement Nextcloud vers HTTPs
Lorsque vous vous connectez à Nextcloud, vous remarquerez probablement que certains symboles ne s'affichent pas. Cela a à voir avec le fait que ceux-ci doivent être chargés via HTTP. Mais celui-ci est bloqué. Pour une prise en charge totale du HTTPs il faut modifier le fichier de configuration de Nextcloud
chercher:
'overwrite.cli.url' => 'http://nextcloud.mondomaine.do',
remplacer par:
'overwrite.cli.url' => 'https://nextcloud.mondomaine.do',
ajouter ses deux lignes à suite :
'overwriteprotocol' => 'https',
'overwritehost' => 'nextcloud.mondomaine.do',
3. Votre installation n’a pas de préfixe de région par défaut.
Pour solutionner le problème il suffit d’éditer le fichier "config/config.php"
et d’ajouter la ligne:
'default_phone_region' => 'FR',