Projet

Général

Profil

radio.tetaneutral.net

Source

Urls

Installation en prod

/!\ Ne jamais utiliser pip sur la machine, cela casserai d'autre site qui utilise python sur la machine /!\

Le site ce trouve sur www.tetaneutral.net

Le virtualenv qui contient les libs python pour ces applis est dans /var/www/radio.tetaneutral.net/venv

  • /var/www/radio.tetaneutral.net/update-req-and-db.sh permets de mettre à jour les libs et la BD.
  • /var/www/radio.tetaneutral.net/wififorme contient wifi-with-me
  • /var/www/radio.tetaneutral.net/wififordjango contient wifi-with-django

Mise à jour

Faire un checkout de la revision désiré de chaque projets (ici on prends le master de chaque repo)

cd /var/www/radio.tetaneutral.net/wififorme
git pull --rebase origin master

cd /var/www/radio.tetaneutral.net/wififordjango
git pull --rebase origin master

Mise à jour de libs et de la BD et génération des fichiers static:

/var/www/radio.tetaneutral.net/update-req-and-db.sh

Restart des services:

$ supervisorctl restart wififorme
wififorme: stopped
wififorme: started

$ supervisorctl restart wififordjango
wififordjango: stopped
wififordjango: started

logs:

/var/log/supervisor/wififorme/wififorme.err
/var/log/supervisor/wififorme/wififorme.out
/var/log/supervisor/wififordjango/wififordjango.err
/var/log/supervisor/wififordjango/wififordjango.out

Utiliser manage.py sur la prod (A éviter)

Normalement inutile, si il faut l'utiliser c'est qu'il manque surement quelque chose dans update-req-and-db.sh

source /var/www/radio.tetaneutral.net/venv/activate
export DJANGO_SETTINGS_MODULE=wwm.settings_prod
/var/www/radio.tetaneutral.net/wififordjango/manage.py FOOBAR
deactivate  # Ne pas oublier quand on a fini

Apropos de puppet

La plupart de la conf est managé par puppet:

  • conf apache
  • conf uwsgi
  • conf supervisord
  • /var/www/radio.tetaneutral.net/update-req-and-db.sh
  • /var/www/radio.tetaneutral.net/uwsgi.ini
  • /var/www/radio.tetaneutral.net/wififordjango/wwm/settings_prod.py

La base de données est dans /var/www/radio.tetaneutral.net/databases/db.sqlite3 au lieu de la racine de chaque projet car sqlite3 à besoin de pouvoir écrire dans le répertoire courant qui appartient à root chez ttnn...

Évolutions - suggestions

  • geolocalisation ? (pratique si appli sur tel via QR-Code du flyer)