From a213466006152b97eda4052ad1bc0b9bcc738285 Mon Sep 17 00:00:00 2001
From: Chris P <42878642+Griffen8280@users.noreply.github.com>
Date: Mon, 29 Aug 2022 07:16:36 -0400
Subject: [PATCH] Add Graylog to Main Apps List (#373)
---
docs/AppList.md | 7 ++--
docs/graylog_install.md | 39 +++++++++++++++++++
stack/graylog.yml | 64 ++++++++++++++++++++++++++++++++
template/apps/graylog.json | 35 +++++++++++++++++
template/portainer-v2-amd64.json | 32 ++++++++++++++++
template/portainer-v2-arm64.json | 32 ++++++++++++++++
6 files changed, 206 insertions(+), 3 deletions(-)
create mode 100644 docs/graylog_install.md
create mode 100644 stack/graylog.yml
create mode 100644 template/apps/graylog.json
diff --git a/docs/AppList.md b/docs/AppList.md
index f089b10..e80df7b 100644
--- a/docs/AppList.md
+++ b/docs/AppList.md
@@ -3,9 +3,9 @@
List of all apps included in this project with info related to it.
- **Arm32:** 166 apps
-- **Arm64:** 176 apps
-- **Amd64:** 174 apps
-- **Total:** 176 apps
+- **Arm64:** 177 apps
+- **Amd64:** 175 apps
+- **Total:** 177 apps
---
@@ -59,6 +59,7 @@ List of all apps included in this project with info related to it.
|[Gitea with Mariadb](https://gitea.com/)|Arm64
Amd64|Stack| [](https://docs.gitea.io/en-us/install-with-docker/#mysql-database) | | | | |
|[Go-Socks5-Proxy](https://hub.docker.com/r/serjs/go-socks5-proxy)|Arm32
Arm64
Amd64|Container| [](https://hub.docker.com/r/serjs/go-socks5-proxy) | | | | [](https://www.youtube.com/watch?v=IWj1-j2QWvo) |
|[Gotify](https://gotify.net/)|Arm32
Arm64
Amd64|Container| [](https://gotify.net/docs/install) | | | | |
+|[Graylog](https://www.graylog.org)|Arm64
Amd64|Stack| [](https://docs.graylog.org/docs/docker) | [](../docs/graylog_install.md) | | | |
|[Grocy](https://grocy.info/)|Arm32
Arm64
Amd64|Container| [](https://docs.linuxserver.io/images/docker-grocy) | | | | |
|[Guacamole](https://guacamole.apache.org/)|Arm32
Arm64
Amd64|Container| [](https://hub.docker.com/r/oznu/guacamole) | | | | [](https://www.youtube.com/watch?v=cKAhnf8X1lo&list=PL846hFPMqg3jwkxcScD1xw2bKXrJVvarc&index=3) |
|[Headphones](https://github.com/rembo10/headphones)|Arm32
Arm64
Amd64|Container| [](https://docs.linuxserver.io/images/docker-headphones) | | | | |
diff --git a/docs/graylog_install.md b/docs/graylog_install.md
new file mode 100644
index 0000000..5f6e0cb
--- /dev/null
+++ b/docs/graylog_install.md
@@ -0,0 +1,39 @@
+# Install and setup instructions for the Graylog Server
+
+## Introduction
+
+[Graylog](https://www.graylog.org) is a centralized logging solution that allows the user to aggregate and search through logs. It provides a powerful query language, a processing pipeline for data transformation, alerting abilities, and much more.
+
+## Screenshot
+
+
+
+# Installation
+
+## Pre-Installation Steps
+
+First find Graylog in the listing of templates from the project.
+
+
+
+## Set all variables
+
+
+
+- `GRAYLOG_PASSWORD_SECRET`: At least a 16 character password is required.
+- `GRAYLOG_HTTP_EXTERNAL_URI`: This is the URI where you'll connect to the instance after its up and running. It is very important to include the trailing /. It should be formatted as `http://192.168.1.1:7555/`
+
+Once done, just click `Deploy the stack`.
+
+Keep in mind this process of deployment will take roughly 10 minutes to complete, and you will see the sys load variable on your Pi move into the red. Let it sit and process.
+
+## Connection Test
+
+Once the servers are deployed and showing as up (running) you should be able to head to http://192.168.1.10:7555/ in your browser and you'll be greated by the login screen
+
+
+
+Username: admin
+Password: admin
+
+I suggest you change this immediately unless you only plan to run this behind your firewalls with no external access. You have been warned.
diff --git a/stack/graylog.yml b/stack/graylog.yml
new file mode 100644
index 0000000..4a6ed79
--- /dev/null
+++ b/stack/graylog.yml
@@ -0,0 +1,64 @@
+---
+version: '2'
+services:
+ # MongoDB: https://hub.docker.com/_/mongo/
+ mongodb:
+ image: mongo:4.2
+ volumes:
+ - mongo_data:/data/db
+ - mongo_config:/data/configdb
+ # Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/7.10/docker.html
+ elasticsearch:
+ image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
+ volumes:
+ - es_data:/usr/share/elasticsearch/data
+ environment:
+ - http.host=0.0.0.0
+ - transport.host=localhost
+ - network.host=0.0.0.0
+ - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
+ ulimits:
+ memlock:
+ soft: -1
+ hard: -1
+ mem_limit: 1g
+ # Graylog: https://hub.docker.com/r/graylog/graylog/
+ graylog:
+ image: graylog/graylog:4.3.5-2
+ volumes:
+ - graylog_data:/usr/share/graylog/data
+ environment:
+ # CHANGE ME (must be at least 16 characters)!
+ - GRAYLOG_PASSWORD_SECRET=${PASSWORD_SECRET}
+ # Password: admin
+ - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
+ - GRAYLOG_HTTP_EXTERNAL_URI=${HTTP_URI}
+ entrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 -- /docker-entrypoint.sh
+ links:
+ - mongodb:mongo
+ - elasticsearch
+ restart: always
+ depends_on:
+ - mongodb
+ - elasticsearch
+ ports:
+ # Graylog web interface and REST API
+ - 7555:9000
+ # Syslog TCP
+ - 1514:1514
+ # Syslog UDP
+ - 1514:1514/udp
+ # GELF TCP
+ - 12201:12201
+ # GELF UDP
+ - 12201:12201/udp
+# Volumes for persisting data, see https://docs.docker.com/engine/admin/volumes/volumes/
+volumes:
+ mongo_data:
+ driver: local
+ mongo_config:
+ driver: local
+ es_data:
+ driver: local
+ graylog_data:
+ driver: local
diff --git a/template/apps/graylog.json b/template/apps/graylog.json
new file mode 100644
index 0000000..362b9fe
--- /dev/null
+++ b/template/apps/graylog.json
@@ -0,0 +1,35 @@
+{
+ "categories": [
+ "Management",
+ "Monitor",
+ "Web",
+ "Tools"
+ ],
+ "description": "Graylog is a centralized logging solution that allows the user to aggregate and search through logs. It provides a powerful query language, a processing pipeline for data transformation, alerting abilities, and much more.",
+ "env": [
+ {
+ "default": "somepasswordpepper",
+ "label": "GRAYLOG_PASSWORD_SECRET",
+ "name": "PASSWORD_SECRET"
+ },
+ {
+ "default": "http://192.168.0.1:7555/",
+ "label": "GRAYLOG_HTTP_EXTERNAL_URI",
+ "name": "HTTP_URI"
+ }
+ ],
+ "logo": "https://assets-global.website-files.com/5e9fae47f9a5b161fc3f7024/621813dfcf02a2fcaf04b6f3_gl_logo_horiz.svg",
+ "name": "graylog",
+ "officialDoc": "https://docs.graylog.org/docs/docker",
+ "piHostedDoc": "graylog_install.md",
+ "platform": "linux",
+ "repository": {
+ "stackfile_arm64": "stack/graylog.yml",
+ "stackfile_amd64": "stack/graylog.yml",
+ "url": "https://github.com/Griffen8280/pi-hosted"
+ },
+ "restart_policy": "unless-stopped",
+ "title": "Graylog",
+ "type": 3,
+ "webpage": "https://www.graylog.org"
+}
diff --git a/template/portainer-v2-amd64.json b/template/portainer-v2-amd64.json
index 2bc2f3b..0e7176b 100644
--- a/template/portainer-v2-amd64.json
+++ b/template/portainer-v2-amd64.json
@@ -2015,6 +2015,38 @@
}
]
},
+ {
+ "categories": [
+ "Management",
+ "Monitor",
+ "Web",
+ "Tools"
+ ],
+ "description": "Graylog is a centralized logging solution that allows the user to aggregate and search through logs. It provides a powerful query language, a processing pipeline for data transformation, alerting abilities, and much more.",
+ "env": [
+ {
+ "default": "somepasswordpepper",
+ "label": "GRAYLOG_PASSWORD_SECRET",
+ "name": "PASSWORD_SECRET"
+ },
+ {
+ "default": "http://192.168.0.1:7555/",
+ "label": "GRAYLOG_HTTP_EXTERNAL_URI",
+ "name": "HTTP_URI"
+ }
+ ],
+ "logo": "https://assets-global.website-files.com/5e9fae47f9a5b161fc3f7024/621813dfcf02a2fcaf04b6f3_gl_logo_horiz.svg",
+ "name": "graylog",
+ "platform": "linux",
+ "repository": {
+ "stackfile": "stack/graylog.yml",
+ "url": "https://github.com/Griffen8280/pi-hosted"
+ },
+ "restart_policy": "unless-stopped",
+ "title": "Graylog",
+ "type": 3,
+ "note": "