Skip to content

Muppy - Portable Muppy - Executer muppy localement avec Docker [En Option uniquement dans l'édition Enterprise de muppy]

Les clients Muppy Enterprise peuvent (si option souscrite) lancer Muppy localement en utilisant les images Docker.

Toutes les fonctionnalités sont disponibles dans cette version.

Prérequis:

  • Un Token d'accès au Container Registry Muppy
  • Docker
  • Dispo depuis muppy  14.18.0

Attention: non testé sur  Windows.

Setup PostgreSQL

sudo apt update && sudo apt install postgresql -y 

Editer /etc/postgresql/{version}/(cluster}/postgresql.conf  pour ajouter la ligne:

listen_addresses = '*'

Editer /etc/postgresql/{version}/(cluster}/pg_hba.conf pour ajouter la ligne suivante:

host    all             all             172.17.0.1/16           scram-sha-256

Créer le user postgresql et la base de donnée muppy

pg_ctlcluster restart 14 main
sudo su - postgres -c "psql -c \"CREATE ROLE muppy WITH LOGIN PASSWORD 'choose_it_wisely';\" postgres"
sudo su - postgres -c "psql -c \"CREATE DATABASE muppy OWNER muppy;\" postgres"

Initialiser la base de données

sudo docker run \
    --add-host=host.docker.internal:host-gateway \
    --env PGHOST="host.docker.internal" \
    --env PGPASSWORD="choose_it_wisely" \
    --env PGDATABASE="muppy" \
    --env MPY_MAIN_USER_INIT="Cyril MORISSE|cmorisse@boxes3.net|choose_it_more_wisely"
    -it --rm registry.gitlab.com/cmorisse/appserver-mpy/mpy13c:latest --init=muppy_allinone_installer --without-demo=all --stop-after-init

Lancer muppy

sudo docker run -p 8069:8069/tcp -p 8072:8072/tcp \
    --add-host=host.docker.internal:host-gateway \
    --env PGHOST="host.docker.internal" \
    --env PGPASSWORD="chooseit" \
    --env PGDATABASE="muppy" \
    --env IKB_PROXY_MODE="True" \
    -it --rm registry.gitlab.com/cmorisse/appserver-mpy/mpy13c:latest --workers=2

Muppy est alors disponible via le port 8069. Mais on ne peut pas y accéder depuis internet.

Rendre muppy accessible depuis Internet

Le plus simple est d'utiliser un tunnel comme:

ngrok

./ngrok http 8069
./ngrok http 8069 --domain positively-decent-oriole.ngrok-free.app

Ouvrez l'URL ngrok et connectez vous avec l'email et le mot de passe défini via la ENV VAR MPY_MAIN_USER_INIT  définie à l'étape d'initialisation.

Debug mode

Lancer un shell dans le container muppy:

docker run -it --rm \
    --entrypoint=/bin/bash \
    --add-host=host.docker.internal:host-gateway \
    registry.gitlab.com/cmorisse/appserver-mpy/mpy13c:latest 

Debug commands

sudo apt update && sudo apt install -y iputils-ping