To start your Phoenix server:
- Copy development environment file with
cp .env.dev.example .env.dev - Install dependencies with
mix deps.get - Create and migrate your database with
mix ecto.setup - Generate an HTTPS cert with
mix phx.gen.cert - Install Node.js dependencies with
cd assets && npm install - Seed users with
mix run priv/repo/seeds.exs - Start Phoenix endpoint with
mix phx.server
Now you can visit localhost:4000 from your browser.
Ready to run in production? Please check our deployment guides.
Located in the config folder. dev.exs is the default.
Pour préparer votre environnement à exécuter les tests: cp .env.test.example .env.test
Pour exécuter tous les tests sauf les tests temps réel: mix test
Pour exécuter uniquement les tests temps réel: mix test --only RT
Pour exécuter tous les tests: mix test --include RT
To add seeded players, add this before starting the server in entrypoint.sh:
echo "Seeding database before starting..."
DIEP_SECRET_KEY_BASE=$(cat secret_key.txt) bin/diep_io eval "DiepIORelease.seed"
On va devoir générer un certificat en utilisant Let's Encrypt. On va ensuite devoir mettre le certificate bundle (le certificat + le CA chain) à /etc/jdisgames2020/cert/cert.pem et la clé privée à /etc/jdisgames2020/cert/key.pem.
Il va falloir configurer le host avec la variable d'environnement DIEP_HOST.
- Builder une image docker:
docker build . -t ghcr.io/jdis/jdisgames-2020 - Se connecter à Github Container Registry si ce n'est pas déjà fait
- Pousser l'image sur Github Container Registry:
docker push ghcr.io/jdis/jdisgames-2020 - Se connecter sur le serveur
- Se connecter à Github Container Registry si ce n'est pas déjà fait
- Télécharger l'image:
docker pull ghcr.io/jdis/jdisgames-2020 - Naviguer dans le dossier du serveur:
cd /jdisgames-2020/server - Arrêter le serveur:
docker compose stop - Supprimer le container du serveur:
docker rm server-server-1 - Repartir le serveur:
docker compose up
docker login ghcr.io- username: courriel de son compte github
- password: un personal access token avec la permission "write:packages"