Compare commits
8 Commits
8a9dff3514
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b89f86b71 | ||
| 65b4622447 | |||
| fb0ea65c80 | |||
|
|
c313b58375 | ||
|
|
002154f58f | ||
| 6159b7d07e | |||
|
|
58c7549e65 | ||
|
|
25ccec2fd3 |
20
Dockerfile
Normal file
20
Dockerfile
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
FROM debian:12 AS guinnessd-base
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get upgrade -y && \
|
||||||
|
apt-get install -y make gcc && \
|
||||||
|
useradd -m -d /home/guinness -s /bin/false -r guinness
|
||||||
|
|
||||||
|
FROM guinnessd-base
|
||||||
|
COPY . /home/guinness/src
|
||||||
|
WORKDIR /home/guinness
|
||||||
|
RUN make -C /home/guinness/src && \
|
||||||
|
mv /home/guinness/src/guinnessd /usr/local/bin && \
|
||||||
|
mv /home/guinness/src/picoles /usr/local/share && \
|
||||||
|
chmod +x /usr/local/bin/guinnessd && \
|
||||||
|
rm -Rf /home/guinness/src && \
|
||||||
|
apt-get remove -y make gcc && \
|
||||||
|
apt-get autoremove -y
|
||||||
|
USER guinness
|
||||||
|
CMD ["/usr/local/bin/guinnessd", "-p", "1664", "-d", "/usr/local/share/picoles"]
|
||||||
|
|
||||||
|
|
||||||
2
Makefile
2
Makefile
@@ -11,7 +11,7 @@ all: guinness guinnessd
|
|||||||
H_DEP = broadcast.h commands.h defines.h guinnessd.h printlog.h \
|
H_DEP = broadcast.h commands.h defines.h guinnessd.h printlog.h \
|
||||||
xmem.h clients.h config.h drinks.h lists.h tools.h
|
xmem.h clients.h config.h drinks.h lists.h tools.h
|
||||||
|
|
||||||
COPT = -Wall -g
|
COPT = -fPIE -Wno-error -g
|
||||||
|
|
||||||
D_OBJS = xmem.o broadcast.o printlog.o lists.o tools.o drinks.o \
|
D_OBJS = xmem.o broadcast.o printlog.o lists.o tools.o drinks.o \
|
||||||
commands.o clients.o
|
commands.o clients.o
|
||||||
|
|||||||
4
Makefile.docker
Normal file
4
Makefile.docker
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
.PHONY: build
|
||||||
|
|
||||||
|
build:
|
||||||
|
docker build -t guinnessd:latest .
|
||||||
43
README.md
43
README.md
@@ -63,7 +63,7 @@ boire le ventre vide, je vais manger une Guinness avant. »
|
|||||||
tth@lubitel:~/Devel/GuinnessServer$ ./guinness -u tth
|
tth@lubitel:~/Devel/GuinnessServer$ ./guinness -u tth
|
||||||
Serveur : [127.0.0.1] Port : [1664]
|
Serveur : [127.0.0.1] Port : [1664]
|
||||||
Utilisateur : [tth] Boisson : [guinness] Logout : [Bye bye...]
|
Utilisateur : [tth] Boisson : [guinness] Logout : [Bye bye...]
|
||||||
Pr<EFBFBD>fixe : [/]
|
Préfixe : [/]
|
||||||
-+- Connexion acceptee. -+-
|
-+- Connexion acceptee. -+-
|
||||||
|
|
||||||
Bienvenue sur le serveur de Guinness.
|
Bienvenue sur le serveur de Guinness.
|
||||||
@@ -104,6 +104,47 @@ de la réserve de picole.
|
|||||||
* modifier la gestion des fichiers de picole afin d'avoir une description
|
* modifier la gestion des fichiers de picole afin d'avoir une description
|
||||||
succinte dans le listing du bar.
|
succinte dans le listing du bar.
|
||||||
|
|
||||||
|
## Conteneur
|
||||||
|
|
||||||
|
Le serveur BaaS (Beverage as a Service) est dorénavant disponible sous forme de conteneur.
|
||||||
|
|
||||||
|
### Génération de l'image
|
||||||
|
|
||||||
|
Création de l'image `guinnessd:latest`
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make -f Makefile.docker build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Utilisation du conteneur
|
||||||
|
|
||||||
|
- Le service écoute sur le port `1664`.
|
||||||
|
- Le bar se situe dans `/usr/local/share/picoles` et est déjà approvionné. il est donc possible d'en faire un *volume Docker*.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run --rm -p 1664:1664 guinnessd:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
### *Docker Swarm*
|
||||||
|
|
||||||
|
Ma préférence allant à l'utilisation de *Docker* via les *Docker Swarm*, vous touverez ci-dessous un fichier de *stack*
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
version: 3.9
|
||||||
|
service:
|
||||||
|
guinnessd:
|
||||||
|
image: guinnessd:latest
|
||||||
|
logging:
|
||||||
|
driver: journald
|
||||||
|
options:
|
||||||
|
tag: "docker: guinnessd"
|
||||||
|
ports:
|
||||||
|
- target: 1664
|
||||||
|
published: 1664
|
||||||
|
mode: host
|
||||||
|
deploy:
|
||||||
|
endpoint_mode: dnsrr
|
||||||
|
mode: replicated
|
||||||
|
replicas: 1 # Multipliez les barmen en ajoutant des réplicas :-)
|
||||||
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
#include "broadcast.h"
|
#include "broadcast.h"
|
||||||
#include "drinks.h"
|
#include "drinks.h"
|
||||||
|
|
||||||
|
pthread_mutex_t mutex_broadcast;
|
||||||
|
|
||||||
extern Elt *clients_list;
|
extern Elt *clients_list;
|
||||||
extern FILE *outerr;
|
extern FILE *outerr;
|
||||||
|
|||||||
@@ -32,6 +32,8 @@
|
|||||||
#include "commands.h"
|
#include "commands.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
pthread_mutex_t mutex_clients;
|
||||||
|
|
||||||
/* Config specifique serveur */
|
/* Config specifique serveur */
|
||||||
char *adr_ip = NULL;
|
char *adr_ip = NULL;
|
||||||
int port = 0;
|
int port = 0;
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ typedef struct userinfos {
|
|||||||
} userinfos;
|
} userinfos;
|
||||||
|
|
||||||
|
|
||||||
pthread_mutex_t mutex_broadcast;
|
extern pthread_mutex_t mutex_broadcast;
|
||||||
pthread_mutex_t mutex_clients;
|
extern pthread_mutex_t mutex_clients;
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
22
picoles/steinlager
Normal file
22
picoles/steinlager
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
.sssssssss.
|
||||||
|
.sssssssssssssssssss
|
||||||
|
sssssssssssssssssssssssss
|
||||||
|
ssssssssssssssssssssssssssss
|
||||||
|
@@sssssssssssssssssssssss@ss
|
||||||
|
|s@@@@sssssssssssssss@@@@s|s
|
||||||
|
_______|sssss@@@@@sssss@@@@@sssss|s
|
||||||
|
/ sssssssss@sssss@sssssssss|s
|
||||||
|
/ .------+.ssssssss@sssss@ssssssss.|
|
||||||
|
/ / |...sssssss@sss@sssssss...|
|
||||||
|
| | |.......sss@sss@ssss......|
|
||||||
|
| | |..........s@ss@sss.......|
|
||||||
|
| | |...........@ss@..........|
|
||||||
|
\ \ |............ss@..........|
|
||||||
|
\ '------+...........ss@...........|
|
||||||
|
\________ .........................|
|
||||||
|
|.........................|
|
||||||
|
/...........................\
|
||||||
|
|.............................|
|
||||||
|
|.......................|
|
||||||
|
|...............|
|
||||||
|
|
||||||
Reference in New Issue
Block a user