Skip to content

VEAF/website

Repository files navigation

VEAF Website

Travailler sur le projet

Prérequis:

  • docker
  • docker-compose
  • git
  • make
  • un reverse proxy
git clone https://github.com/VEAF/website.git
# or ssh version
# git clone [email protected]:VEAF/website.git

cd website
make upgrade  

et charger les fixtures:

make fixtures  

Accès par défaut:

Pour mettre à jour le projet en production

cd website
./scripts/upgrade.sh

Technologies utilisées

Configurer le projet

Recaptcha Google

RECAPTCHA3_KEY=abcdefghijk
RECAPTCHA3_SECRET=6Ld9V1EaAAAAANvbtLUPODEB5aHT-8jb6BJ-vlvsabcdefghijk
RECAPTCHA3_ENABLED=1

Google Agent (analytics)

GOOGLE_AGENT=UA-abcdefghijk-1

Slmod Api Endpoint

API_SLMOD_URL=http://hostname:8080

Teamspeak Api (WIP)

API_TEAMSPEAK_URL=serverquery://ts.veaf.org:10011/?server_port=9987

Website mode

# veaf ou 51eg
WEBSITE=veaf

Cdn - static assets

#CDN_URL=https://cdn.localhost/website

Git flow

voir release

Tâches planifiées

Planification

Exemple de planification, fichier /etc/cron.d/website:

*/20 * * * * debian /usr/local/bin/website-import-slmod-stats 2>&1 | ts >> /var/log/website/cron.log
*    * * * * debian /usr/local/bin/website-minly 2>&1 | ts >> /var/log/website/cron.log

Import des stats SLMOD

Exemple import des stats SLMOD, fichier /usr/local/bin/website-import-slmod-stats:

#!/bin/env bash

echo "Import Slmod Stats"

pushd /home/debian/docker/website > /dev/null

/usr/local/bin/docker-compose exec -T -u www-data php ./bin/console app:slmod:import public 2>&1 | ts >> var/log/slmod-public.log
/usr/local/bin/docker-compose exec -T -u www-data php ./bin/console app:slmod:import private 2>&1 | ts >> var/log/slmod-private.log

popd > /dev/null

Scan du serveur Team Speak

#!/bin/env bash

echo "Scan Team Speak"

pushd /home/debian/docker/website > /dev/null

/usr/local/bin/docker-compose exec -T -u www-data php ./bin/console app:team-speak:scan 2>&1 | ts >> var/log/team-speak.log

popd > /dev/null

Gestion des tâches automatisées du calendrier

#!/bin/env bash

echo "Calendar"

pushd /home/debian/docker/website > /dev/null

/usr/local/bin/docker-compose exec -T -u www-data php ./bin/console app:calendar:event:auto 2>&1 | ts >> var/log/calendar.log

popd > /dev/null

Rotation des logs

Exemple de rotation des logs, fichier /etc/logrotate.d/website:

/var/log/website/*.log {
  rotate 12
  monthly
  compress
  missingok
}

/home/debian/docker/website/var/log/*.log {
  rotate 12
  monthly
  compress
  missingok
}