Compare commits

...

2 Commits

Author SHA1 Message Date
43a088d118 Merge branch 'main' of https://git.send.nrw/sendnrw/flod
Some checks failed
release-tag / release-image (push) Has been cancelled
2025-06-18 21:06:05 +02:00
7518619a74 Added ENV for Import-URL 2025-06-18 21:05:40 +02:00
2 changed files with 70 additions and 29 deletions

View File

@@ -1,72 +1,109 @@
services:
flodpodmaster:
flod-pod-master:
image: git.send.nrw/sendnrw/flod-pod:latest
container_name: ipblock-master
container_name: flod-pod-master
labels:
- traefik.enable=true
- traefik.http.routers.flodpodmaster.rule=Host(`flod-proxy.send.nrw`)
- traefik.http.services.flodpodmaster.loadbalancer.server.port=8080
- traefik.http.routers.flodpodmaster.entrypoints=websecure
- traefik.http.routers.flodpodmaster.tls=true
- traefik.http.routers.flodpodmaster.tls.certresolver=letsencrypt
- traefik.http.middlewares.flodpodmaster0-redirect.redirectscheme.scheme=https
- traefik.http.middlewares.flodpodmaster0-redirect.redirectscheme.permanent=true
- traefik.http.routers.flodpodmaster0.rule=Host(`flod-proxy.send.nrw`)
- traefik.http.routers.flodpodmaster0.entrypoints=web
- traefik.http.routers.flodpodmaster0.middlewares=flodpodmaster0-redirect
- traefik.protocol=http
depends_on:
- redis
- flod-redis
networks:
- flod_nw
- traefik-net
environment:
# Beispiel mehrere Listen in einer Kategorie „spam“
BLOCKLIST_MODE: master
REDIS_ADDR: redis:6379
REDIS_ADDR: flod-redis:6379
HASH_NAME: bl:flodpod
MASTER_URL: https://flod-proxy.send.nrw
#ports:
#- "8080:8080" # <host>:<container>
restart: unless-stopped
api:
flod-master:
image: git.send.nrw/sendnrw/flod:latest
container_name: ipblock-api
container_name: flod-master
labels:
- traefik.enable=true
- traefik.http.routers.flodmaster.rule=Host(`flod.send.nrw`)
- traefik.http.services.flodmaster.loadbalancer.server.port=8080
- traefik.http.routers.flodmaster.entrypoints=websecure
- traefik.http.routers.flodmaster.tls=true
- traefik.http.routers.flodmaster.tls.certresolver=letsencrypt
- traefik.http.middlewares.flodmaster0-redirect.redirectscheme.scheme=https
- traefik.http.middlewares.flodmaster0-redirect.redirectscheme.permanent=true
- traefik.http.routers.flodmaster0.rule=Host(`flod.send.nrw`)
- traefik.http.routers.flodmaster0.entrypoints=web
- traefik.http.routers.flodmaster0.middlewares=flodmaster0-redirect
- traefik.protocol=http
networks:
- flod_nw
- traefik-net
depends_on:
- redis
- importer
- flod-redis
- flod-importer
environment:
# Redis-Adresse schon per Docker-Netzwerk korrekt:
REDIS_ADDR: redis:6379
REDIS_ADDR: flod-redis:6379
ROLE: worker
TTL_HOURS: "720"
FLOD_IMPORT_URL: "http://flod-importer:8080"
#ports:
#- "8080:8080" # <host>:<container>
restart: unless-stopped
importer:
flod-importer:
image: git.send.nrw/sendnrw/flod-ipv64-parser:latest
container_name: ipblock-importer
container_name: flod-importer
labels:
- traefik.enable=true
- traefik.http.routers.flodimporter.rule=Host(`flod-import.send.nrw`)
- traefik.http.services.flodimporter.loadbalancer.server.port=8080
- traefik.http.routers.flodimporter.entrypoints=websecure
- traefik.http.routers.flodimporter.tls=true
- traefik.http.routers.flodimporter.tls.certresolver=letsencrypt
- traefik.http.middlewares.flodimporter0-redirect.redirectscheme.scheme=https
- traefik.http.middlewares.flodimporter0-redirect.redirectscheme.permanent=true
- traefik.http.routers.flodimporter0.rule=Host(`flod-import.send.nrw`)
- traefik.http.routers.flodimporter0.entrypoints=web
- traefik.http.routers.flodimporter0.middlewares=flodimporter0-redirect
- traefik.protocol=http
environment:
SERVEONLY: "1"
DELAY: ""
OUTDIR: ""
LIST: ""
LISTEN: ":8080"
PREFIX: "http://flod-importer:8080"
networks:
- flod_nw
- traefik-net
restart: unless-stopped
volumes:
- importer-lists:/lists
redis:
flod-redis:
image: redis:7-alpine
container_name: ipblock-redis
container_name: flod-redis
ports:
- "6379:6379"
networks:
- flod_nw
- traefik-net
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
volumes:
- redis-data:/data # falls du doch Persistence willst
- /home/groot/flod/redis.conf:/usr/local/etc/redis/redis.conf:ro
restart: unless-stopped
newt:
image: fosrl/newt
container_name: newt
networks:
- flod_nw
restart: unless-stopped
environment:
- PANGOLIN_ENDPOINT=
- NEWT_ID=
- NEWT_SECRET=
networks:
flod_nw:
traefik-net:
external: true
volumes:
redis-data:

View File

@@ -179,7 +179,11 @@ func fetchAndSave(client *http.Client, t target, outDir string) error {
// Import-Logik
func importBlocklists() error {
client := &http.Client{Timeout: 60 * time.Second}
<<<<<<< HEAD
t := target{Name: "Catalog", URL: os.Getenv("FLOD_IMPORT_URL") + "/lists.json"}
=======
t := target{Name: "Catalog", URL: "http://flodimporter:8080/lists.json"}
>>>>>>> 95e14caeb60edc10c73d9cb60985caa118ed2a38
if err := os.MkdirAll("./lists/", 0o755); err != nil {
fmt.Println("creating output dir", err)
}