archive/docker2/NG-graylog.yaml
traveler 123fae9451 n
2025-06-25 14:07:44 -05:00

120 lines
3.3 KiB
YAML
Executable file

services:
# MongoDB: https://hub.docker.com/_/mongo/
mongodb:
container_name: graylog-mongo
image: mongo:5.0
volumes:
- /DockerVol/Graylog/Mongo/data/db:/data/db
networks:
- netgrimoire
environment:
- PGID=998
- PUID=1001
- UMASK=002
deploy:
placement:
constraints:
- node.hostname == docker2
datanode:
container_name: graylog-datanode
image: "${DATANODE_IMAGE:-graylog/graylog-datanode:6.0}"
hostname: "datanode"
environment:
GRAYLOG_DATANODE_NODE_ID_FILE: "/var/lib/graylog-datanode/node-id"
GRAYLOG_DATANODE_PASSWORD_SECRET: "${GRAYLOG_PASSWORD_SECRET:?Please configure GRAYLOG_PASSWORD_SECRET in the .env file}"
GRAYLOG_DATANODE_ROOT_PASSWORD_SHA2: "${GRAYLOG_ROOT_PASSWORD_SHA2:?Please configure GRAYLOG_ROOT_PASSWORD_SHA2 in the .env file}"
GRAYLOG_DATANODE_MONGODB_URI: "mongodb://mongodb:27017/graylog"
PGID: 998
PUID: 1001
UMASK: 002
ulimits:
memlock:
hard: -1
soft: -1
nofile:
soft: 65536
hard: 65536
ports:
- "8999:8999/tcp" # DataNode API
- "9200:9200/tcp"
- "9300:9300/tcp"
volumes:
- /DockerVol/Graylog/datanode:/var/lib/graylog-datanode"
networks:
- netgrimoire
deploy:
placement:
constraints:
- node.hostname == docker2
graylog:
container_name: graylog
hostname: "server"
image: "${GRAYLOG_IMAGE:-graylog/graylog:6.0}"
depends_on:
mongodb:
condition: "service_started"
entrypoint: "/usr/bin/tini -- /docker-entrypoint.sh"
environment:
GRAYLOG_NODE_ID_FILE: "/usr/share/graylog/data/data/node-id"
GRAYLOG_PASSWORD_SECRET: "${GRAYLOG_PASSWORD_SECRET:?Please configure GRAYLOG_PASSWORD_SECRET in the .env file}"
GRAYLOG_ROOT_PASSWORD_SHA2: "${GRAYLOG_ROOT_PASSWORD_SHA2:?Please configure GRAYLOG_ROOT_PASSWORD_SHA2 in the .env file}"
GRAYLOG_HTTP_BIND_ADDRESS: "0.0.0.0:9000"
GRAYLOG_HTTP_EXTERNAL_URI: "http://localhost:9000/"
GRAYLOG_MONGODB_URI: "mongodb://mongodb:27017/graylog"
PGID: 998
PUID: 1001
UMASK: 002
ports:
- "5044:5044/tcp" # Beats
- "5140:5140/udp" # Syslog
- "5140:5140/tcp" # Syslog
- "5555:5555/tcp" # RAW TCP
- "5555:5555/udp" # RAW UDP
- "9000:9000/tcp" # Server API
- "12201:12201/tcp" # GELF TCP
- "12201:12201/udp" # GELF UDP
#- "10000:10000/tcp" # Custom TCP port
#- "10000:10000/udp" # Custom UDP port
- "13301:13301/tcp" # Forwarder data
- "13302:13302/tcp" # Forwarder config
volumes:
- "/DockerVol/Graylog/graylog_data:/usr/share/graylog/data/data"
- "/DockerVol/Graylog/graylog_journal:/usr/share/graylog/data/journal"
networks:
- netgrimoire
deploy:
labels:
- homepage.group=Monitoring
- homepage.name=Graylog
- homepage.icon=graylog.png
- homepage.href=http://192.168.5.12:9000
- homepage.description=Logging Server
- caddy=git.netgrimoire.com
- caddy.reverse_proxy="{{upstreams 9000}}"
placement:
constraints:
- node.hostname == docker2
volumes:
mongodb_data:
graylog-datanode:
graylog_data:
graylog_journal:
networks:
netgrimoire:
external: true