From 57a97a0cf99352342e810ff8cec8ac2abc43bece Mon Sep 17 00:00:00 2001 From: mathieuHa Date: Wed, 28 Sep 2022 22:16:03 +0200 Subject: [PATCH] Update readme and solve traefiker error (#6) * Update readme, add about sectioj * Update readme about * Change parameter with capitalized letters * Add docker-compose local and docker-compose for real world utilization * Update readme and .traefik Co-authored-by: MathieuHa --- .traefik.yml | 2 +- README.md | 7 +++++ docker-compose-local.yml | 56 ++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 6 ++--- 4 files changed, 66 insertions(+), 5 deletions(-) create mode 100644 docker-compose-local.yml diff --git a/.traefik.yml b/.traefik.yml index 8f5f209..527bb1b 100644 --- a/.traefik.yml +++ b/.traefik.yml @@ -10,5 +10,5 @@ testData: crowdsec: bouncer: enabled: true - CrowdsecLapiKey: 40796d93c2958f9e58345514e67740e5 + crowdsecLapiKey: 40796d93c2958f9e58345514e67740e5 diff --git a/README.md b/README.md index 46d025f..e332f04 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,13 @@ The source code of the plugin should be organized as follows: ├── readme.md └── vendor/* ``` + +For local developpement a docker-compose-local.yml is provided and reproduce the directory layout needed by traefik. + +```bash +docker-compose -f docker-compose-local.yml up -d +``` + ### About [maxlerebourg](https://github.com/maxlerebourg) and [I](https://github.com/mhanotaux) have been using traefik since 2020. diff --git a/docker-compose-local.yml b/docker-compose-local.yml new file mode 100644 index 0000000..a5c2a9f --- /dev/null +++ b/docker-compose-local.yml @@ -0,0 +1,56 @@ +version: "3.8" + +services: + traefik: + image: "traefik:v2.8.7" + container_name: "traefik" + command: + # - "--log.level=DEBUG" + - "--accesslog" + - "--accesslog.filepath=/var/log/traefik/traefik.log" + - "--api.insecure=true" + - "--providers.docker=true" + - "--providers.docker.exposedbydefault=false" + - "--entrypoints.web.address=:80" + - "--experimental.localplugins.bouncer.modulename=github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin" + volumes: + - "/var/run/docker.sock:/var/run/docker.sock:ro" + - "logs:/var/log/traefik" + - ./:/plugins-local/src/github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin + ports: + - 8000:80 + - 8080:8080 + + whoami: + image: traefik/whoami + container_name: "simple-service" + labels: + - "traefik.enable=true" + - "traefik.http.routers.whoami.rule=Host(`localhost`)" + - "traefik.http.routers.whoami.entrypoints=web" + - "traefik.http.routers.whoami.middlewares=crowdsec@docker" + - "traefik.http.middlewares.crowdsec.plugin.bouncer.enabled=true" + - "traefik.http.middlewares.crowdsec.plugin.bouncer.crowdseclapikey=40796d93c2958f9e58345514e67740e5" + + crowdsec: + image: crowdsecurity/crowdsec:v1.4.1 + container_name: "crowdsec" + command: rm -rf /etc/crowdsec/acquis.yaml + environment: + COLLECTIONS: crowdsecurity/traefik + CUSTOM_HOSTNAME: crowdsec + BOUNCER_KEY_TRAEFIK: 40796d93c2958f9e58345514e67740e5 + depends_on: + - 'traefik' + volumes: + - ./acquis.yaml:/etc/crowdsec/acquis.yaml:ro + - logs:/var/log/traefik:ro + - crowdsec-db:/var/lib/crowdsec/data/ + - crowdsec-config:/etc/crowdsec/ + ports: + - "8083:8080" + +volumes: + logs: + crowdsec-db: + crowdsec-config: \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 434758d..39aa3d5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.8" services: traefik: - image: "traefik:v2.8.5" + image: "traefik:v2.8.7" container_name: "traefik" command: # - "--log.level=DEBUG" @@ -12,12 +12,10 @@ services: - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" - - "--experimental.localplugins.bouncer.modulename=github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" - "logs:/var/log/traefik" - - ./:/plugins-local/src/github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin ports: - 8000:80 - 8080:8080 @@ -45,7 +43,7 @@ services: - 'traefik' volumes: - ./acquis.yaml:/etc/crowdsec/acquis.yaml:ro - - logs:/var/log/traefik + - logs:/var/log/traefik:ro - crowdsec-db:/var/lib/crowdsec/data/ - crowdsec-config:/etc/crowdsec/ ports: