{"id":27886027,"url":"https://github.com/azita-abdollahi/graylog-docker","last_synced_at":"2026-04-12T10:45:54.042Z","repository":{"id":54095010,"uuid":"522038937","full_name":"azita-abdollahi/graylog-docker","owner":"azita-abdollahi","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-24T06:19:51.000Z","size":27,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-05T07:54:55.955Z","etag":null,"topics":["docker","docker-compose","elasticsearch","graylog","mongodb"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/azita-abdollahi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-08-06T19:42:59.000Z","updated_at":"2024-09-24T06:19:55.000Z","dependencies_parsed_at":"2023-01-22T20:00:31.575Z","dependency_job_id":null,"html_url":"https://github.com/azita-abdollahi/graylog-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/azita-abdollahi/graylog-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azita-abdollahi%2Fgraylog-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azita-abdollahi%2Fgraylog-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azita-abdollahi%2Fgraylog-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azita-abdollahi%2Fgraylog-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/azita-abdollahi","download_url":"https://codeload.github.com/azita-abdollahi/graylog-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azita-abdollahi%2Fgraylog-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31712292,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T06:22:27.080Z","status":"ssl_error","status_checked_at":"2026-04-12T06:21:52.710Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","elasticsearch","graylog","mongodb"],"created_at":"2025-05-05T07:51:23.246Z","updated_at":"2026-04-12T10:45:54.025Z","avatar_url":"https://github.com/azita-abdollahi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `Graylog in docker-compose`\n\n\n\n​\t**What is `Graylog`?**\n\n​\t\t[`Graylog`](https://www.graylog.org/about) is defined in terms of log management platform for collecting, indexing, and analyzing both structured \t\t and unstructured data from almost any source.\n\n​\t **Minimun SETUP**\n\n​\t\tThis is a minimum `Graylog` setup that can be used for smaller, non-critical, or test-purpose setups. None of the components are redundant, and they are easy and quick to setup\n\n![architec_small_setup](https://user-images.githubusercontent.com/108535307/183264301-d11fe1ea-4d17-4f35-be24-3bf04708ed9e.png)\n\n`docker-compose.yml`:\n\n```yaml\nversion: \"3.8\"\nservices:\n  mongodb:\n    image: mongo:4.2\n    container_name: mongodb\n    volumes:\n      - ./mongodb_data:/data/db\n      - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro\n    restart: \"on-failure\"\n    env_file: ./mongo_env\n    command: mongod\n    networks: \n      - graylog\n  elasticsearch:\n    image: \"docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2\"\n    container_name: elasticsearch\n    environment:\n      ES_JAVA_OPTS: \"-Xms1g -Xmx1g -Dlog4j2.formatMsgNoLookups=true\"\n      bootstrap.memory_lock: \"true\"\n      discovery.type: \"single-node\"\n      http.host: \"0.0.0.0\"\n      action.auto_create_index: \"false\"\n    ulimits:\n      memlock:\n        hard: -1\n        soft: -1\n    volumes:\n      - ./es_data:/usr/share/elasticsearch/data\n    restart: \"on-failure\"\n    networks: \n      - graylog\n\n  graylog:\n    image: graylog/graylog:4.2\n    container_name: graylog\n    depends_on:\n      elasticsearch:\n        condition: \"service_started\"\n      mongodb:\n        condition: \"service_started\"\n    entrypoint: \"/usr/bin/tini -- wait-for-it elasticsearch:9200 --  /docker-entrypoint.sh\"\n    environment:\n      GRAYLOG_NODE_ID_FILE: \"/usr/share/graylog/data/config/node-id\"\n      GRAYLOG_PASSWORD_SECRET: ${GRAYLOG_PASSWORD_SECRET:?Please configure GRAYLOG_PASSWORD_SECRET in the .env file}\n      GRAYLOG_ROOT_PASSWORD_SHA2: ${GRAYLOG_ROOT_PASSWORD_SHA2:?Please configure GRAYLOG_ROOT_PASSWORD_SHA2 in the .env file}\n      GRAYLOG_HTTP_BIND_ADDRESS: \"0.0.0.0:9000\"\n      GRAYLOG_HTTP_EXTERNAL_URI: \"http://localhost:9000/\"\n      GRAYLOG_ELASTICSEARCH_HOSTS: \"http://elasticsearch:9200\"\n      GRAYLOG_MONGODB_URI: \"mongodb://${MONGO_USERNAME}:${MONGO_PASSWORD}@mongodb:27017/graylog\"\n    networks: \n      - graylog\n    ports:\n    - \"5044:5044/tcp\"   # Beats\n    - \"5140:5140/udp\"   # Syslog UDP\n    - \"5140:5140/tcp\"   # Syslog TCP\n    - \"5555:5555/tcp\"   # RAW TCP\n    - \"5555:5555/udp\"   # RAW TCP\n    - \"9000:9000/tcp\"   # Server API\n    - \"12201:12201/tcp\" # GELF TCP\n    - \"12201:12201/udp\" # GELF UDP\n    - \"13301:13301/tcp\" # Forwarder data\n    - \"13302:13302/tcp\" # Forwarder config\n    volumes:\n      - ./graylog_data:/usr/share/graylog/data/data\n      - ./graylog_journal:/usr/share/graylog/data/journal\n    restart: \"on-failure\"\n    \nnetworks:\n graylog: \n  driver: bridge\n```\n\n**Note**: find out more [Graylog](docs/gralog-container-env.md) and [ElasticSearch](docs/graylog-elasticsearch-env.md) environment variables.\n\n`mongo-init.js`:\n\n```js\nprint(\"Started Adding the Users to graylog database.\");\nconn = new Mongo();\ngraylog = conn.getDB(\"graylog\")\ngraylog.createUser(\n  {\n    user: \"root\",\n    pwd: \"root\",\n    roles: [\n       { role: \"dbOwner\", db: \"graylog\" }\n    ]\n  }\n);\nprint(\"End Adding the User Roles.\");\n```\n\n`mongo_env`:\n\n```shell\nMONGO_INITDB_ROOT_USERNAME=root\nMONGO_INITDB_ROOT_PASSWORD=root\nMONGO_INITDB_DATABASE=graylog\n```\n\n`.env`:\n\n```shell\nGRAYLOG_PASSWORD_SECRET=somepasswordpepper\nGRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918\nMONGO_USERNAME=root\nMONGO_PASSWORD=root\n```\n\n**Note:** Generate your own admin password with the following command and put the SHA-256 hash into the `GRAYLOG_ROOT_PASSWORD_SHA2` environment variable:\n\n```bash\necho -n \"Enter Password: \" \u0026\u0026 head -1 \u003c /dev/stdin | tr -d '\\n' | sha256sum | cut -d \" \" -f1\n```\n\nRun project:\n\n```shell\n#up services\ndocker compose up -d\n#down services\ndocker compose down\n#see services logs\ndocker compose logs -f\n```\n\n\n\nOpen `http://{HostIP}:9000/` and use the logon credentials to login. It may take a minute for the graylog server to come online (When graylog's container status turns into healthy)\n\n```\nusername: admin\npassword: admin\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazita-abdollahi%2Fgraylog-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazita-abdollahi%2Fgraylog-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazita-abdollahi%2Fgraylog-docker/lists"}