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
- frp ; https://dev.to/mattkenefick/replacing-ngrok-with-frp-2oa8)
- cloudflare tunnel.
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