đź“• Node [[docker]]
📄 docker.md by @flancian ️🔗 ✍️

Docker

  • A [[container]] platform.
    • Someone once told me "X is simpler, better than [[docker]]" but I forgot to write it down :)
    • Perhaps it was [[nomad]]? Need to check if it’s at the same level of abstraction.
    • [[commands]]
      • [[docker run]] takes an image (might not be local) and runs it, creating a container
      • [[docker start]] starts a previously created container
      • [[docker stop]] stops a running container
      • [[docker ps]] (-a) shows running (all) containers
    • #pull [[please contain yourself]], an introduction

To run Docker as a non-privileged user, consider setting up the Docker daemon in rootless mode for your user: dockerd-rootless-setuptool.sh install Visit https://docs.docker.com/go/rootless/ to learn about rootless mode. To run the Docker daemon as a fully privileged service, but granting non-root users access, refer to https://docs.docker.com/go/daemon-access/

đź“„ docker.md by @communecter

Installation de Communecter via Docker

Retour au TODO de Fluidlog

Installation de Communecter via docker

choose community edition CE https://docs.docker.com/engine/installation example install docker ubuntu https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu

Erreur avec AptGet… OK docker-ce n’était pas dispo de base, il a fallu ajouter des serveurs En fait, j’ai du suivre le post: https://gist.github.com/Stoakes/a5adb36e9211964dbf00b47d36edd181

Post-installation steps for Linux https://docs.docker.com/engine/installation/linux/linux-postinstall

Installer docker-compose

https://docs.docker.com/compose/install

Installer Communecter

git clone https://gitlab.adullact.net/pixelhumain/docker ~/pixelhumain-docker
cd ~/pixelhumain-docker
#pour linux
docker-compose -f docker-compose.yml -f docker-compose.install.yml run ph cotools --install
#ou pour windows/mac utiliser
docker-compose -f docker-compose-no-build.yml -f docker-compose.install-no-build.yml run ph cotools --install

Mise Ă  jour des droits

Modifier les droits pour pouvoir modifier les fichiers : Pour taper ces commandes, se mettre dans le rep : cd ~/pixelhumain-docker

#modifier le group/user pour pouvoir ouvrir/modifier les fichiers
sudo chown -R ${USER:=$(/usr/bin/id -run)}:$USER code/
sudo chown -R ${USER:=$(/usr/bin/id -run)}:$USER code/pixelhumain/
sudo chown -R ${USER:=$(/usr/bin/id -run)}:$USER code/modules/
sudo chown -R ${USER:=$(/usr/bin/id -run)}:$USER code/log/

Voir aussi “Getting start” : https://docs.docker.com/compose/gettingstarted/#step-3-define-services-in-a-compose-file

Problème d’accès

Suite à cela, je n’avais pas accès à CO. Nous avons vérifié si un container tournait (voir paragraphe plus bas) -> non Nous avons supprimé le répertoire code pour tout recommencer.

docker-compose -f docker-compose.yml -f docker-compose.install.yml run ph install

Explication la il va rebuilder le container front et utiliser le container install pour faire l’install sur le front c’est pour ça que l’on a 2 fichier :

  • docker-compose.yml
  • docker-compose.install.yml

docker-compose.install.yml ne sert que pour l’install et certaine commande Suite à ces commandes, il clone tout ce qu’il faut en local, ça prend un certain temps en fonction de votre réseau… Aller sur http://localhost:5080 La première fois, j’ai eu des messages d’erreur d’accès… Thomas m’a demandé si j’avais le répertoire : /pixelhumain-docker/code/pixelhumain/ph/vendor/ mais je ne l’avais pas…

Nous avons de nouveau supprimé le répertoire code, et modifié le script

/pixelhumain-docker/docker-install/Dockerfile

pour y ajouter curl et php

Voir la présence et lancer un container

Pour savoir si docker tourne, faire "docker ps" S’il n’y a rien (à part le titre des colonnes du tableau), c’est signe qu’aucun container ne tourne.

Exemple : ici, il n’y a pas de container qui tourne :

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

LĂ , il y en a :

CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                                                                           NAMES
92ed85af6a28        pixelhumaindocker_front   "/usr/bin/supervisord"   4 weeks ago         Up About a minute   9000/tcp, 0.0.0.0:5080->80/tcp, 0.0.0.0:5443->443/tcp, 0.0.0.0:5901->9001/tcp   pixelhumaindocker_front_1
8f16ade3a72b        mongo                     "docker-entrypoint..."   4 weeks ago         Up About a minute   27017/tcp                                                                       pixelhumaindocker_mongo_1

Et pour lancer un container : docker-compose -f docker-compose.yml up

Inscription en local

Une fois sur l’interface d’accueil de CO, il faut remplir le formulaire d’inscription, sauf que le mail d’activation n’est pas envoyé. Pour passer cette étape, on “triche” avec la commande : docker-compose -f docker-compose.yml -f docker-compose.install.yml run ph cotools --emailvalid=email@example.com

(en modifiant bien sur : email@example.com par l’email qui a servi à l’inscription) On rafraîchit la page, on se loge, et ça fonctionne, on arrive dans CO !

Gérer le démarrage auto

https://docs.docker.com/engine/installation/linux/linux-postinstall/#configure-docker-to-start-on-boot

sudo systemctl enable docker
Synchronizing state of docker.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install enable docker

Malgré cela, CO ne démarre pas au lancement de ma machine.

Accès à Communecter

Je n’ai pas encore réussi (pas essayé non plus…) à le lancer au démarrage, donc à chaque fois que je souhaite lancer CO :

  • Je vais dans mon rĂ©pertoire ~/projets/pixelhumain-docker/
  • Je lance docker-compose -f docker-compose.yml up
  • Je vais sur http://localhost:5080, et ça tourne !

Tout est noté à la fin du script ci-dessus… (je dis ça, car j’ai cherché un peu car je n’avais pas lu…)

Ajout de Fluidgraph dans CO

Administration de la base NoSQL (mongoDB)

Pour avoir accès à mongo en dehors du container il faut ouvrir le port Voir fichier : https://github.com/pixelhumain/docker/blob/master/docker-compose.yml

J’ai du ajouter la ligne concernant l’ouverture de port comme l’exemple qui suit :

services:
  mongo:
    image: mongo
    volumes:
      - ./code/data/db:/data/db
    ports:
      - "5017:27017"

Cela m’a permis, via l’outil Robomongo d’ajouter une collection :

{
    "_id" : ObjectId("59f1920bc30f30536124355d"),
    "name" : "DEV Config",
    "key" : "devParams",
    "mangoPay" : {
        "ClientId" : "communecter",
        "ClientPassword" : "XXXXXXXXXXX",
        "TemporaryFolder" : "../../tmp"
    }
}

Je ne sais pas encore à quoi ça correspond, mais on m’a dit de le faire, sinon, j’avais l’erreur :

ERREUR 403
Missing Configs db.applications.key == prodParamsexists 

Ce qui m’a permis de faire fonctionner mon instance locale.

đź“„ docker.md by @communecter

Installation de Communecter via Docker

Retour au TODO de Fluidlog

Installation de Communecter via docker

choose community edition CE https://docs.docker.com/engine/installation example install docker ubuntu https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu

Erreur avec AptGet… OK docker-ce n’était pas dispo de base, il a fallu ajouter des serveurs En fait, j’ai du suivre le post: https://gist.github.com/Stoakes/a5adb36e9211964dbf00b47d36edd181

Post-installation steps for Linux https://docs.docker.com/engine/installation/linux/linux-postinstall

Installer docker-compose

https://docs.docker.com/compose/install

Installer Communecter

git clone https://gitlab.adullact.net/pixelhumain/docker ~/pixelhumain-docker
cd ~/pixelhumain-docker
#pour linux
docker-compose -f docker-compose.yml -f docker-compose.install.yml run ph cotools --install
#ou pour windows/mac utiliser
docker-compose -f docker-compose-no-build.yml -f docker-compose.install-no-build.yml run ph cotools --install

Mise Ă  jour des droits

Modifier les droits pour pouvoir modifier les fichiers : Pour taper ces commandes, se mettre dans le rep : cd ~/pixelhumain-docker

#modifier le group/user pour pouvoir ouvrir/modifier les fichiers
sudo chown -R ${USER:=$(/usr/bin/id -run)}:$USER code/
sudo chown -R ${USER:=$(/usr/bin/id -run)}:$USER code/pixelhumain/
sudo chown -R ${USER:=$(/usr/bin/id -run)}:$USER code/modules/
sudo chown -R ${USER:=$(/usr/bin/id -run)}:$USER code/log/

Voir aussi “Getting start” : https://docs.docker.com/compose/gettingstarted/#step-3-define-services-in-a-compose-file

Problème d’accès

Suite à cela, je n’avais pas accès à CO. Nous avons vérifié si un container tournait (voir paragraphe plus bas) -> non Nous avons supprimé le répertoire code pour tout recommencer.

docker-compose -f docker-compose.yml -f docker-compose.install.yml run ph install

Explication la il va rebuilder le container front et utiliser le container install pour faire l’install sur le front c’est pour ça que l’on a 2 fichier :

  • docker-compose.yml
  • docker-compose.install.yml

docker-compose.install.yml ne sert que pour l’install et certaine commande Suite à ces commandes, il clone tout ce qu’il faut en local, ça prend un certain temps en fonction de votre réseau… Aller sur http://localhost:5080 La première fois, j’ai eu des messages d’erreur d’accès… Thomas m’a demandé si j’avais le répertoire : /pixelhumain-docker/code/pixelhumain/ph/vendor/ mais je ne l’avais pas…

Nous avons de nouveau supprimé le répertoire code, et modifié le script

/pixelhumain-docker/docker-install/Dockerfile

pour y ajouter curl et php

Voir la présence et lancer un container

Pour savoir si docker tourne, faire "docker ps" S’il n’y a rien (à part le titre des colonnes du tableau), c’est signe qu’aucun container ne tourne.

Exemple : ici, il n’y a pas de container qui tourne :

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

LĂ , il y en a :

CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                                                                           NAMES
92ed85af6a28        pixelhumaindocker_front   "/usr/bin/supervisord"   4 weeks ago         Up About a minute   9000/tcp, 0.0.0.0:5080->80/tcp, 0.0.0.0:5443->443/tcp, 0.0.0.0:5901->9001/tcp   pixelhumaindocker_front_1
8f16ade3a72b        mongo                     "docker-entrypoint..."   4 weeks ago         Up About a minute   27017/tcp                                                                       pixelhumaindocker_mongo_1

Et pour lancer un container : docker-compose -f docker-compose.yml up

Inscription en local

Une fois sur l’interface d’accueil de CO, il faut remplir le formulaire d’inscription, sauf que le mail d’activation n’est pas envoyé. Pour passer cette étape, on “triche” avec la commande : docker-compose -f docker-compose.yml -f docker-compose.install.yml run ph cotools --emailvalid=email@example.com

(en modifiant bien sur : email@example.com par l’email qui a servi à l’inscription) On rafraîchit la page, on se loge, et ça fonctionne, on arrive dans CO !

Gérer le démarrage auto

https://docs.docker.com/engine/installation/linux/linux-postinstall/#configure-docker-to-start-on-boot

sudo systemctl enable docker
Synchronizing state of docker.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install enable docker

Malgré cela, CO ne démarre pas au lancement de ma machine.

Accès à Communecter

Je n’ai pas encore réussi (pas essayé non plus…) à le lancer au démarrage, donc à chaque fois que je souhaite lancer CO :

  • Je vais dans mon rĂ©pertoire ~/projets/pixelhumain-docker/
  • Je lance docker-compose -f docker-compose.yml up
  • Je vais sur http://localhost:5080, et ça tourne !

Tout est noté à la fin du script ci-dessus… (je dis ça, car j’ai cherché un peu car je n’avais pas lu…)

Ajout de Fluidgraph dans CO

Administration de la base NoSQL (mongoDB)

Pour avoir accès à mongo en dehors du container il faut ouvrir le port Voir fichier : https://github.com/pixelhumain/docker/blob/master/docker-compose.yml

J’ai du ajouter la ligne concernant l’ouverture de port comme l’exemple qui suit :

services:
  mongo:
    image: mongo
    volumes:
      - ./code/data/db:/data/db
    ports:
      - "5017:27017"

Cela m’a permis, via l’outil Robomongo d’ajouter une collection :

{
    "_id" : ObjectId("59f1920bc30f30536124355d"),
    "name" : "DEV Config",
    "key" : "devParams",
    "mangoPay" : {
        "ClientId" : "communecter",
        "ClientPassword" : "XXXXXXXXXXX",
        "TemporaryFolder" : "../../tmp"
    }
}

Je ne sais pas encore à quoi ça correspond, mais on m’a dit de le faire, sinon, j’avais l’erreur :

ERREUR 403
Missing Configs db.applications.key == prodParamsexists 

Ce qui m’a permis de faire fonctionner mon instance locale.

đź“„ Docker.md by @agora@botsin.space
đź“„ docker.md by @agora@botsin.space
đź“„ docker.md by @an_agora@twitter.com
đź“„ docker.md by @anagora@matrix.org
đź“„ docker.md by @flancian@social.coop

Loading pushes...

Rendering context...

đź“• Node [[please contain yourself]] pulled by user