Closed zlorgoncho1 closed 1 month ago
Hello @honorableCon Je te propose de regarder saleor dashboard 🙏
D'accord @dofbi je l'avais déjà forké même 🚀
Hello @dofbi, finalement l'approche du virtualenv m'a beaucoup aidé. Nous avons ce script qui nous permet de déployer le core.
#!/bin/bash
sudo apt-get update
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt install -y python3.9 python3.9-venv python3.9-dev
sudo apt-get install -y libcairo2 libgdk-pixbuf2.0-0 liblcms2-2 libopenjp2-7 libpango-1.0-0 libpangocairo-1.0-0 libssl3 libwebp7 libxml2 libpq5 shared-mime-info mime-support
sudo apt-get install -y libpq-dev build-essential
pip install psycopg2-binary
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3.9 get-pip.py
python3.9 -m venv env
source env/bin/activate
pip install poetry==1.7.0
poetry config virtualenvs.create false
git clone https://github.com/DSsenegal/saleor.git
cd saleor/
poetry install --no-root
echo 'image/webp webp' | sudo tee -a /etc/mime.types
echo 'image/avif avif' | sudo tee -a /etc/mime.types
mkdir media
mkdir static
SECRET_KEY=saleor STATIC_URL=0.0.0.0:8000/static/ python3 manage.py collectstatic --no-input
SECRET_KEY=saleor STATIC_URL=0.0.0.0:8000/static/ python3 manage.py runserver
Je vais maintenant essayer de déployer la base de donnée sur le même server, (défaut de ressources).
Hello @dofbi , j'ai installé le postgres, voici les différents steps:
# Installation de postgres
sudo apt update
sudo apt install -y wget gnupg2
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt update
sudo apt install -y postgresql-15
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo -i -u postgres
sudo -i -u postgres
psql
CREATE USER saleor WITH PASSWORD 'saleor';
ALTER USER saleor WITH SUPERUSER;
CREATE DATABASE saleor;
\q
exit
Hello @dofbi, maintenant il faut juste effectuer les migrations et puis lancer le server:
SECRET_KEY=saleor STATIC_URL=0.0.0.0:8000/static/ python3 manage.py makemigrations
SECRET_KEY=saleor STATIC_URL=0.0.0.0:8000/static/ python3 manage.py migrate
SECRET_KEY=saleor STATIC_URL=0.0.0.0:8000/static/ python3 manage.py runserver
L'api est up
Good job @zlorgoncho1 Une adresse url ?
Je configure les permissions côté AWS.
Hello @dofbi, voici le lien: http://ec2-3-68-84-60.eu-central-1.compute.amazonaws.com/graphql/
Hello @zlorgoncho1
Hello @dofbi , l'install du postgres est bon depuis la mise en place du core. L'installation du dashboard, pas encore, le server crash a chaque build. Je builds sur ma machine local pour le copier sur le server.
Hello @dofbi , Je viens de déployer le Dashboard. Il est disponible a l'Endpoint suivant: http://ec2-3-68-84-60.eu-central-1.compute.amazonaws.com/
Le core est a l'Endpoint suivant: http://ec2-3-68-84-60.eu-central-1.compute.amazonaws.com:8000/graphql/
Ils sont indépendants de la session, autrement disponible même quand je me déconnecte du ssh.
Hello @zlorgoncho1 Pour le Dashboard, pas besoin de l'avoir dans la même machine, nous pouvons l'avoir sur un vercel, netlify ou autre.
Pour la machine core, la migration passe ?
Hello @dofbi, Pour la machine core la migration passe. Voici les taches a faire:
Hello @dofbi ,
Lorsque j'essaie de build sur vercel, il faudra y'a une erreur comme quoi y'a pas assez de mémoire.
Try avec netlify @zlorgoncho1
@dofbi , avec Netlify, on a aussi un soucis :
Hello @zlorgoncho1 Je te propose de faire le build sur github avec les actions puis d'envoyer les fichier statics
Voici une action qui automatise cela
Hello @dofbi , Pour la base de donnée, c'est crée sur AWS. Je le plug au projet.
Hello @dofbi , je rencontre ce soucis avec la connexion de la base de donnée sur aws, quand j'essaie la migration:
Hello @zlorgoncho1 merci de patager ta configuration sur une branche
Hello @dofbi , Voici les actions qui ont ete effectue:
Hello @zlorgoncho1 Good job
Voici l'adresse du dashboard-1: https://dscale-saleor-dashboard.netlify.app/ Voici l'adresse du dashboard-2: https://dscale-saleor-dashboard-2.netlify.app/
L'adresse du core n'a pas change: http://ec2-3-68-84-60.eu-central-1.compute.amazonaws.com:8000/graphql/
C'est juste que par soucis de ressource, le server crash. Je précise que la base de donnée est retirée, mais aussi les Dashboards.
Pour le login, on a toujours pas pu créer un utilisateur a cause du server qui crash a chaque 2 requêtes.
@zlorgoncho1
J'ai etendu les specs de la machine pour pouvoir faire les configuration correctement. On est alors passe de 1 vcpu, 1 Go Ram a 4vcpu, 8Go Ram, ca tourne normalement.
Voici le nouveau Host: http://ec2-3-70-156-20.eu-central-1.compute.amazonaws.com:8000/graphql/
2 schemas ont ete cree:
shop1 et shop2, je vous envoie lese informations de la base de donnee sur discord.
Hello @dofbi , @honorableCon , @mass-gueye ,
Nous avons déployé un troisième dashboard. Les deux premiers dashboards ne fonctionnaient pas à cause du HTTPS. Les sites en HTTPS ne peuvent pas faire de requêtes vers des sites en HTTP (les requêtes sont bloquées au niveau du client). Deux options s'offraient à nous :
Déployer les frontends sur un provider qui supporte le HTTP, ce qui n'est pas le cas de Netlify. Rendre les backends disponibles en HTTPS, ce qui n'est pas possible pour le moment, car notre DNS est fourni par AWS, et nous n'avons pas accès aux enregistrements pour générer notre propre certificat avec Let's Encrypt. Finalement, j'ai redéployé le frontend sur notre serveur AWS en HTTP, levant ainsi la première limitation. Il restait un autre problème lié au CORS. Nous avons donc ajouté un package CORS pour gérer ces limitations.
À cette heure, nous avons un troisième dashboard disponible à l'adresse suivante : Dashboard
L'utilisateur admin par défaut est :
email: admin@example.com
password: admin
Vous trouverez la branche deploy-static
, qui correspond a la branche déployée avec les configs.
Création des repositories:
Déploiement: