Ajout d'un readme et d'un docker-compose #2
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.data
|
14
README.md
Normal file
@ -0,0 +1,14 @@
|
||||
# Halo-Battle
|
||||
|
||||
## Développer
|
||||
HB peut petre lancé localement via un docker. Pour cela, vous devez avoir installé Docker et docker-compose.
|
||||
une fois installé, lancez un `docker-compouse up` à la racine du repo. Une fois que tout à boot, vous devez
|
||||
injecter le code SQL avec `docker exec -i game_mariadb_1 mysql --user=hb --password=hb hb_game < schema.sql`
|
||||
|
||||
HB est alors disponible sur http://localhost:8080.
|
||||
|
||||
À la création du compte, aucun email n'est envoyé. Pour récupérer votre code de confirmation, vous devez
|
||||
vous connecter au serveur MySQL via `docker exec -it game_mariadb_1 mysql --user=hb --password=hb hb_game`
|
||||
et récupérer votre jeton d'activation via `select id_activ from user_inscriptions WHERE pseudo LIKE 'VOTRE_PSEUDO_A_REMPLACER';`
|
||||
une fois l'ID récupérer, rendez-vous à l'adresse http://localhost:8080/?p=validation&i=VOTRE_ID (pensez
|
||||
bien à modifier l'id dans l'URL).
|
53
docker-compose.yml
Normal file
@ -0,0 +1,53 @@
|
||||
version: '3.2'
|
||||
|
||||
networks:
|
||||
halonet:
|
||||
driver: bridge
|
||||
|
||||
services:
|
||||
mariadb:
|
||||
restart: always
|
||||
image: mariadb:10-focal
|
||||
|
||||
networks:
|
||||
- halonet
|
||||
volumes:
|
||||
- .data:/var/lib/mysql
|
||||
nemunaire marked this conversation as resolved
nemunaire
commented
Ça nous intéresse pas de récupérer les datas de MySQL dans un dossier. Tu vois une utilité ?
serait suffisant pour moi Ça nous intéresse pas de récupérer les datas de MySQL dans un dossier. Tu vois une utilité ?
```yaml
- /var/lib/mysql
```
serait suffisant pour moi
Nigel
commented
J'utilise beaucoup docker et suis donc habitué à régulièrement faire sur ma machine De plus, ça permet de facilement tester les changements de versions de mariadb, sans avoir besoin de faire un Bref, c'est pas idéale, mais je me dit que c'est pas génant ? Surtout que je l'ajoute dans le J'utilise beaucoup docker et suis donc habitué à régulièrement faire sur ma machine `docker rm $(docker -a -q)` suivi d'un `docker rmi $(docker images)` histoire de pas cramer mon disque. Ce `.data/` me protège de ce genre de manœuvre.
De plus, ça permet de facilement tester les changements de versions de mariadb, sans avoir besoin de faire un `mysql_dump`.
Bref, c'est pas idéale, mais je me dit que c'est pas génant ? Surtout que je l'ajoute dans le `.gitignore` et le `.dockerignore`. Your call :)
nemunaire
commented
Ça me va. Ça me va.
|
||||
environment:
|
||||
- MYSQL_USER=hb
|
||||
- MYSQL_PASSWORD=hb
|
||||
- MYSQL_ROOT_PASSWORD=hb
|
||||
- MYSQL_DATABASE=hb_game
|
||||
|
||||
hb:
|
||||
image: hb
|
||||
container_name: hb
|
||||
depends_on:
|
||||
- mariadb
|
||||
networks:
|
||||
- halonet
|
||||
volumes:
|
||||
- ./htdocs:/usr/src/hb-main/htdocs:rw
|
||||
- ./onyx2:/usr/src/hb-main/onyx2:rw
|
||||
# make cache and compile writable + don't add file to local host
|
||||
- /usr/src/hb-main/onyx2/cache
|
||||
- /usr/src/hb-main/onyx2/log
|
||||
- /usr/src/hb-main/onyx2/modules/templates/compile
|
||||
environment:
|
||||
- MYSQL_DATABASE=hb_game
|
||||
- MYSQL_HOST=mariadb
|
||||
- MYSQL_USER=hb
|
||||
- MYSQL_PASSWORD=hb
|
||||
- DISABLE_TLS=true
|
||||
- DEV=true
|
||||
|
||||
nginx:
|
||||
image: nginx:1-alpine
|
||||
nemunaire
commented
Cela permettra d'éviter d'avoir à changer le docker-compose à chaque nouvelle version de nginx, ```yaml
image: nginx:1-alpine
```
Cela permettra d'éviter d'avoir à changer le docker-compose à chaque nouvelle version de nginx, `1-alpine` devrait toujours marcher, connaissant `nginx`.
|
||||
depends_on:
|
||||
- hb
|
||||
networks:
|
||||
- halonet
|
||||
volumes:
|
||||
- ./nginx.conf:/etc/nginx/conf.d/default.conf
|
||||
- ./htdocs:/usr/src/hb-main/htdocs:ro
|
||||
ports:
|
||||
- "8080:80"
|
21
nginx.conf
Normal file
@ -0,0 +1,21 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name localhost;
|
||||
root /usr/src/hb-main/htdocs;
|
||||
|
||||
location / {
|
||||
index index.php;
|
||||
nemunaire
commented
Plutôt :
Il n'y a pas besoin des Plutôt :
```conf
index index.php;
try_files $uri $uri/ /index.php;
```
Il n'y a pas besoin des `$query_string` pour nous.
|
||||
try_files $uri $uri/ /index.php;
|
||||
}
|
||||
|
||||
location ~* \.php$ {
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
Nigel marked this conversation as resolved
nemunaire
commented
Il faudrait ajouter :
Il faudrait ajouter :
```conf
fastcgi_param HTTP_HOST $server_name;
fastcgi_param REMOTE_ADDR $remote_addr;
```
|
||||
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
|
||||
fastcgi_param HTTP_HOST $server_name;
|
||||
fastcgi_param REMOTE_ADDR $remote_addr;
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_index index.php;
|
||||
fastcgi_pass hb:9000;
|
||||
}
|
||||
}
|
idem image nginx, on a pas envie de gérer les versions spécifiques :