Compare commits
354 Commits
c42781dae9
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| ce873768eb | |||
| 4e75045d7a | |||
| f71d3a8591 | |||
| d715132330 | |||
| fb1b676387 | |||
| 2edf56aec6 | |||
| bdf95ce1dc | |||
| 2d99d1bf74 | |||
| 76935f5e8f | |||
| 607621c628 | |||
| ea7ddf56ab | |||
| 2bcd6618fd | |||
| 6053cd6f0e | |||
| 35680d0efa | |||
| 2d0efae973 | |||
| 23aba74a0b | |||
| 89942d938e | |||
| ab512f7289 | |||
| ed780b104b | |||
| 805b2a2cfc | |||
| 4ac426c3d1 | |||
| d7afc77f09 | |||
| d34c3fd3ec | |||
| 4f2bfcc994 | |||
| 04b1b03861 | |||
| 183ea5efb8 | |||
| 8583073183 | |||
| 9278b1d8af | |||
| 619219cc13 | |||
| a7de7fd7fb | |||
| 1e02473236 | |||
| a941685194 | |||
| b939e39968 | |||
| fd1eaa6260 | |||
| 1f4f4f3c71 | |||
| da46b6dac2 | |||
| 0fc00d264e | |||
| c77dfcfc73 | |||
| 389c3b5e3b | |||
| 1f924d0afb | |||
| 519deb9525 | |||
| 8c1ba5d2a5 | |||
| c27a78f780 | |||
| 89f333086b | |||
| 9a67c1685e | |||
| aa34b1d870 | |||
| 2e519ce327 | |||
| e6cd8af3d3 | |||
| d5d9e9f0ae | |||
| a6bd0fd257 | |||
| 9ddf617bf2 | |||
| 4ea9731e2d | |||
| b37122f014 | |||
| 4a8c03b0fc | |||
| 0e5549bf39 | |||
| 12cfe49a9e | |||
| 722a02719e | |||
| 5763b79822 | |||
| 6990c486a1 | |||
| 319153ab12 | |||
| c5e86f28f3 | |||
| f68d533836 | |||
| 816f382af8 | |||
| 2e101ae33d | |||
| 9e313ed688 | |||
| 24f37bea23 | |||
| f94fd6b3c7 | |||
| 8066daf04a | |||
| c80aaf7f3d | |||
| 2b801e19f0 | |||
| e1b1623067 | |||
| d63c33f6ff | |||
| d6296d223a | |||
| 2de233b820 | |||
| d03486e4be | |||
| d4ca09458a | |||
| 29e6693ecb | |||
| 53221ad7ab | |||
| 5ad87d4b83 | |||
| e91a6c727c | |||
| bdcb800be8 | |||
| fe71b7948e | |||
| b945e2681c | |||
| c158c1d6e2 | |||
| 3ed5625497 | |||
| 6c93334da7 | |||
| 655e93bc5c | |||
| d128b0f9d6 | |||
| bdf269f549 | |||
| db3e40acdb | |||
| c337c1a69c | |||
| 4149149657 | |||
| 3cdb038fca | |||
| db72a16996 | |||
| 0600bc9104 | |||
| 0734dfd738 | |||
| afdcae0454 | |||
| 9c18c501a7 | |||
| bae96ef51b | |||
| 6f5b48218f | |||
| ef908274e1 | |||
| 2a98052174 | |||
| e2e34a2cad | |||
| 7c915572a2 | |||
| 776095a748 | |||
| e6f64bb5f4 | |||
| 6e6e8c6c83 | |||
| 11da749bdf | |||
| 5ed2ce7d31 | |||
| a9d0789669 | |||
| e57427406f | |||
| 3b3814ced2 | |||
| 4d08350679 | |||
| 2ce74fdd0f | |||
| ad61446677 | |||
| e6352d037a | |||
| e23ba10c4d | |||
| 6e7000c5d4 | |||
| aca119405d | |||
| 4fffe1d0c9 | |||
| 37f0437e3c | |||
| 92a4a7b687 | |||
| 3789acb9da | |||
| 0aac421189 | |||
| ca21ba4d71 | |||
| 03cda25987 | |||
| 73dee257f7 | |||
| de1f4cc699 | |||
| c45465d03a | |||
| 72e6f9950d | |||
| 674e2e39f8 | |||
| a7b8a884a2 | |||
| a7ac2a69a9 | |||
| 4ba0b2c97c | |||
| 8df1e29af7 | |||
| 5e38b5fb8a | |||
| 4422873653 | |||
| 58d3d9e377 | |||
| 222cc61bab | |||
| 77022e06f8 | |||
| ca95717c3f | |||
| eeda54108e | |||
| eb1163de62 | |||
| e473de0d7d | |||
| a4677e4085 | |||
| c001a26491 | |||
| d4d6b52f66 | |||
| 3b36f8141c | |||
| 07adef2ff9 | |||
| cc362af13c | |||
| 0ba4ff5661 | |||
| dc5048a4f2 | |||
| 43e75c9859 | |||
| 5de6a1ed6a | |||
| 8e57750174 | |||
| 4f8eab9205 | |||
| 3c0bed057e | |||
| 0ddbab8830 | |||
| ed2842c3f7 | |||
| ff201909b8 | |||
| 0fc1ce1768 | |||
| c0df5223fc | |||
| c13e215766 | |||
| ab35f313f4 | |||
| 9721232c73 | |||
| f7f0750b8a | |||
| 1461154e61 | |||
| 1623c3141d | |||
| 09c3186308 | |||
| 22c6c1cac8 | |||
| e95b2e283a | |||
| 02130e2197 | |||
| 41441fee4a | |||
| 9c9fb44c16 | |||
| 61e0bf8294 | |||
| 9be1c4e623 | |||
| 56af192b48 | |||
| fa79ed2408 | |||
| 5ae70e9726 | |||
| f4e4d707db | |||
| 3166688e06 | |||
| a7c2fd975c | |||
| 87405e13d2 | |||
| 62f6e6ecbb | |||
| 9adb450cc0 | |||
| 19e65f39b1 | |||
| 866de49012 | |||
| 4378ee0257 | |||
| 00db98f30c | |||
| 1ac4b68cb5 | |||
| edeef5603e | |||
| 12c190e763 | |||
| f55913e157 | |||
| fb69cb1d3c | |||
| 65de8bd266 | |||
| 11b9f24294 | |||
| f62706b538 | |||
| 62956927b3 | |||
| 8406fbc426 | |||
| 9d3a51d71e | |||
| dfadc5b3c7 | |||
| b96caafd73 | |||
| 963ea6d708 | |||
| 3dc23ddfda | |||
| 08d2f2a248 | |||
|
|
c97a3fbf6e | ||
|
|
bebe98acf0 | ||
| 96cd336cf3 | |||
| fb4482ca74 | |||
| 10fddb1b45 | |||
| 95556e9fe3 | |||
| fd1ee3a425 | |||
| 002c4a6675 | |||
| c043c619f8 | |||
| 8d672078a6 | |||
| bab936c416 | |||
| 07542f6996 | |||
| a761b1be7d | |||
| 4cb3e586c9 | |||
| 8cf6437915 | |||
| 1438e6ffcb | |||
| 6c611da502 | |||
| a78d87b022 | |||
| 74fbbee6f5 | |||
| 08b0ecdff9 | |||
| 1144c67c18 | |||
| 8ff30371a8 | |||
| 1983a2a404 | |||
| 299590c51b | |||
| ff6c500b17 | |||
| 3f0da24e5b | |||
| 8917348d89 | |||
| 90323df8d5 | |||
| f14e9fc83d | |||
| 5c41cf6081 | |||
| 074a03cbc3 | |||
| 53a13ceabf | |||
| 2dd0d781be | |||
| 569dfd65e5 | |||
| 380ae51468 | |||
| a92bcec26d | |||
| 0a90229a50 | |||
| 5c3febec49 | |||
| 655327ebb4 | |||
| dce325d54d | |||
| 4595b47f0f | |||
| 783e6968eb | |||
| 75aa869eb6 | |||
| cd0e1e9be9 | |||
| ea107a42ba | |||
| 0c283b4811 | |||
| 5bc3cfec49 | |||
| 9fd799813a | |||
| 2deec7ea78 | |||
| 6870a11ad8 | |||
| 7b3c0435a8 | |||
| 3060b04cef | |||
| 704a394d34 | |||
| 5434d2ecfa | |||
| 3ad48ebc9a | |||
| 8987467918 | |||
| 7c743cf303 | |||
| 8fea2f881e | |||
| 97a26f38d9 | |||
| 0a40763f60 | |||
| 61d16825ce | |||
| 902cd7cdfd | |||
| 99d0d6ede0 | |||
| d17053c228 | |||
| 0602759fee | |||
| 0d98a873f7 | |||
| 8443041ae2 | |||
| 5654b467e0 | |||
| 6528628d12 | |||
| adcb064a64 | |||
| dbe95204d6 | |||
| 8cacd53f07 | |||
| e08fa2d867 | |||
| d9e423096a | |||
| fb335bb1df | |||
| 28b5db524f | |||
| a6c422bf19 | |||
| 883c6cb7fd | |||
| 7ac7fd22aa | |||
| eba2f43e43 | |||
| 7842920f9c | |||
| af5aca31aa | |||
| ccb199fba2 | |||
| e8d916891c | |||
| a697be3a15 | |||
| 26c4f367c7 | |||
| 7ca1c8f647 | |||
| 9e038a1a3c | |||
| 9963fdf36a | |||
| 23cb2a93c1 | |||
| 1719bfb267 | |||
| 26f5dc7f74 | |||
| e4310ed66f | |||
| 32ce41f394 | |||
| 8aea3a0518 | |||
| de7a0126bc | |||
| fdb33b1b08 | |||
| f3c3fe6f93 | |||
| 6f404ef327 | |||
| e6e8d9edf3 | |||
| 18b52ef358 | |||
| 2ee7dab707 | |||
| f4a59a95da | |||
| 93eade90ac | |||
| 09d2bbc9f8 | |||
| c8ccaee431 | |||
| e0d3cf10ae | |||
| 9b32fa312a | |||
| 6d5e9aadea | |||
| 858d1b5249 | |||
| a2b41dd930 | |||
| 6ab423d17c | |||
| 01ee0aef33 | |||
| 0d9eff0bf4 | |||
| 79d68d97c7 | |||
| 2ef3573892 | |||
| 25c1278f0b | |||
| e2cfbe07e1 | |||
| 431d4c61bc | |||
| 5b3a295e98 | |||
| 6a381a5a34 | |||
| 9b0d1b987a | |||
| 2069549df2 | |||
| 351475718e | |||
| 767e34a4b7 | |||
| 671b045ce0 | |||
| c2022b06f2 | |||
| 9bf3ee29ed | |||
| 85a5c4e6f7 | |||
| 947528b81f | |||
| bd98e55fb4 | |||
| 9c9d55c382 | |||
| 6b62fad6c6 | |||
| cd667e9e13 | |||
| 15e255d72a | |||
| e7e951532f | |||
| c3970bcf67 | |||
| 3b6feb8f16 | |||
| 74ea06246f | |||
| a8efdb8fce | |||
| ef1802edbb | |||
| 57561f722b | |||
| 81b0da4d1e | |||
| d05f486225 | |||
| a3f9d07df3 | |||
| f1e8284b72 | |||
| 3f530e6b72 | |||
| 6ff4c5da49 | |||
| 06953a27e1 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -15,3 +15,4 @@ certs/
|
|||||||
init/
|
init/
|
||||||
meili_data/
|
meili_data/
|
||||||
log-dashboard/
|
log-dashboard/
|
||||||
|
mousehole/
|
||||||
|
|||||||
5
Crescentec-network.excalidraw.svg
Normal file
5
Crescentec-network.excalidraw.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 18 MiB |
@@ -0,0 +1,3 @@
|
|||||||
|
## Home network:
|
||||||
|
|
||||||
|

|
||||||
@@ -17,7 +17,6 @@ include:
|
|||||||
|
|
||||||
- path:
|
- path:
|
||||||
- ${INFRA_PATH}/authelia/authelia.yml
|
- ${INFRA_PATH}/authelia/authelia.yml
|
||||||
- ${INFRA_PATH}/crowdsec/crowdsec.yml
|
|
||||||
- ${INFRA_PATH}/homepage/homepage.yml
|
- ${INFRA_PATH}/homepage/homepage.yml
|
||||||
- ${INFRA_PATH}/ntfy/ntfy.yml
|
- ${INFRA_PATH}/ntfy/ntfy.yml
|
||||||
- ${INFRA_PATH}/speedtest/speedtest.yml
|
- ${INFRA_PATH}/speedtest/speedtest.yml
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: adminer:5.4.1
|
image: adminer:5.4.2
|
||||||
container_name: adminer
|
container_name: adminer
|
||||||
ports:
|
ports:
|
||||||
- 8085:8080
|
- 8085:8080
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: databasus/databasus:v2.22.1
|
image: databasus/databasus:v3.20.0
|
||||||
container_name: databasus
|
container_name: databasus
|
||||||
ports:
|
ports:
|
||||||
- 8086:4005
|
- 8086:4005
|
||||||
|
|||||||
@@ -42,5 +42,3 @@ services:
|
|||||||
- "traefik.http.routers.lldap.service=lldap-service"
|
- "traefik.http.routers.lldap.service=lldap-service"
|
||||||
- "traefik.http.services.lldap-service.loadbalancer.server.port=17170"
|
- "traefik.http.services.lldap-service.loadbalancer.server.port=17170"
|
||||||
- "traefik.http.services.lldap-service.loadbalancer.server.scheme=http"
|
- "traefik.http.services.lldap-service.loadbalancer.server.scheme=http"
|
||||||
# middlewares
|
|
||||||
- "traefik.http.routers.lldap.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: mariadb:12.1.2
|
image: mariadb:12.2.2
|
||||||
container_name: mariadb
|
container_name: mariadb
|
||||||
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ services:
|
|||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
container_name: pgadmin
|
container_name: pgadmin
|
||||||
image: dpage/pgadmin4:9.11.0
|
image: dpage/pgadmin4:9.13.0
|
||||||
ports:
|
ports:
|
||||||
- 8082:80
|
- 8082:80
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ services:
|
|||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
container_name: redis
|
container_name: redis
|
||||||
image: redis:8.4.0
|
image: redis:8.6.1
|
||||||
networks:
|
networks:
|
||||||
- ip4net
|
- ip4net
|
||||||
- ip6net
|
- ip6net
|
||||||
|
|||||||
@@ -40,5 +40,3 @@ services:
|
|||||||
- "traefik.http.routers.authelia.tls=true"
|
- "traefik.http.routers.authelia.tls=true"
|
||||||
- "traefik.http.routers.authelia.service=authelia-svc"
|
- "traefik.http.routers.authelia.service=authelia-svc"
|
||||||
- "traefik.http.services.authelia-svc.loadbalancer.server.port=9091"
|
- "traefik.http.services.authelia-svc.loadbalancer.server.port=9091"
|
||||||
# Middleware
|
|
||||||
- "traefik.http.routers.authelia.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ services:
|
|||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
container_name: crowdsec
|
container_name: crowdsec
|
||||||
image: crowdsecurity/crowdsec:v1.7.4
|
image: crowdsecurity/crowdsec:v1.7.6
|
||||||
environment:
|
environment:
|
||||||
COLLECTIONS: crowdsecurity/traefik crowdsecurity/appsec-virtual-patching crowdsecurity/appsec-generic-rules crowdsecurity/http-cve
|
COLLECTIONS: crowdsecurity/traefik crowdsecurity/appsec-virtual-patching crowdsecurity/appsec-generic-rules crowdsecurity/http-cve
|
||||||
CROWDSEC_BOUNCER_API_KEY: ${CROWDSEC_API_KEY}
|
CROWDSEC_BOUNCER_API_KEY: ${CROWDSEC_API_KEY}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: ghcr.io/gethomepage/homepage:v1.8.0
|
image: ghcr.io/gethomepage/homepage:v1.10.1
|
||||||
container_name: homepage
|
container_name: homepage
|
||||||
ports:
|
ports:
|
||||||
- 3030:3000
|
- 3030:3000
|
||||||
@@ -12,6 +12,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
HOMEPAGE_VAR_LOCAL_DOMAIN: ${LOCAL_DOMAIN}
|
HOMEPAGE_VAR_LOCAL_DOMAIN: ${LOCAL_DOMAIN}
|
||||||
HOMEPAGE_VAR_PUBLIC_DOMAIN: ${PUBLIC_DOMAIN}
|
HOMEPAGE_VAR_PUBLIC_DOMAIN: ${PUBLIC_DOMAIN}
|
||||||
|
HOMEPAGE_VAR_LOCAL_VPS_DOMAIN: ${VPS_DOMAIN}
|
||||||
HOMEPAGE_ALLOWED_HOSTS: homepage.${LOCAL_DOMAIN}, 192.168.178.35:3030
|
HOMEPAGE_ALLOWED_HOSTS: homepage.${LOCAL_DOMAIN}, 192.168.178.35:3030
|
||||||
volumes:
|
volumes:
|
||||||
- ${INFRA_PATH}/homepage/config:/app/config
|
- ${INFRA_PATH}/homepage/config:/app/config
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ services:
|
|||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
container_name: ntfy
|
container_name: ntfy
|
||||||
image: binwiederhier/ntfy:v2.15.0
|
image: binwiederhier/ntfy:v2.18.0
|
||||||
ports:
|
ports:
|
||||||
- "4023:80"
|
- "4023:80"
|
||||||
networks:
|
networks:
|
||||||
@@ -21,5 +21,3 @@ services:
|
|||||||
- "traefik.http.routers.ntfy.rule=Host(`ntfy.${PUBLIC_DOMAIN}`)"
|
- "traefik.http.routers.ntfy.rule=Host(`ntfy.${PUBLIC_DOMAIN}`)"
|
||||||
- "traefik.http.routers.ntfy.entrypoints=https"
|
- "traefik.http.routers.ntfy.entrypoints=https"
|
||||||
- "traefik.http.routers.ntfy.tls=true"
|
- "traefik.http.routers.ntfy.tls=true"
|
||||||
# Middlewares
|
|
||||||
- "traefik.http.routers.ntfy.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: syncthing/syncthing:2.0.13
|
image: syncthing/syncthing:2.0.15
|
||||||
container_name: syncthing
|
container_name: syncthing
|
||||||
volumes:
|
volumes:
|
||||||
- ${EXTERNAL_STORAGE}/notes/Obsidian-sync:/var/syncthing-data/Obsidian-sync
|
- ${EXTERNAL_STORAGE}/notes/Obsidian-sync:/var/syncthing-data/Obsidian-sync
|
||||||
@@ -25,5 +25,3 @@ services:
|
|||||||
- "traefik.http.routers.syncthing.tls=true"
|
- "traefik.http.routers.syncthing.tls=true"
|
||||||
- "traefik.http.routers.syncthing.service=syncthing-svc"
|
- "traefik.http.routers.syncthing.service=syncthing-svc"
|
||||||
- "traefik.http.services.syncthing-svc.loadbalancer.server.port=8384"
|
- "traefik.http.services.syncthing-svc.loadbalancer.server.port=8384"
|
||||||
# Middlewares
|
|
||||||
#- "traefik.http.routers.syncthing.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|||||||
@@ -1,329 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<title>CrowdSec Access Forbidden</title>
|
|
||||||
<meta content="text/html; charset=utf-8" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<style>
|
|
||||||
/*! tailwindcss v3.2.7 | MIT License | https://tailwindcss.com*/
|
|
||||||
*,
|
|
||||||
:after,
|
|
||||||
:before {
|
|
||||||
border: 0 solid #e5e7eb;
|
|
||||||
box-sizing: border-box
|
|
||||||
}
|
|
||||||
|
|
||||||
:after,
|
|
||||||
:before {
|
|
||||||
--tw-content: ""
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
-webkit-text-size-adjust: 100%;
|
|
||||||
font-feature-settings: normal;
|
|
||||||
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
|
|
||||||
line-height: 1.5;
|
|
||||||
-moz-tab-size: 4;
|
|
||||||
-o-tab-size: 4;
|
|
||||||
tab-size: 4
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
line-height: inherit;
|
|
||||||
margin: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
h1,
|
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
h4,
|
|
||||||
h5,
|
|
||||||
h6 {
|
|
||||||
font-size: inherit;
|
|
||||||
font-weight: inherit
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: inherit;
|
|
||||||
text-decoration: inherit
|
|
||||||
}
|
|
||||||
|
|
||||||
h1,
|
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
h4,
|
|
||||||
h5,
|
|
||||||
h6,
|
|
||||||
hr,
|
|
||||||
p,
|
|
||||||
pre {
|
|
||||||
margin: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
*,
|
|
||||||
::backdrop,
|
|
||||||
:after,
|
|
||||||
:before {
|
|
||||||
--tw-border-spacing-x: 0;
|
|
||||||
--tw-border-spacing-y: 0;
|
|
||||||
--tw-translate-x: 0;
|
|
||||||
--tw-translate-y: 0;
|
|
||||||
--tw-rotate: 0;
|
|
||||||
--tw-skew-x: 0;
|
|
||||||
--tw-skew-y: 0;
|
|
||||||
--tw-scale-x: 1;
|
|
||||||
--tw-scale-y: 1;
|
|
||||||
--tw-pan-x: ;
|
|
||||||
--tw-pan-y: ;
|
|
||||||
--tw-pinch-zoom: ;
|
|
||||||
--tw-scroll-snap-strictness: proximity;
|
|
||||||
--tw-ordinal: ;
|
|
||||||
--tw-slashed-zero: ;
|
|
||||||
--tw-numeric-figure: ;
|
|
||||||
--tw-numeric-spacing: ;
|
|
||||||
--tw-numeric-fraction: ;
|
|
||||||
--tw-ring-inset: ;
|
|
||||||
--tw-ring-offset-width: 0px;
|
|
||||||
--tw-ring-offset-color: #fff;
|
|
||||||
--tw-ring-color: #3b82f680;
|
|
||||||
--tw-ring-offset-shadow: 0 0 #0000;
|
|
||||||
--tw-ring-shadow: 0 0 #0000;
|
|
||||||
--tw-shadow: 0 0 #0000;
|
|
||||||
--tw-shadow-colored: 0 0 #0000;
|
|
||||||
--tw-blur: ;
|
|
||||||
--tw-brightness: ;
|
|
||||||
--tw-contrast: ;
|
|
||||||
--tw-grayscale: ;
|
|
||||||
--tw-hue-rotate: ;
|
|
||||||
--tw-invert: ;
|
|
||||||
--tw-saturate: ;
|
|
||||||
--tw-sepia: ;
|
|
||||||
--tw-drop-shadow: ;
|
|
||||||
--tw-backdrop-blur: ;
|
|
||||||
--tw-backdrop-brightness: ;
|
|
||||||
--tw-backdrop-contrast: ;
|
|
||||||
--tw-backdrop-grayscale: ;
|
|
||||||
--tw-backdrop-hue-rotate: ;
|
|
||||||
--tw-backdrop-invert: ;
|
|
||||||
--tw-backdrop-opacity: ;
|
|
||||||
--tw-backdrop-saturate: ;
|
|
||||||
--tw-backdrop-sepia:
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex {
|
|
||||||
display: flex
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex-wrap {
|
|
||||||
flex-wrap: wrap
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-flex {
|
|
||||||
display: inline-flex
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-24 {
|
|
||||||
height: 6rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-6 {
|
|
||||||
height: 1.5rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-full {
|
|
||||||
height: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-screen {
|
|
||||||
height: 100vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-center {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-24 {
|
|
||||||
width: 6rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-6 {
|
|
||||||
width: 1.5rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-full {
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-screen {
|
|
||||||
width: 100vw
|
|
||||||
}
|
|
||||||
|
|
||||||
.my-3 {
|
|
||||||
margin-top: 0.75rem;
|
|
||||||
margin-bottom: 0.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex-col {
|
|
||||||
flex-direction: column
|
|
||||||
}
|
|
||||||
|
|
||||||
.items-center {
|
|
||||||
align-items: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.justify-center {
|
|
||||||
justify-content: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.justify-between {
|
|
||||||
justify-content: space-between
|
|
||||||
}
|
|
||||||
|
|
||||||
.space-y-1>:not([hidden])~:not([hidden]) {
|
|
||||||
--tw-space-y-reverse: 0;
|
|
||||||
margin-bottom: calc(.25rem*var(--tw-space-y-reverse));
|
|
||||||
margin-top: calc(.25rem*(1 - var(--tw-space-y-reverse)))
|
|
||||||
}
|
|
||||||
|
|
||||||
.space-y-4>:not([hidden])~:not([hidden]) {
|
|
||||||
--tw-space-y-reverse: 0;
|
|
||||||
margin-bottom: calc(1rem*var(--tw-space-y-reverse));
|
|
||||||
margin-top: calc(1rem*(1 - var(--tw-space-y-reverse)))
|
|
||||||
}
|
|
||||||
|
|
||||||
.rounded-xl {
|
|
||||||
border-radius: .75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.border-2 {
|
|
||||||
border-width: 2px
|
|
||||||
}
|
|
||||||
|
|
||||||
.border-black {
|
|
||||||
--tw-border-opacity: 1;
|
|
||||||
border-color: rgb(0 0 0/var(--tw-border-opacity))
|
|
||||||
}
|
|
||||||
|
|
||||||
.p-4 {
|
|
||||||
padding: 1rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.px-4 {
|
|
||||||
padding-left: 1rem;
|
|
||||||
padding-right: 1rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.py-2 {
|
|
||||||
padding-bottom: .5rem;
|
|
||||||
padding-top: .5rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-2xl {
|
|
||||||
font-size: 1.5rem;
|
|
||||||
line-height: 2rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-sm {
|
|
||||||
font-size: .875rem;
|
|
||||||
line-height: 1.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-xl {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
line-height: 1.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-bold {
|
|
||||||
font-weight: 700
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-white {
|
|
||||||
--tw-text-opacity: 1;
|
|
||||||
color: rgb(255 255 255/var(--tw-text-opacity))
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width:640px) {
|
|
||||||
.sm\:w-2\/3 {
|
|
||||||
width: 66.666667%
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width:768px) {
|
|
||||||
.md\:flex-row {
|
|
||||||
flex-direction: row
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width:1024px) {
|
|
||||||
.lg\:w-1\/2 {
|
|
||||||
width: 50%
|
|
||||||
}
|
|
||||||
|
|
||||||
.lg\:text-3xl {
|
|
||||||
font-size: 1.875rem;
|
|
||||||
line-height: 2.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.lg\:text-xl {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
line-height: 1.75rem
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width:1280px) {
|
|
||||||
.xl\:text-4xl {
|
|
||||||
font-size: 2.25rem;
|
|
||||||
line-height: 2.5rem
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="h-screen w-screen p-4">
|
|
||||||
<div class="h-full w-full flex flex-col justify-center items-center">
|
|
||||||
<div class="border-2 border-black rounded-xl p-4 text-center w-full sm:w-2/3 lg:w-1/2">
|
|
||||||
<div class="flex flex-col items-center space-y-4">
|
|
||||||
<svg fill="black" class="h-24 w-24" aria-hidden="true" focusable="false" data-prefix="fas"
|
|
||||||
data-icon="exclamation-triangle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"
|
|
||||||
class="warning">
|
|
||||||
<path
|
|
||||||
d="M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z">
|
|
||||||
</path>
|
|
||||||
</svg>
|
|
||||||
<h1 class="text-2xl lg:text-3xl xl:text-4xl">CrowdSec Access Forbidden</h1>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-center flex-wrap">
|
|
||||||
<p class="my-3">This security check has been powered by</p>
|
|
||||||
<a href="https://crowdsec.net/" target="_blank" rel="noopener" class="inline-flex flex-col items-center">
|
|
||||||
<svg fill="black" width="33.92" height="33.76" viewBox="0 0 254.4 253.2">
|
|
||||||
<defs>
|
|
||||||
<clipPath id="a">
|
|
||||||
<path d="M0 52h84v201.2H0zm0 0" />
|
|
||||||
</clipPath>
|
|
||||||
<clipPath id="b">
|
|
||||||
<path d="M170 52h84.4v201.2H170zm0 0" />
|
|
||||||
</clipPath>
|
|
||||||
</defs>
|
|
||||||
<path
|
|
||||||
d="M59.3 128.4c1.4 2.3 2.5 4.6 3.4 7-1-4.1-2.3-8.1-4.3-12-3.1-6-7.8-5.8-10.7 0-2 4-3.2 8-4.3 12.1 1-2.4 2-4.8 3.4-7.1 3.4-5.8 8.8-6 12.5 0M207.8 128.4a42.9 42.9 0 013.4 7c-1-4.1-2.3-8.1-4.3-12-3.2-6-7.8-5.8-10.7 0-2 4-3.3 8-4.3 12.1.9-2.4 2-4.8 3.4-7.1 3.4-5.8 8.8-6 12.5 0M134.6 92.9c2 3.5 3.6 7 4.8 10.7-1.3-5.4-3-10.6-5.6-15.7-4-7.5-9.7-7.2-13.3 0a75.4 75.4 0 00-5.6 16c1.2-3.8 2.7-7.4 4.7-11 4.1-7.2 10.6-7.5 15 0M43.8 136.8c.9 4.6 3.7 8.3 7.3 9.2 0 2.7 0 5.5.2 8.2.3 3.3.4 6.6 1 9.6.3 2.3 1 2.2 1.3 0 .5-3 .6-6.3 1-9.6l.2-8.2c3.5-1 6.4-4.6 7.2-9.2a17.8 17.8 0 01-9 2.4c-3.5 0-6.6-1-9.2-2.4M192.4 136.8c.8 4.6 3.7 8.3 7.2 9.2 0 2.7 0 5.5.3 8.2.3 3.3.4 6.6 1 9.6.3 2.3.9 2.2 1.2 0 .6-3 .7-6.3 1-9.6.2-2.7.3-5.5.2-8.2 3.6-1 6.4-4.6 7.3-9.2a17.8 17.8 0 01-9.1 2.4c-3.4 0-6.6-1-9.1-2.4M138.3 104.6c-3.1 1.9-7 3-11.3 3-4.3 0-8.2-1.1-11.3-3 1 5.8 4.5 10.3 9 11.5 0 3.4 0 6.8.3 10.2.4 4.1.5 8.2 1.2 12 .4 2.9 1.2 2.7 1.6 0 .7-3.8.8-7.9 1.2-12 .3-3.4.3-6.8.3-10.2 4.5-1.2 8-5.7 9-11.5" />
|
|
||||||
<path
|
|
||||||
d="M51 146c0 2.7.1 5.5.3 8.2.3 3.3.4 6.6 1 9.6.3 2.3 1 2.2 1.3 0 .5-3 .6-6.3 1-9.6l.2-8.2c3.5-1 6.4-4.6 7.2-9.2a17.8 17.8 0 01-9 2.4c-3.5 0-6.6-1-9.2-2.4.9 4.6 3.7 8.3 7.3 9.2M143.9 105c-1.9-.4-3.5-1.2-4.9-2.3 1.4 5.6 2.5 11.3 4 17 1.2 5 2 10 2.4 15 .6 7.8-4.5 14.5-10.9 14.5h-15c-6.4 0-11.5-6.7-11-14.5.5-5 1.3-10 2.6-15 1.3-5.3 2.3-10.5 3.6-15.7-2.2 1.2-4.8 1.9-7.7 2-4.7.1-9.4-.3-14-1-4-.4-6.7-3-8-6.7-1.3-3.4-2-7-3.3-10.4-.5-1.5-1.6-2.8-2.4-4.2-.4-.6-.8-1.2-.9-1.8v-7.8a77 77 0 0124.5-3c6.1 0 12 1 17.8 3.2 4.7 1.7 9.7 1.8 14.4 0 9-3.4 18.2-3.8 27.5-3 4.9.5 9.8 1.6 14.8 2.4v8.2c0 .6-.3 1.5-.7 1.7-2 .9-2.2 2.7-2.7 4.5-.9 3.2-1.8 6.4-2.9 9.5a11 11 0 01-8.8 7.7 40.6 40.6 0 01-18.4-.2m29.4 80.6c-3.2-26.8-6.4-50-8.9-60.7a14.3 14.3 0 0014.1-14h.4a9 9 0 005.6-16.5 14.3 14.3 0 00-3.7-27.2 9 9 0 00-6.9-14.6c2.4-1.1 4.5-3 5.8-5 3.4-5.3 4-29-8-44.4-5-6.3-9.8-2.5-10 1.8-1 13.2-1.1 23-4.5 34.3a9 9 0 00-16-4.1 14.3 14.3 0 00-28.4 0 9 9 0 00-16 4.1c-3.4-11.2-3.5-21.1-4.4-34.3-.3-4.3-5.2-8-10-1.8-12 15.3-11.5 39-8.1 44.4 1.3 2 3.4 3.9 5.8 5a9 9 0 00-7 14.6 14.3 14.3 0 00-3.6 27.2A9 9 0 0075 111h.5a14.5 14.5 0 0014.3 14c-4 17.2-10 66.3-15 111.3l-1.3 13.4a1656.4 1656.4 0 01106.6 0l-1.4-12.7-5.4-51.3" />
|
|
||||||
<g clip-path="url(#a)">
|
|
||||||
<path
|
|
||||||
d="M83.5 136.6l-2.3.7c-5 1-9.8 1-14.8-.2-1.4-.3-2.7-1-3.8-1.9l3.1 13.7c1 4 1.7 8 2 12 .5 6.3-3.6 11.6-8.7 11.6H46.9c-5.1 0-9.2-5.3-8.7-11.6.3-4 1-8 2-12 1-4.2 1.8-8.5 2.9-12.6-1.8 1-3.9 1.5-6.3 1.6a71 71 0 01-11.1-.7 7.7 7.7 0 01-6.5-5.5c-1-2.7-1.6-5.6-2.6-8.3-.4-1.2-1.3-2.3-2-3.4-.2-.4-.6-1-.6-1.4v-6.3c6.4-2 13-2.6 19.6-2.5 4.9.1 9.6 1 14.2 2.6 3.9 1.4 7.9 1.5 11.7 0 1.8-.7 3.6-1.2 5.5-1.6a13 13 0 01-1.6-15.5A18.3 18.3 0 0159 73.1a11.5 11.5 0 00-17.4 8.1 7.2 7.2 0 00-12.9 3.3c-2.7-9-2.8-17-3.6-27.5-.2-3.4-4-6.5-8-1.4C7.5 67.8 7.9 86.9 10.6 91c1.1 1.7 2.8 3.1 4.7 4a7.2 7.2 0 00-5.6 11.7 11.5 11.5 0 00-2.9 21.9 7.2 7.2 0 004.5 13.2h.3c0 .6 0 1.1.2 1.7.9 5.4 5.6 9.5 11.3 9.5A1177.2 1177.2 0 0010 253.2c18.1-1.5 38.1-2.6 59.5-3.4.4-4.6.8-9.3 1.4-14 1.2-11.6 3.3-30.5 5.7-49.7 2.2-18 4.7-36.3 7-49.5" />
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#b)">
|
|
||||||
<path
|
|
||||||
d="M254.4 118.2c0-5.8-4.2-10.5-9.7-11.4a7.2 7.2 0 00-5.6-11.7c2-.9 3.6-2.3 4.7-4 2.7-4.2 3.1-23.3-6.5-35.5-4-5.1-7.8-2-8 1.4-.8 10.5-.9 18.5-3.6 27.5a7.2 7.2 0 00-12.8-3.3 11.5 11.5 0 00-17.8-7.9 18.4 18.4 0 01-4.5 22 13 13 0 01-1.3 15.2c2.4.5 4.8 1 7.1 2 3.8 1.3 7.8 1.4 11.6 0 7.2-2.8 14.6-3 22-2.4 4 .4 7.9 1.2 12 1.9l-.1 6.6c0 .5-.2 1.2-.5 1.3-1.7.7-1.8 2.2-2.2 3.7l-2.3 7.6a8.8 8.8 0 01-7 6.1c-5 1-10 1-14.9-.2-1.5-.3-2.8-1-3.9-1.9 1.2 4.5 2 9.1 3.2 13.7 1 4 1.6 8 2 12 .4 6.3-3.6 11.6-8.8 11.6h-12c-5.2 0-9.3-5.3-8.8-11.6.4-4 1-8 2-12 1-4.2 1.9-8.5 3-12.6-1.8 1-4 1.5-6.3 1.6-3.7 0-7.5-.3-11.2-.7a7.7 7.7 0 01-3.7-1.5c3.1 18.4 7.1 51.2 12.5 100.9l.6 5.3.8 7.9c21.4.7 41.5 1.9 59.7 3.4L243 243l-4.4-41.2a606 606 0 00-7-48.7 11.5 11.5 0 0011.2-11.2h.4a7.2 7.2 0 004.4-13.2c4-1.8 6.8-5.8 6.8-10.5" />
|
|
||||||
</g>
|
|
||||||
<path
|
|
||||||
d="M180 249.6h.4a6946 6946 0 00-7.1-63.9l5.4 51.3 1.4 12.6M164.4 125c2.5 10.7 5.7 33.9 8.9 60.7a570.9 570.9 0 00-8.9-60.7M74.8 236.3l-1.4 13.4 1.4-13.4" />
|
|
||||||
</svg>
|
|
||||||
<span>CrowdSec</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,338 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<title>CrowdSec Captcha</title>
|
|
||||||
<meta content="text/html; charset=utf-8" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<style>
|
|
||||||
/*! tailwindcss v3.2.7 | MIT License | https://tailwindcss.com*/
|
|
||||||
*,
|
|
||||||
:after,
|
|
||||||
:before {
|
|
||||||
border: 0 solid #e5e7eb;
|
|
||||||
box-sizing: border-box
|
|
||||||
}
|
|
||||||
|
|
||||||
:after,
|
|
||||||
:before {
|
|
||||||
--tw-content: ""
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
-webkit-text-size-adjust: 100%;
|
|
||||||
font-feature-settings: normal;
|
|
||||||
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
|
|
||||||
line-height: 1.5;
|
|
||||||
-moz-tab-size: 4;
|
|
||||||
-o-tab-size: 4;
|
|
||||||
tab-size: 4
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
line-height: inherit;
|
|
||||||
margin: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
h1,
|
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
h4,
|
|
||||||
h5,
|
|
||||||
h6 {
|
|
||||||
font-size: inherit;
|
|
||||||
font-weight: inherit
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: inherit;
|
|
||||||
text-decoration: inherit
|
|
||||||
}
|
|
||||||
|
|
||||||
h1,
|
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
h4,
|
|
||||||
h5,
|
|
||||||
h6,
|
|
||||||
hr,
|
|
||||||
p,
|
|
||||||
pre {
|
|
||||||
margin: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
*,
|
|
||||||
::backdrop,
|
|
||||||
:after,
|
|
||||||
:before {
|
|
||||||
--tw-border-spacing-x: 0;
|
|
||||||
--tw-border-spacing-y: 0;
|
|
||||||
--tw-translate-x: 0;
|
|
||||||
--tw-translate-y: 0;
|
|
||||||
--tw-rotate: 0;
|
|
||||||
--tw-skew-x: 0;
|
|
||||||
--tw-skew-y: 0;
|
|
||||||
--tw-scale-x: 1;
|
|
||||||
--tw-scale-y: 1;
|
|
||||||
--tw-pan-x: ;
|
|
||||||
--tw-pan-y: ;
|
|
||||||
--tw-pinch-zoom: ;
|
|
||||||
--tw-scroll-snap-strictness: proximity;
|
|
||||||
--tw-ordinal: ;
|
|
||||||
--tw-slashed-zero: ;
|
|
||||||
--tw-numeric-figure: ;
|
|
||||||
--tw-numeric-spacing: ;
|
|
||||||
--tw-numeric-fraction: ;
|
|
||||||
--tw-ring-inset: ;
|
|
||||||
--tw-ring-offset-width: 0px;
|
|
||||||
--tw-ring-offset-color: #fff;
|
|
||||||
--tw-ring-color: #3b82f680;
|
|
||||||
--tw-ring-offset-shadow: 0 0 #0000;
|
|
||||||
--tw-ring-shadow: 0 0 #0000;
|
|
||||||
--tw-shadow: 0 0 #0000;
|
|
||||||
--tw-shadow-colored: 0 0 #0000;
|
|
||||||
--tw-blur: ;
|
|
||||||
--tw-brightness: ;
|
|
||||||
--tw-contrast: ;
|
|
||||||
--tw-grayscale: ;
|
|
||||||
--tw-hue-rotate: ;
|
|
||||||
--tw-invert: ;
|
|
||||||
--tw-saturate: ;
|
|
||||||
--tw-sepia: ;
|
|
||||||
--tw-drop-shadow: ;
|
|
||||||
--tw-backdrop-blur: ;
|
|
||||||
--tw-backdrop-brightness: ;
|
|
||||||
--tw-backdrop-contrast: ;
|
|
||||||
--tw-backdrop-grayscale: ;
|
|
||||||
--tw-backdrop-hue-rotate: ;
|
|
||||||
--tw-backdrop-invert: ;
|
|
||||||
--tw-backdrop-opacity: ;
|
|
||||||
--tw-backdrop-saturate: ;
|
|
||||||
--tw-backdrop-sepia:
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex {
|
|
||||||
display: flex
|
|
||||||
}
|
|
||||||
.flex-wrap {
|
|
||||||
flex-wrap: wrap
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-flex {
|
|
||||||
display: inline-flex
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-24 {
|
|
||||||
height: 6rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-6 {
|
|
||||||
height: 1.5rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-full {
|
|
||||||
height: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-screen {
|
|
||||||
height: 100vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-center {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-24 {
|
|
||||||
width: 6rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-6 {
|
|
||||||
width: 1.5rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-full {
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-screen {
|
|
||||||
width: 100vw
|
|
||||||
}
|
|
||||||
|
|
||||||
.my-3 {
|
|
||||||
margin-top: 0.75rem;
|
|
||||||
margin-bottom: 0.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex-col {
|
|
||||||
flex-direction: column
|
|
||||||
}
|
|
||||||
|
|
||||||
.items-center {
|
|
||||||
align-items: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.justify-center {
|
|
||||||
justify-content: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.justify-between {
|
|
||||||
justify-content: space-between
|
|
||||||
}
|
|
||||||
|
|
||||||
.space-y-1>:not([hidden])~:not([hidden]) {
|
|
||||||
--tw-space-y-reverse: 0;
|
|
||||||
margin-bottom: calc(.25rem*var(--tw-space-y-reverse));
|
|
||||||
margin-top: calc(.25rem*(1 - var(--tw-space-y-reverse)))
|
|
||||||
}
|
|
||||||
|
|
||||||
.space-y-4>:not([hidden])~:not([hidden]) {
|
|
||||||
--tw-space-y-reverse: 0;
|
|
||||||
margin-bottom: calc(1rem*var(--tw-space-y-reverse));
|
|
||||||
margin-top: calc(1rem*(1 - var(--tw-space-y-reverse)))
|
|
||||||
}
|
|
||||||
|
|
||||||
.rounded-xl {
|
|
||||||
border-radius: .75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.border-2 {
|
|
||||||
border-width: 2px
|
|
||||||
}
|
|
||||||
|
|
||||||
.border-black {
|
|
||||||
--tw-border-opacity: 1;
|
|
||||||
border-color: rgb(0 0 0/var(--tw-border-opacity))
|
|
||||||
}
|
|
||||||
|
|
||||||
.p-4 {
|
|
||||||
padding: 1rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.px-4 {
|
|
||||||
padding-left: 1rem;
|
|
||||||
padding-right: 1rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.py-2 {
|
|
||||||
padding-bottom: .5rem;
|
|
||||||
padding-top: .5rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-2xl {
|
|
||||||
font-size: 1.5rem;
|
|
||||||
line-height: 2rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-sm {
|
|
||||||
font-size: .875rem;
|
|
||||||
line-height: 1.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-xl {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
line-height: 1.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-bold {
|
|
||||||
font-weight: 700
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-white {
|
|
||||||
--tw-text-opacity: 1;
|
|
||||||
color: rgb(255 255 255/var(--tw-text-opacity))
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width:640px) {
|
|
||||||
.sm\:w-2\/3 {
|
|
||||||
width: 66.666667%
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width:768px) {
|
|
||||||
.md\:flex-row {
|
|
||||||
flex-direction: row
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width:1024px) {
|
|
||||||
.lg\:w-1\/2 {
|
|
||||||
width: 50%
|
|
||||||
}
|
|
||||||
|
|
||||||
.lg\:text-3xl {
|
|
||||||
font-size: 1.875rem;
|
|
||||||
line-height: 2.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.lg\:text-xl {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
line-height: 1.75rem
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width:1280px) {
|
|
||||||
.xl\:text-4xl {
|
|
||||||
font-size: 2.25rem;
|
|
||||||
line-height: 2.5rem
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<script src="{{ .FrontendJS }}" async defer></script>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="h-screen w-screen p-4">
|
|
||||||
<div class="h-full w-full flex flex-col justify-center items-center">
|
|
||||||
<div class="border-2 border-black rounded-xl p-4 text-center w-full sm:w-2/3 lg:w-1/2">
|
|
||||||
<div class="flex flex-col items-center space-y-4">
|
|
||||||
<svg fill="black" class="h-24 w-24" aria-hidden="true" focusable="false" data-prefix="fas"
|
|
||||||
data-icon="exclamation-triangle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"
|
|
||||||
class="warning">
|
|
||||||
<path
|
|
||||||
d="M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z">
|
|
||||||
</path>
|
|
||||||
</svg>
|
|
||||||
<h1 class="text-2xl lg:text-3xl xl:text-4xl">CrowdSec Captcha</h1>
|
|
||||||
</div>
|
|
||||||
<form action="" method="POST" class="flex flex-col space-y-1" id="captcha-form">
|
|
||||||
<div id="captcha" class="{{ .FrontendKey }}" data-sitekey="{{ .SiteKey }}" data-callback="captchaCallback">
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<div class="flex justify-center flex-wrap">
|
|
||||||
<p class="my-3">This security check has been powered by</p>
|
|
||||||
<a href="https://crowdsec.net/" target="_blank" rel="noopener" class="inline-flex flex-col items-center">
|
|
||||||
<svg fill="black" width="33.92" height="33.76" viewBox="0 0 254.4 253.2">
|
|
||||||
<defs>
|
|
||||||
<clipPath id="a">
|
|
||||||
<path d="M0 52h84v201.2H0zm0 0" />
|
|
||||||
</clipPath>
|
|
||||||
<clipPath id="b">
|
|
||||||
<path d="M170 52h84.4v201.2H170zm0 0" />
|
|
||||||
</clipPath>
|
|
||||||
</defs>
|
|
||||||
<path
|
|
||||||
d="M59.3 128.4c1.4 2.3 2.5 4.6 3.4 7-1-4.1-2.3-8.1-4.3-12-3.1-6-7.8-5.8-10.7 0-2 4-3.2 8-4.3 12.1 1-2.4 2-4.8 3.4-7.1 3.4-5.8 8.8-6 12.5 0M207.8 128.4a42.9 42.9 0 013.4 7c-1-4.1-2.3-8.1-4.3-12-3.2-6-7.8-5.8-10.7 0-2 4-3.3 8-4.3 12.1.9-2.4 2-4.8 3.4-7.1 3.4-5.8 8.8-6 12.5 0M134.6 92.9c2 3.5 3.6 7 4.8 10.7-1.3-5.4-3-10.6-5.6-15.7-4-7.5-9.7-7.2-13.3 0a75.4 75.4 0 00-5.6 16c1.2-3.8 2.7-7.4 4.7-11 4.1-7.2 10.6-7.5 15 0M43.8 136.8c.9 4.6 3.7 8.3 7.3 9.2 0 2.7 0 5.5.2 8.2.3 3.3.4 6.6 1 9.6.3 2.3 1 2.2 1.3 0 .5-3 .6-6.3 1-9.6l.2-8.2c3.5-1 6.4-4.6 7.2-9.2a17.8 17.8 0 01-9 2.4c-3.5 0-6.6-1-9.2-2.4M192.4 136.8c.8 4.6 3.7 8.3 7.2 9.2 0 2.7 0 5.5.3 8.2.3 3.3.4 6.6 1 9.6.3 2.3.9 2.2 1.2 0 .6-3 .7-6.3 1-9.6.2-2.7.3-5.5.2-8.2 3.6-1 6.4-4.6 7.3-9.2a17.8 17.8 0 01-9.1 2.4c-3.4 0-6.6-1-9.1-2.4M138.3 104.6c-3.1 1.9-7 3-11.3 3-4.3 0-8.2-1.1-11.3-3 1 5.8 4.5 10.3 9 11.5 0 3.4 0 6.8.3 10.2.4 4.1.5 8.2 1.2 12 .4 2.9 1.2 2.7 1.6 0 .7-3.8.8-7.9 1.2-12 .3-3.4.3-6.8.3-10.2 4.5-1.2 8-5.7 9-11.5" />
|
|
||||||
<path
|
|
||||||
d="M51 146c0 2.7.1 5.5.3 8.2.3 3.3.4 6.6 1 9.6.3 2.3 1 2.2 1.3 0 .5-3 .6-6.3 1-9.6l.2-8.2c3.5-1 6.4-4.6 7.2-9.2a17.8 17.8 0 01-9 2.4c-3.5 0-6.6-1-9.2-2.4.9 4.6 3.7 8.3 7.3 9.2M143.9 105c-1.9-.4-3.5-1.2-4.9-2.3 1.4 5.6 2.5 11.3 4 17 1.2 5 2 10 2.4 15 .6 7.8-4.5 14.5-10.9 14.5h-15c-6.4 0-11.5-6.7-11-14.5.5-5 1.3-10 2.6-15 1.3-5.3 2.3-10.5 3.6-15.7-2.2 1.2-4.8 1.9-7.7 2-4.7.1-9.4-.3-14-1-4-.4-6.7-3-8-6.7-1.3-3.4-2-7-3.3-10.4-.5-1.5-1.6-2.8-2.4-4.2-.4-.6-.8-1.2-.9-1.8v-7.8a77 77 0 0124.5-3c6.1 0 12 1 17.8 3.2 4.7 1.7 9.7 1.8 14.4 0 9-3.4 18.2-3.8 27.5-3 4.9.5 9.8 1.6 14.8 2.4v8.2c0 .6-.3 1.5-.7 1.7-2 .9-2.2 2.7-2.7 4.5-.9 3.2-1.8 6.4-2.9 9.5a11 11 0 01-8.8 7.7 40.6 40.6 0 01-18.4-.2m29.4 80.6c-3.2-26.8-6.4-50-8.9-60.7a14.3 14.3 0 0014.1-14h.4a9 9 0 005.6-16.5 14.3 14.3 0 00-3.7-27.2 9 9 0 00-6.9-14.6c2.4-1.1 4.5-3 5.8-5 3.4-5.3 4-29-8-44.4-5-6.3-9.8-2.5-10 1.8-1 13.2-1.1 23-4.5 34.3a9 9 0 00-16-4.1 14.3 14.3 0 00-28.4 0 9 9 0 00-16 4.1c-3.4-11.2-3.5-21.1-4.4-34.3-.3-4.3-5.2-8-10-1.8-12 15.3-11.5 39-8.1 44.4 1.3 2 3.4 3.9 5.8 5a9 9 0 00-7 14.6 14.3 14.3 0 00-3.6 27.2A9 9 0 0075 111h.5a14.5 14.5 0 0014.3 14c-4 17.2-10 66.3-15 111.3l-1.3 13.4a1656.4 1656.4 0 01106.6 0l-1.4-12.7-5.4-51.3" />
|
|
||||||
<g clip-path="url(#a)">
|
|
||||||
<path
|
|
||||||
d="M83.5 136.6l-2.3.7c-5 1-9.8 1-14.8-.2-1.4-.3-2.7-1-3.8-1.9l3.1 13.7c1 4 1.7 8 2 12 .5 6.3-3.6 11.6-8.7 11.6H46.9c-5.1 0-9.2-5.3-8.7-11.6.3-4 1-8 2-12 1-4.2 1.8-8.5 2.9-12.6-1.8 1-3.9 1.5-6.3 1.6a71 71 0 01-11.1-.7 7.7 7.7 0 01-6.5-5.5c-1-2.7-1.6-5.6-2.6-8.3-.4-1.2-1.3-2.3-2-3.4-.2-.4-.6-1-.6-1.4v-6.3c6.4-2 13-2.6 19.6-2.5 4.9.1 9.6 1 14.2 2.6 3.9 1.4 7.9 1.5 11.7 0 1.8-.7 3.6-1.2 5.5-1.6a13 13 0 01-1.6-15.5A18.3 18.3 0 0159 73.1a11.5 11.5 0 00-17.4 8.1 7.2 7.2 0 00-12.9 3.3c-2.7-9-2.8-17-3.6-27.5-.2-3.4-4-6.5-8-1.4C7.5 67.8 7.9 86.9 10.6 91c1.1 1.7 2.8 3.1 4.7 4a7.2 7.2 0 00-5.6 11.7 11.5 11.5 0 00-2.9 21.9 7.2 7.2 0 004.5 13.2h.3c0 .6 0 1.1.2 1.7.9 5.4 5.6 9.5 11.3 9.5A1177.2 1177.2 0 0010 253.2c18.1-1.5 38.1-2.6 59.5-3.4.4-4.6.8-9.3 1.4-14 1.2-11.6 3.3-30.5 5.7-49.7 2.2-18 4.7-36.3 7-49.5" />
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#b)">
|
|
||||||
<path
|
|
||||||
d="M254.4 118.2c0-5.8-4.2-10.5-9.7-11.4a7.2 7.2 0 00-5.6-11.7c2-.9 3.6-2.3 4.7-4 2.7-4.2 3.1-23.3-6.5-35.5-4-5.1-7.8-2-8 1.4-.8 10.5-.9 18.5-3.6 27.5a7.2 7.2 0 00-12.8-3.3 11.5 11.5 0 00-17.8-7.9 18.4 18.4 0 01-4.5 22 13 13 0 01-1.3 15.2c2.4.5 4.8 1 7.1 2 3.8 1.3 7.8 1.4 11.6 0 7.2-2.8 14.6-3 22-2.4 4 .4 7.9 1.2 12 1.9l-.1 6.6c0 .5-.2 1.2-.5 1.3-1.7.7-1.8 2.2-2.2 3.7l-2.3 7.6a8.8 8.8 0 01-7 6.1c-5 1-10 1-14.9-.2-1.5-.3-2.8-1-3.9-1.9 1.2 4.5 2 9.1 3.2 13.7 1 4 1.6 8 2 12 .4 6.3-3.6 11.6-8.8 11.6h-12c-5.2 0-9.3-5.3-8.8-11.6.4-4 1-8 2-12 1-4.2 1.9-8.5 3-12.6-1.8 1-4 1.5-6.3 1.6-3.7 0-7.5-.3-11.2-.7a7.7 7.7 0 01-3.7-1.5c3.1 18.4 7.1 51.2 12.5 100.9l.6 5.3.8 7.9c21.4.7 41.5 1.9 59.7 3.4L243 243l-4.4-41.2a606 606 0 00-7-48.7 11.5 11.5 0 0011.2-11.2h.4a7.2 7.2 0 004.4-13.2c4-1.8 6.8-5.8 6.8-10.5" />
|
|
||||||
</g>
|
|
||||||
<path
|
|
||||||
d="M180 249.6h.4a6946 6946 0 00-7.1-63.9l5.4 51.3 1.4 12.6M164.4 125c2.5 10.7 5.7 33.9 8.9 60.7a570.9 570.9 0 00-8.9-60.7M74.8 236.3l-1.4 13.4 1.4-13.4" />
|
|
||||||
</svg>
|
|
||||||
<span>CrowdSec</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
function captchaCallback() {
|
|
||||||
setTimeout(() => document.querySelector('#captcha-form').submit(), 500);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"/logs/traefik.log": 69278
|
|
||||||
}
|
|
||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: traefik:v3.6.6
|
image: traefik:v3.6.10
|
||||||
container_name: traefik
|
container_name: traefik
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
@@ -15,12 +15,12 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
TRAEFIK_EMAIL: ${EMAIL}
|
TRAEFIK_EMAIL: ${EMAIL}
|
||||||
TRAEFIK_LOCAL_DOMAIN: ${LOCAL_DOMAIN}
|
TRAEFIK_LOCAL_DOMAIN: ${LOCAL_DOMAIN}
|
||||||
|
TRAEFIK_VPS_DOMAIN: ${VPS_DOMAIN}
|
||||||
TRAEFIK_PUBLIC_DOMAIN: ${PUBLIC_DOMAIN}
|
TRAEFIK_PUBLIC_DOMAIN: ${PUBLIC_DOMAIN}
|
||||||
TRAEFIK_AUTH_PUBLIC_DOMAIN: auth.${PUBLIC_DOMAIN}
|
TRAEFIK_AUTH_PUBLIC_DOMAIN: auth.${PUBLIC_DOMAIN}
|
||||||
TRAEFIK_CROWDSEC_API_KEY: ${CROWDSEC_API_KEY}
|
|
||||||
INFOMANIAK_ACCESS_TOKEN: ${INFOMANIAK_CERTIFICATE_ACCESS_TOKEN}
|
INFOMANIAK_ACCESS_TOKEN: ${INFOMANIAK_CERTIFICATE_ACCESS_TOKEN}
|
||||||
volumes:
|
volumes:
|
||||||
- "/var/log/crowdsec/:/var/log/crowdsec/"
|
- "/var/log/traefik/:/var/log/traefik/"
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||||
- "${INFRA_PATH}/traefik/letsencrypt:/letsencrypt"
|
- "${INFRA_PATH}/traefik/letsencrypt:/letsencrypt"
|
||||||
- "${INFRA_PATH}/traefik/config:/etc/traefik"
|
- "${INFRA_PATH}/traefik/config:/etc/traefik"
|
||||||
@@ -35,68 +35,6 @@ services:
|
|||||||
- "traefik.http.routers.traefik.entrypoints=https"
|
- "traefik.http.routers.traefik.entrypoints=https"
|
||||||
- "traefik.http.routers.traefik.tls=true"
|
- "traefik.http.routers.traefik.tls=true"
|
||||||
|
|
||||||
traefik-agent:
|
|
||||||
extends:
|
|
||||||
file: ${TEMPLATES_PATH}
|
|
||||||
service: default
|
|
||||||
image: hhftechnology/traefik-log-dashboard-agent:2.4.0
|
|
||||||
container_name: traefik-log-dashboard-agent
|
|
||||||
networks:
|
|
||||||
- ip4net
|
|
||||||
ports:
|
|
||||||
- "8078:5000"
|
|
||||||
volumes:
|
|
||||||
- "/var/log/crowdsec/:/logs:ro"
|
|
||||||
- "${INFRA_PATH}/traefik/log-dashboard/positions:/data"
|
|
||||||
environment:
|
|
||||||
TRAEFIK_LOG_DASHBOARD_ACCESS_PATH: /logs/traefik.log
|
|
||||||
TRAEFIK_LOG_DASHBOARD_AUTH_TOKEN: ${TRAEFIK_DASHBOARD_TOKEN}
|
|
||||||
TRAEFIK_LOG_DASHBOARD_SYSTEM_MONITORING: true
|
|
||||||
TRAEFIK_LOG_DASHBOARD_LOG_FORMAT: json
|
|
||||||
healthcheck:
|
|
||||||
test:
|
|
||||||
[
|
|
||||||
"CMD",
|
|
||||||
"wget",
|
|
||||||
"--no-verbose",
|
|
||||||
"--tries=1",
|
|
||||||
"--spider",
|
|
||||||
"http://localhost:5000/api/logs/status",
|
|
||||||
]
|
|
||||||
interval: 2m
|
|
||||||
timeout: 10s
|
|
||||||
retries: 3
|
|
||||||
start_period: 30s
|
|
||||||
|
|
||||||
traefik-dashboard:
|
|
||||||
extends:
|
|
||||||
file: ${TEMPLATES_PATH}
|
|
||||||
service: default
|
|
||||||
image: hhftechnology/traefik-log-dashboard:2.4.0
|
|
||||||
container_name: traefik-log-dashboard
|
|
||||||
networks:
|
|
||||||
- ip4net
|
|
||||||
ports:
|
|
||||||
- "8077:3000"
|
|
||||||
volumes:
|
|
||||||
- ./data/dashboard:/app/data
|
|
||||||
- "${INFRA_PATH}/traefik/log-dashboard/dashboard:/app/data"
|
|
||||||
- "${INFRA_PATH}/traefik/log-dashboard/positions:/data"
|
|
||||||
environment:
|
|
||||||
AGENT_API_URL: http://192.168.178.35:8078
|
|
||||||
AGENT_API_TOKEN: ${TRAEFIK_DASHBOARD_TOKEN}
|
|
||||||
# Display Configuration
|
|
||||||
NEXT_PUBLIC_SHOW_DEMO_PAGE: false
|
|
||||||
depends_on:
|
|
||||||
traefik-agent:
|
|
||||||
condition: service_healthy
|
|
||||||
labels:
|
|
||||||
# traefik
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.traefik-log-dashboard.rule=Host(`traefik-dashboard.${LOCAL_DOMAIN}`)"
|
|
||||||
- "traefik.http.routers.traefik-log-dashboard.entrypoints=https"
|
|
||||||
- "traefik.http.routers.traefik-log-dashboard.tls=true"
|
|
||||||
|
|
||||||
whoami:
|
whoami:
|
||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ services:
|
|||||||
# extends:
|
# extends:
|
||||||
# file: ${TEMPLATES_PATH}
|
# file: ${TEMPLATES_PATH}
|
||||||
# service: default
|
# service: default
|
||||||
image: louislam/uptime-kuma:2.0.2
|
image: louislam/uptime-kuma:2.2.1
|
||||||
container_name: uptime-kuma
|
container_name: uptime-kuma
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
security_opt:
|
security_opt:
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
services:
|
|
||||||
watchtower:
|
|
||||||
extends:
|
|
||||||
file: ${TEMPLATES_PATH}
|
|
||||||
service: default
|
|
||||||
image: containrrr/watchtower:latest
|
|
||||||
container_name: watchtower
|
|
||||||
environment:
|
|
||||||
- WATCHTOWER_CLEANUP=true
|
|
||||||
- WATCHTOWER_POLL_INTERVAL=43200 # 12h
|
|
||||||
- WATCHTOWER_INCLUDE_RESTARTING=true
|
|
||||||
- WATCHTOWER_LABEL_ENABLE=true
|
|
||||||
- WATCHTOWER_HTTP_API_METRICS=true
|
|
||||||
- WATCHTOWER_HTTP_API_TOKEN=mytoken
|
|
||||||
- WATCHTOWER_HTTP_API_UPDATE=true
|
|
||||||
- WATCHTOWER_HTTP_API_PERIODIC_POLLS=true
|
|
||||||
ports:
|
|
||||||
- 7999:8080
|
|
||||||
networks:
|
|
||||||
- ip4net
|
|
||||||
volumes:
|
|
||||||
# - ${INFRA_PATH}/watchtower/config:/config.json
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
labels:
|
|
||||||
# Watchtower
|
|
||||||
- "com.centurylinklabs.watchtower.enable=true"
|
|
||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: ghcr.io/advplyr/audiobookshelf:2.32.1
|
image: ghcr.io/advplyr/audiobookshelf:2.33.0
|
||||||
container_name: audiobookshelf
|
container_name: audiobookshelf
|
||||||
ports:
|
ports:
|
||||||
- 13378:80
|
- 13378:80
|
||||||
@@ -19,5 +19,3 @@ services:
|
|||||||
- "traefik.http.routers.audiobookshelf.rule=Host(`audiobookshelf.${PUBLIC_DOMAIN}`)"
|
- "traefik.http.routers.audiobookshelf.rule=Host(`audiobookshelf.${PUBLIC_DOMAIN}`)"
|
||||||
- "traefik.http.routers.audiobookshelf.entrypoints=https"
|
- "traefik.http.routers.audiobookshelf.entrypoints=https"
|
||||||
- "traefik.http.routers.audiobookshelf.tls=true"
|
- "traefik.http.routers.audiobookshelf.tls=true"
|
||||||
# Middlewares
|
|
||||||
- "traefik.http.routers.audiobookshelf.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: lscr.io/linuxserver/calibre:8.16.2
|
image: lscr.io/linuxserver/calibre:9.5.0
|
||||||
container_name: calibre
|
container_name: calibre
|
||||||
environment:
|
environment:
|
||||||
- PASSWORD= #optional
|
- PASSWORD= #optional
|
||||||
@@ -29,7 +29,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: lscr.io/linuxserver/calibre-web:0.6.25
|
image: lscr.io/linuxserver/calibre-web:0.6.26
|
||||||
container_name: calibre-web
|
container_name: calibre-web
|
||||||
environment:
|
environment:
|
||||||
- DOCKER_MODS=linuxserver/mods:universal-calibre #optional
|
- DOCKER_MODS=linuxserver/mods:universal-calibre #optional
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ services:
|
|||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
container_name: immich_server
|
container_name: immich_server
|
||||||
image: ghcr.io/immich-app/immich-server:v2.4.1
|
image: ghcr.io/immich-app/immich-server:v2.5.6
|
||||||
environment:
|
environment:
|
||||||
DB_PASSWORD: ${IMMICH_DB_PASSWORD}
|
DB_PASSWORD: ${IMMICH_DB_PASSWORD}
|
||||||
DB_HOSTNAME: postgres-with-pg-vector
|
DB_HOSTNAME: postgres-with-pg-vector
|
||||||
@@ -26,15 +26,13 @@ services:
|
|||||||
- "traefik.http.routers.immich-server.rule=Host(`immich.${PUBLIC_DOMAIN}`)"
|
- "traefik.http.routers.immich-server.rule=Host(`immich.${PUBLIC_DOMAIN}`)"
|
||||||
- "traefik.http.routers.immich-server.entrypoints=https"
|
- "traefik.http.routers.immich-server.entrypoints=https"
|
||||||
- "traefik.http.routers.immich-server.tls=true"
|
- "traefik.http.routers.immich-server.tls=true"
|
||||||
# Middlewares
|
|
||||||
- "traefik.http.routers.immich-server.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|
||||||
immich-machine-learning:
|
immich-machine-learning:
|
||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
container_name: immich_machine_learning
|
container_name: immich_machine_learning
|
||||||
image: ghcr.io/immich-app/immich-machine-learning:v2.4.1
|
image: ghcr.io/immich-app/immich-machine-learning:v2.5.6
|
||||||
ports:
|
ports:
|
||||||
- 3003:3003
|
- 3003:3003
|
||||||
volumes:
|
volumes:
|
||||||
@@ -48,7 +46,7 @@ services:
|
|||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
container_name: immich_folder_album_creator
|
container_name: immich_folder_album_creator
|
||||||
image: salvoxia/immich-folder-album-creator:0.24.0
|
image: salvoxia/immich-folder-album-creator:0.25.1
|
||||||
environment:
|
environment:
|
||||||
API_URL: https://immich.${PUBLIC_DOMAIN}/api
|
API_URL: https://immich.${PUBLIC_DOMAIN}/api
|
||||||
API_KEY: qTaebdVMtph9yD0pSJRJDQJkDEpexiXNMJ5V5HBEnA
|
API_KEY: qTaebdVMtph9yD0pSJRJDQJkDEpexiXNMJ5V5HBEnA
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: deluan/navidrome:0.59.0
|
image: deluan/navidrome:0.60.3
|
||||||
container_name: navidrome
|
container_name: navidrome
|
||||||
ports:
|
ports:
|
||||||
- 2011:4533
|
- 2011:4533
|
||||||
@@ -22,8 +22,8 @@ services:
|
|||||||
- "traefik.http.routers.navidrome.entrypoints=https"
|
- "traefik.http.routers.navidrome.entrypoints=https"
|
||||||
- "traefik.http.routers.navidrome.tls=true"
|
- "traefik.http.routers.navidrome.tls=true"
|
||||||
# Middlewares
|
# Middlewares
|
||||||
- "traefik.http.routers.navidrome.middlewares=crowdsec-bouncer@file, authelia@file"
|
- "traefik.http.routers.navidrome.middlewares=authelia@file"
|
||||||
# Subsonic endpoint use basic authentication middleware from authelia
|
# Subsonic endpoint use basic authentication middleware from authelia
|
||||||
- "traefik.http.routers.navidrome-subsonic.rule=Host(`navidrome.${PUBLIC_DOMAIN}`) && PathPrefix(`/rest/`) && !Query(`c`, `NavidromeUI`)"
|
- "traefik.http.routers.navidrome-subsonic.rule=Host(`navidrome.${PUBLIC_DOMAIN}`) && PathPrefix(`/rest/`) && !Query(`c`, `NavidromeUI`)"
|
||||||
- "traefik.http.routers.navidrome-subsonic.entrypoints=https"
|
- "traefik.http.routers.navidrome-subsonic.entrypoints=https"
|
||||||
- "traefik.http.routers.navidrome-subsonic.middlewares=crowdsec-bouncer@file, authelia-basicauth@file, subsonic-basicauth@file"
|
- "traefik.http.routers.navidrome-subsonic.middlewares=authelia-basicauth@file, subsonic-basicauth@file"
|
||||||
|
|||||||
@@ -18,3 +18,12 @@ services:
|
|||||||
- "traefik.http.routers.prowlarr.entrypoints=https"
|
- "traefik.http.routers.prowlarr.entrypoints=https"
|
||||||
- "traefik.http.routers.prowlarr.tls=true"
|
- "traefik.http.routers.prowlarr.tls=true"
|
||||||
|
|
||||||
|
mousehole:
|
||||||
|
extends:
|
||||||
|
file: ${TEMPLATES_PATH}
|
||||||
|
service: default
|
||||||
|
ports:
|
||||||
|
- 5010:5010
|
||||||
|
image: tmmrtn/mousehole:0.2.0
|
||||||
|
volumes:
|
||||||
|
- ${MEDIA_PATH}/prowlarr/mousehole:/srv/mousehole
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: slskd/slskd:0.24.2
|
image: slskd/slskd:0.24.5
|
||||||
container_name: slskd
|
container_name: slskd
|
||||||
user: ${PUID}:${PGID}
|
user: ${PUID}:${PGID}
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ services:
|
|||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
container_name: dozzle
|
container_name: dozzle
|
||||||
image: amir20/dozzle:v8.14.12
|
image: amir20/dozzle:v10.1.1
|
||||||
ports:
|
ports:
|
||||||
- 8083:8080
|
- 8083:8080
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ services:
|
|||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
container_name: grafana
|
container_name: grafana
|
||||||
image: grafana/grafana-oss:12.3.1
|
image: grafana/grafana-oss:12.4.1
|
||||||
ports:
|
ports:
|
||||||
- 8090:3000
|
- 8090:3000
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ services:
|
|||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
container_name: loki
|
container_name: loki
|
||||||
image: grafana/loki:3.6.3
|
image: grafana/loki:3.6.7
|
||||||
ports:
|
ports:
|
||||||
- 8094:3100
|
- 8094:3100
|
||||||
networks:
|
networks:
|
||||||
@@ -23,7 +23,7 @@ services:
|
|||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
container_name: promtail
|
container_name: promtail
|
||||||
image: grafana/promtail:3.6.3
|
image: grafana/promtail:3.6.7
|
||||||
networks:
|
networks:
|
||||||
- ip4net
|
- ip4net
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ services:
|
|||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
container_name: prometheus
|
container_name: prometheus
|
||||||
image: prom/prometheus:v3.9.1
|
image: prom/prometheus:v3.10.0
|
||||||
ports:
|
ports:
|
||||||
- 9090:9090
|
- 9090:9090
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: freshrss/freshrss:1.28.0
|
image: freshrss/freshrss:1.28.1
|
||||||
container_name: freshrss
|
container_name: freshrss
|
||||||
ports:
|
ports:
|
||||||
- 4014:80
|
- 4014:80
|
||||||
@@ -21,5 +21,3 @@ services:
|
|||||||
- "traefik.http.routers.freshrss.rule=Host(`rss.${PUBLIC_DOMAIN}`)"
|
- "traefik.http.routers.freshrss.rule=Host(`rss.${PUBLIC_DOMAIN}`)"
|
||||||
- "traefik.http.routers.freshrss.entrypoints=https"
|
- "traefik.http.routers.freshrss.entrypoints=https"
|
||||||
- "traefik.http.routers.freshrss.tls=true"
|
- "traefik.http.routers.freshrss.tls=true"
|
||||||
# Middlewares
|
|
||||||
- "traefik.http.routers.freshrss.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: ghost:6.12.0-alpine
|
image: ghost:6.20.0-alpine
|
||||||
container_name: ghost
|
container_name: ghost
|
||||||
ports:
|
ports:
|
||||||
- 4016:2368
|
- 4016:2368
|
||||||
|
|||||||
@@ -44,14 +44,12 @@ services:
|
|||||||
- "traefik.http.routers.gitea.tls=true"
|
- "traefik.http.routers.gitea.tls=true"
|
||||||
- "traefik.http.routers.gitea.service=gitea-service"
|
- "traefik.http.routers.gitea.service=gitea-service"
|
||||||
- "traefik.http.services.gitea-service.loadbalancer.server.port=4002"
|
- "traefik.http.services.gitea-service.loadbalancer.server.port=4002"
|
||||||
# Middlewares
|
|
||||||
- "traefik.http.routers.gitea.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|
||||||
gitea-runner:
|
gitea-runner:
|
||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: gitea/act_runner:0.2.13
|
image: gitea/act_runner:0.3.0
|
||||||
container_name: gitea_runner
|
container_name: gitea_runner
|
||||||
depends_on:
|
depends_on:
|
||||||
- gitea
|
- gitea
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: ghcr.io/home-assistant/home-assistant:2025.12.5
|
image: ghcr.io/home-assistant/home-assistant:2026.3.1
|
||||||
container_name: home-assistant
|
container_name: home-assistant
|
||||||
networks:
|
networks:
|
||||||
- ip4net
|
- ip4net
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: getmeili/meilisearch:v1.32.0
|
image: getmeili/meilisearch:v1.31.0
|
||||||
container_name: linkwarden_meili
|
container_name: linkwarden_meili
|
||||||
networks:
|
networks:
|
||||||
- ip4net
|
- ip4net
|
||||||
@@ -45,3 +45,9 @@ services:
|
|||||||
- MEILI_MASTER_KEY=${LINKWARDEN_MEILI_MASTER_KEY}
|
- MEILI_MASTER_KEY=${LINKWARDEN_MEILI_MASTER_KEY}
|
||||||
volumes:
|
volumes:
|
||||||
- ${SERVICE_PATH}/linkwarden/meili_data:/meili_data
|
- ${SERVICE_PATH}/linkwarden/meili_data:/meili_data
|
||||||
|
# command:
|
||||||
|
# [
|
||||||
|
# "--master-key=${LINKWARDEN_MEILI_MASTER_KEY}",
|
||||||
|
# "--env=production",
|
||||||
|
# "--import-dump=${SERVICE_PATH}/linkwarden/meili_data/dumps/20260115-183317235.dump",
|
||||||
|
# ]
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: ghcr.io/mealie-recipes/mealie:v3.9.2
|
image: ghcr.io/mealie-recipes/mealie:v3.12.0
|
||||||
container_name: mealie
|
container_name: mealie
|
||||||
ports:
|
ports:
|
||||||
- "4006:9000"
|
- "4006:9000"
|
||||||
@@ -34,5 +34,3 @@ services:
|
|||||||
- "traefik.http.routers.mealie.rule=Host(`mealie.${PUBLIC_DOMAIN}`)"
|
- "traefik.http.routers.mealie.rule=Host(`mealie.${PUBLIC_DOMAIN}`)"
|
||||||
- "traefik.http.routers.mealie.entrypoints=https"
|
- "traefik.http.routers.mealie.entrypoints=https"
|
||||||
- "traefik.http.routers.mealie.tls=true"
|
- "traefik.http.routers.mealie.tls=true"
|
||||||
# Middlewares
|
|
||||||
- "traefik.http.routers.mealie.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Start with the official n8n image
|
# Start with the official n8n image
|
||||||
FROM n8nio/n8n:2.4.0
|
FROM n8nio/n8n:2.10.2
|
||||||
|
|
||||||
# Copy apk and its deps from Alpine 3.23
|
# Copy apk and its deps from Alpine 3.23
|
||||||
COPY --from=alpine:3.23 /sbin/apk /sbin/apk
|
COPY --from=alpine:3.23 /sbin/apk /sbin/apk
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ services:
|
|||||||
- ${SERVICE_PATH}/n8n/data:/home/node/.n8n
|
- ${SERVICE_PATH}/n8n/data:/home/node/.n8n
|
||||||
- ${SERVICE_PATH}/n8n/data/rclone.conf:/home/node/.config/rclone/rclone.conf
|
- ${SERVICE_PATH}/n8n/data/rclone.conf:/home/node/.config/rclone/rclone.conf
|
||||||
- ${PWD}/scripts:/home/node/.n8n/external-scripts
|
- ${PWD}/scripts:/home/node/.n8n/external-scripts
|
||||||
- ${DB_PATH}/databasus/data/backup:/home/node/.n8n/database
|
- ${DB_PATH}/databasus/data/backups:/home/node/.n8n/database
|
||||||
- ${EXTERNAL_STORAGE}/:/home/node/.n8n/data
|
- ${EXTERNAL_STORAGE}/:/home/node/.n8n/data
|
||||||
labels:
|
labels:
|
||||||
# Traefik
|
# Traefik
|
||||||
@@ -36,5 +36,3 @@ services:
|
|||||||
- "traefik.http.routers.n8n.rule=Host(`n8n.${LOCAL_DOMAIN}`)"
|
- "traefik.http.routers.n8n.rule=Host(`n8n.${LOCAL_DOMAIN}`)"
|
||||||
- "traefik.http.routers.n8n.entrypoints=https"
|
- "traefik.http.routers.n8n.entrypoints=https"
|
||||||
- "traefik.http.routers.n8n.tls=true"
|
- "traefik.http.routers.n8n.tls=true"
|
||||||
# Middlewares
|
|
||||||
- "traefik.http.routers.n8n.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: ollama/ollama:0.13.5
|
image: ollama/ollama:0.17.7
|
||||||
container_name: ollama
|
container_name: ollama
|
||||||
ports:
|
ports:
|
||||||
- 4019:11434
|
- 4019:11434
|
||||||
@@ -17,5 +17,3 @@ services:
|
|||||||
- "traefik.http.routers.ollama.rule=Host(`ollama.${PUBLIC_DOMAIN}`)"
|
- "traefik.http.routers.ollama.rule=Host(`ollama.${PUBLIC_DOMAIN}`)"
|
||||||
- "traefik.http.routers.ollama.entrypoints=https"
|
- "traefik.http.routers.ollama.entrypoints=https"
|
||||||
- "traefik.http.routers.ollama.tls=true"
|
- "traefik.http.routers.ollama.tls=true"
|
||||||
# Middlewares
|
|
||||||
- "traefik.http.routers.ollama.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: ghcr.io/paperless-ngx/paperless-ngx:2.20.3
|
image: ghcr.io/paperless-ngx/paperless-ngx:2.20.10
|
||||||
container_name: paperless-ngx
|
container_name: paperless-ngx
|
||||||
ports:
|
ports:
|
||||||
- "4009:8000"
|
- "4009:8000"
|
||||||
@@ -42,5 +42,3 @@ services:
|
|||||||
- "traefik.http.routers.paperless.rule=Host(`paperless.${PUBLIC_DOMAIN}`)"
|
- "traefik.http.routers.paperless.rule=Host(`paperless.${PUBLIC_DOMAIN}`)"
|
||||||
- "traefik.http.routers.paperless.entrypoints=https"
|
- "traefik.http.routers.paperless.entrypoints=https"
|
||||||
- "traefik.http.routers.paperless.tls=true"
|
- "traefik.http.routers.paperless.tls=true"
|
||||||
# Middlewares
|
|
||||||
- "traefik.http.routers.paperless.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: bentopdf/bentopdf-simple:v1.15.4
|
image: ghcr.io/alam00000/bentopdf-simple:2.5.0
|
||||||
container_name: pdf
|
container_name: pdf
|
||||||
ports:
|
ports:
|
||||||
- "4003:8080"
|
- "4003:8080"
|
||||||
@@ -15,5 +15,3 @@ services:
|
|||||||
- "traefik.http.routers.pdf.rule=Host(`pdf.${PUBLIC_DOMAIN}`)"
|
- "traefik.http.routers.pdf.rule=Host(`pdf.${PUBLIC_DOMAIN}`)"
|
||||||
- "traefik.http.routers.pdf.entrypoints=https"
|
- "traefik.http.routers.pdf.entrypoints=https"
|
||||||
- "traefik.http.routers.pdf.tls=true"
|
- "traefik.http.routers.pdf.tls=true"
|
||||||
# Middlewares
|
|
||||||
- "traefik.http.routers.pdf.middlewares=crowdsec-bouncer@file, authelia@file"
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: tomsquest/docker-radicale:3.5.10.0
|
image: tomsquest/docker-radicale:3.6.1.0
|
||||||
container_name: radicale
|
container_name: radicale
|
||||||
ports:
|
ports:
|
||||||
- 4017:5232
|
- 4017:5232
|
||||||
@@ -31,5 +31,3 @@ services:
|
|||||||
- "traefik.http.routers.radicale.rule=Host(`radicale.${PUBLIC_DOMAIN}`)"
|
- "traefik.http.routers.radicale.rule=Host(`radicale.${PUBLIC_DOMAIN}`)"
|
||||||
- "traefik.http.routers.radicale.entrypoints=https"
|
- "traefik.http.routers.radicale.entrypoints=https"
|
||||||
- "traefik.http.routers.radicale.tls=true"
|
- "traefik.http.routers.radicale.tls=true"
|
||||||
# Middlewares
|
|
||||||
- "traefik.http.routers.radicale.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: vaultwarden/server:1.35.2
|
image: vaultwarden/server:1.35.4
|
||||||
container_name: vaultwarden
|
container_name: vaultwarden
|
||||||
ports:
|
ports:
|
||||||
- 4018:80
|
- 4018:80
|
||||||
@@ -27,5 +27,3 @@ services:
|
|||||||
- "traefik.http.routers.vaultwarden.rule=Host(`vaultwarden.${PUBLIC_DOMAIN}`)"
|
- "traefik.http.routers.vaultwarden.rule=Host(`vaultwarden.${PUBLIC_DOMAIN}`)"
|
||||||
- "traefik.http.routers.vaultwarden.entrypoints=https"
|
- "traefik.http.routers.vaultwarden.entrypoints=https"
|
||||||
- "traefik.http.routers.vaultwarden.tls=true"
|
- "traefik.http.routers.vaultwarden.tls=true"
|
||||||
# Middlewares
|
|
||||||
- "traefik.http.routers.vaultwarden.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ services:
|
|||||||
extends:
|
extends:
|
||||||
file: ${TEMPLATES_PATH}
|
file: ${TEMPLATES_PATH}
|
||||||
service: default
|
service: default
|
||||||
image: vikunja/vikunja:1.0.0-rc3
|
image: vikunja/vikunja:2.1.0
|
||||||
container_name: vikunja
|
container_name: vikunja
|
||||||
secrets: [vikunja_jwt_secret]
|
secrets: [vikunja_jwt_secret]
|
||||||
environment:
|
environment:
|
||||||
@@ -28,5 +28,3 @@ services:
|
|||||||
- "traefik.http.routers.vikunja.rule=Host(`vikunja.${PUBLIC_DOMAIN}`)"
|
- "traefik.http.routers.vikunja.rule=Host(`vikunja.${PUBLIC_DOMAIN}`)"
|
||||||
- "traefik.http.routers.vikunja.entrypoints=https"
|
- "traefik.http.routers.vikunja.entrypoints=https"
|
||||||
- "traefik.http.routers.vikunja.tls=true"
|
- "traefik.http.routers.vikunja.tls=true"
|
||||||
# Middlewares
|
|
||||||
- "traefik.http.routers.vikunja.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|||||||
@@ -68,6 +68,10 @@
|
|||||||
{
|
{
|
||||||
"matchPackageNames": "mrusse08/soularr",
|
"matchPackageNames": "mrusse08/soularr",
|
||||||
"enabled": false
|
"enabled": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchPackageNames": "getmeili/meilisearch",
|
||||||
|
"enabled": false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,4 +2,4 @@ LOG_FILE="/home/node/.n8n/external-scripts/data-backup/logs/log.log"
|
|||||||
echo "------------------------------------------------------------------------" >> "$LOG_FILE"
|
echo "------------------------------------------------------------------------" >> "$LOG_FILE"
|
||||||
echo "$(date) - Script for calendars-contact started" >> "$LOG_FILE"
|
echo "$(date) - Script for calendars-contact started" >> "$LOG_FILE"
|
||||||
restic -r rclone:sb_project_SBI-CW231949:calendars-contacts backup /home/node/.n8n/data/calendars-contacts >> "$LOG_FILE"
|
restic -r rclone:sb_project_SBI-CW231949:calendars-contacts backup /home/node/.n8n/data/calendars-contacts >> "$LOG_FILE"
|
||||||
restic -r rclone:sb_project_SBI-CW231949:calendars-contacts forget --keep-last 3 --prune >> "$LOG_FILE"
|
restic -r rclone:sb_project_SBI-CW231949:calendars-contacts forget --keep-last 3 --group-by '' --prune >> "$LOG_FILE"
|
||||||
|
|||||||
@@ -2,4 +2,4 @@ LOG_FILE="/home/node/.n8n/external-scripts/data-backup/logs/log.log"
|
|||||||
echo "------------------------------------------------------------------------" >> "$LOG_FILE"
|
echo "------------------------------------------------------------------------" >> "$LOG_FILE"
|
||||||
echo "$(date) - Script for databases started" >> "$LOG_FILE"
|
echo "$(date) - Script for databases started" >> "$LOG_FILE"
|
||||||
restic -r rclone:sb_project_SBI-CW231949:databases backup /home/node/.n8n/database >> "$LOG_FILE"
|
restic -r rclone:sb_project_SBI-CW231949:databases backup /home/node/.n8n/database >> "$LOG_FILE"
|
||||||
restic -r rclone:sb_project_SBI-CW231949:databases forget --keep-last 3 --prune >> "$LOG_FILE"
|
restic -r rclone:sb_project_SBI-CW231949:databases forget --keep-last 3 --group-by '' --prune >> "$LOG_FILE"
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ LOG_FILE="/home/node/.n8n/external-scripts/data-backup/logs/log.log"
|
|||||||
echo "------------------------------------------------------------------------" >> "$LOG_FILE"
|
echo "------------------------------------------------------------------------" >> "$LOG_FILE"
|
||||||
echo "$(date) - Script for documents started" >> "$LOG_FILE"
|
echo "$(date) - Script for documents started" >> "$LOG_FILE"
|
||||||
restic -r rclone:sb_project_SBI-CW231949:documents backup /home/node/.n8n/data/documents >> "$LOG_FILE"
|
restic -r rclone:sb_project_SBI-CW231949:documents backup /home/node/.n8n/data/documents >> "$LOG_FILE"
|
||||||
restic -r rclone:sb_project_SBI-CW231949:documents forget --keep-last 3 --prune >> "$LOG_FILE"
|
restic -r rclone:sb_project_SBI-CW231949:documents forget --keep-last 3 --group-by '' --prune >> "$LOG_FILE"
|
||||||
|
|
||||||
|
|||||||
@@ -2,4 +2,4 @@ LOG_FILE="/home/node/.n8n/external-scripts/data-backup/logs/log.log"
|
|||||||
echo "------------------------------------------------------------------------" >> "$LOG_FILE"
|
echo "------------------------------------------------------------------------" >> "$LOG_FILE"
|
||||||
echo "$(date) - Script for music started" >> "$LOG_FILE"
|
echo "$(date) - Script for music started" >> "$LOG_FILE"
|
||||||
restic -r rclone:sb_project_SBI-CW231949:music backup /home/node/.n8n/data/media/music >> "$LOG_FILE"
|
restic -r rclone:sb_project_SBI-CW231949:music backup /home/node/.n8n/data/media/music >> "$LOG_FILE"
|
||||||
restic -r rclone:sb_project_SBI-CW231949:music forget --keep-last 3 --prune >> "$LOG_FILE"
|
restic -r rclone:sb_project_SBI-CW231949:music forget --keep-last 3 --group-by '' --prune >> "$LOG_FILE"
|
||||||
|
|||||||
@@ -2,4 +2,4 @@ LOG_FILE="/home/node/.n8n/external-scripts/data-backup/logs/log.log"
|
|||||||
echo "------------------------------------------------------------------------" >> "$LOG_FILE"
|
echo "------------------------------------------------------------------------" >> "$LOG_FILE"
|
||||||
echo "$(date) - Script for notes started" >> "$LOG_FILE"
|
echo "$(date) - Script for notes started" >> "$LOG_FILE"
|
||||||
restic -r rclone:sb_project_SBI-CW231949:notes backup /home/node/.n8n/data/notes >> "$LOG_FILE"
|
restic -r rclone:sb_project_SBI-CW231949:notes backup /home/node/.n8n/data/notes >> "$LOG_FILE"
|
||||||
restic -r rclone:sb_project_SBI-CW231949:notes forget --keep-last 3 --prune >> "$LOG_FILE"
|
restic -r rclone:sb_project_SBI-CW231949:notes forget --keep-last 3 --group-by '' --prune >> "$LOG_FILE"
|
||||||
|
|||||||
@@ -2,4 +2,4 @@ LOG_FILE="/home/node/.n8n/external-scripts/data-backup/logs/log.log"
|
|||||||
echo "------------------------------------------------------------------------" >> "$LOG_FILE"
|
echo "------------------------------------------------------------------------" >> "$LOG_FILE"
|
||||||
echo "$(date) - Script for passwords started" >> "$LOG_FILE"
|
echo "$(date) - Script for passwords started" >> "$LOG_FILE"
|
||||||
restic -r rclone:sb_project_SBI-CW231949:passwords backup /home/node/.n8n/data/passwords >> "$LOG_FILE"
|
restic -r rclone:sb_project_SBI-CW231949:passwords backup /home/node/.n8n/data/passwords >> "$LOG_FILE"
|
||||||
restic -r rclone:sb_project_SBI-CW231949:passwords forget --keep-last 3 --prune >> "$LOG_FILE"
|
restic -r rclone:sb_project_SBI-CW231949:passwords forget --keep-last 3 --group-by '' --prune >> "$LOG_FILE"
|
||||||
|
|||||||
@@ -2,4 +2,4 @@ LOG_FILE="/home/node/.n8n/external-scripts/data-backup/logs/log.log"
|
|||||||
echo "------------------------------------------------------------------------" >> "$LOG_FILE"
|
echo "------------------------------------------------------------------------" >> "$LOG_FILE"
|
||||||
echo "$(date) - Script for pictures started" >> "$LOG_FILE"
|
echo "$(date) - Script for pictures started" >> "$LOG_FILE"
|
||||||
restic -r rclone:sb_project_SBI-CW231949:pictures backup /home/node/.n8n/data/media/pictures >> "$LOG_FILE"
|
restic -r rclone:sb_project_SBI-CW231949:pictures backup /home/node/.n8n/data/media/pictures >> "$LOG_FILE"
|
||||||
restic -r rclone:sb_project_SBI-CW231949:pictures forget --keep-last 3 --prune >> "$LOG_FILE"
|
restic -r rclone:sb_project_SBI-CW231949:pictures forget --keep-last 3 --group-by '' --prune >> "$LOG_FILE"
|
||||||
|
|||||||
4
scripts/data-backup/backup-overleaf-cleanup.sh
Executable file
4
scripts/data-backup/backup-overleaf-cleanup.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
BACKUP_DIR="$HOME/docker/compose/project/service/overleaf-toolkit/backup"
|
||||||
|
ls -t "$BACKUP_DIR" | tail -n +6 | xargs -I {} rm -rf "$BACKUP_DIR/{}"
|
||||||
|
|
||||||
Reference in New Issue
Block a user