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 \
|
||||
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 \
|
||||
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
|
||||
Serveur : [127.0.0.1] Port : [1664]
|
||||
Utilisateur : [tth] Boisson : [guinness] Logout : [Bye bye...]
|
||||
Pr<EFBFBD>fixe : [/]
|
||||
Préfixe : [/]
|
||||
-+- Connexion acceptee. -+-
|
||||
|
||||
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
|
||||
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 "drinks.h"
|
||||
|
||||
pthread_mutex_t mutex_broadcast;
|
||||
|
||||
extern Elt *clients_list;
|
||||
extern FILE *outerr;
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
#include "commands.h"
|
||||
#include "config.h"
|
||||
|
||||
pthread_mutex_t mutex_clients;
|
||||
|
||||
/* Config specifique serveur */
|
||||
char *adr_ip = NULL;
|
||||
int port = 0;
|
||||
|
||||
@@ -30,8 +30,8 @@ typedef struct userinfos {
|
||||
} userinfos;
|
||||
|
||||
|
||||
pthread_mutex_t mutex_broadcast;
|
||||
pthread_mutex_t mutex_clients;
|
||||
extern pthread_mutex_t mutex_broadcast;
|
||||
extern pthread_mutex_t mutex_clients;
|
||||
|
||||
|
||||
#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