diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..e69de29
diff --git a/.gitignore b/.gitignore
index cfa64b8..dd5a7bc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,3 +20,6 @@
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
+
+# Minecraft data
+/minecraft_data
diff --git a/README.md b/README.md
index 88e0ac6..897670e 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
+
## Table des matières
@@ -6,6 +7,8 @@
- [À propos](#à-propos)
- [Installation](#installation)
- [Dépendances requises](#dépendances-requises)
+ - [Installation classique](#installation-classique)
+ - [Installation avec docker (Alternative)](#installation-avec-docker-alternative)
- [Commandes](#commandes)
- [Crédits](#crédits)
- [Aide](#aide)
@@ -25,6 +28,10 @@ Le mode Loup-Garou est un mode inspiré du jeu de société [Les Loups-Garous de
## Installation
+### Dépendances requises
+- [ProtocolLib](https://www.spigotmc.org/resources/protocollib.1997/)
+
+### Installation classique
**Minecraft 1.15.1 est requis.**
Pour installer le plug-in, merci de suivre les étapes suivantes:
- Téléchargez Spigot 1.15.1 et lancez une fois le serveur
@@ -37,9 +44,33 @@ Pour installer le plug-in, merci de suivre les étapes suivantes:
- ⚠️ N'oubliez pas de mettre votre pseudo. Exemple : `/lg start leomelki`
Lien des releases : [Cliquez ici](https://github.com/leomelki/LoupGarou/releases)
-### Dépendances requises
-- [ProtocolLib](https://www.spigotmc.org/resources/protocollib.1997/)
+
+### Installation avec docker (Alternative)
+
+Vous devez avoir installé `docker` et `docker-compose` sur votre machine
+
+#### Installation du serveur
+```sh
+docker-compose up -d --build
+```
+
+#### Démarage du serveur
+
+Vous devez exécuter la commande suivante à chaque redémarage de votre machine avant de pouvoir continuer
+
+```sh
+docker-compose up -d
+```
+
+Ainsi, vous pouvez lancer le serveur en utilisant la commande suivante :
+
+```sh
+docker-compose exec loup-garou java -jar spigot.jar
+```
+
+Les fichiers relatifs à minecraft se situeront dans le dossier `minecraft_data`
+> **Tip :** Il faut accepter les conditions d'utilisations de Mojang en modifiant le fichier `minecraft_data/eula.txt`
## Commandes
@@ -107,4 +138,4 @@ Merci de garder cela en tête lors du développement de nouveaux rôles : utilis
### Publier un rôle
-Si vous arrivez à créer un rôle, je vous invite à faire une demande de publication dans cette repo afin de les faire partager à l'ensemble de la communauté !
\ No newline at end of file
+Si vous arrivez à créer un rôle, je vous invite à faire une demande de publication dans cette repo afin de les faire partager à l'ensemble de la communauté !
diff --git a/docker-compose.yaml b/docker-compose.yaml
new file mode 100644
index 0000000..ed5ddf6
--- /dev/null
+++ b/docker-compose.yaml
@@ -0,0 +1,13 @@
+version: "3.0"
+
+services:
+ loup-garou:
+ build:
+ context: .
+ dockerfile: ./docker/Dockerfile
+ args:
+ SPIGOT_VERSION: 1.15.1
+ volumes:
+ - ./minecraft_data:/minecraft
+ ports:
+ - 25565:25565
diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644
index 0000000..8db889a
--- /dev/null
+++ b/docker/Dockerfile
@@ -0,0 +1,30 @@
+ARG SPIGOT_VERSION=1.15.1
+
+# Build Loup-Garou project
+FROM maven:3.3-jdk-8 as LOUP_GAROU_BUILDER
+WORKDIR /app
+COPY . .
+RUN mvn clean install
+RUN mvn package
+
+# Build Spigot project
+FROM openjdk:8 AS SPIGOT_BUILDER
+ARG SPIGOT_VERSION
+WORKDIR /spigot
+RUN apt-get update
+ADD https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar buildtools.jar
+RUN git config --global --unset core.autocrlf || true
+RUN java -jar buildtools.jar --rev ${SPIGOT_VERSION}
+
+# Final server image
+FROM openjdk:8
+ARG SPIGOT_VERSION
+WORKDIR /_minecraft
+COPY --from=LOUP_GAROU_BUILDER /app/target/LoupGarou.jar ./plugins/
+ADD https://github.com/dmulloy2/ProtocolLib/releases/download/4.5.0/ProtocolLib.jar ./plugins
+COPY --from=SPIGOT_BUILDER /spigot/spigot-${SPIGOT_VERSION}.jar ./spigot.jar
+
+VOLUME /minecraft
+WORKDIR /minecraft
+EXPOSE 25565
+CMD cp -rn /_minecraft/* . && tail -f /dev/null
diff --git a/pom.xml b/pom.xml
index 9948414..18ed378 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,6 +8,7 @@
UTF-8
+ LoupGarou
src
@@ -87,4 +88,4 @@
provided
-
\ No newline at end of file
+