Add dotfiles and scripts
This commit is contained in:
69
dotfiles/awesm.service
Normal file
69
dotfiles/awesm.service
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Awesome search service
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=awesm
|
||||||
|
Group=awesm
|
||||||
|
Environment="RUST_LOG=info
|
||||||
|
ExecStart=/var/www/awesm/awesm-server/target/release/awesm
|
||||||
|
StandardOutput=append:/var/log/awesm/awesm.log
|
||||||
|
StandardError=inherit
|
||||||
|
|
||||||
|
# Specifies the maximum file descriptor number that can be opened by this process
|
||||||
|
LimitNOFILE=1000
|
||||||
|
|
||||||
|
# Specifies the maximum number of processes
|
||||||
|
LimitNPROC=100
|
||||||
|
|
||||||
|
# Specifies the maximum size of virtual memory
|
||||||
|
LimitAS=infinity
|
||||||
|
|
||||||
|
# Specifies the maximum file size
|
||||||
|
LimitFSIZE=infinity
|
||||||
|
|
||||||
|
# Disable timeout logic and wait until process is stopped
|
||||||
|
TimeoutStopSec=0
|
||||||
|
|
||||||
|
KillSignal=SIGTERM
|
||||||
|
|
||||||
|
# Allow a slow startup before the systemd notifier module kicks in to extend the timeout
|
||||||
|
TimeoutStartSec=900
|
||||||
|
|
||||||
|
# Sandboxing options to harden security
|
||||||
|
# Depending on specificities of your service/app, you may need to tweak these
|
||||||
|
# .. but this should be a good baseline
|
||||||
|
# Details for these options: https://www.freedesktop.org/software/systemd/man/systemd.exec.html
|
||||||
|
NoNewPrivileges=yes
|
||||||
|
PrivateTmp=yes
|
||||||
|
PrivateDevices=yes
|
||||||
|
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK
|
||||||
|
RestrictNamespaces=yes
|
||||||
|
RestrictRealtime=yes
|
||||||
|
DevicePolicy=closed
|
||||||
|
ProtectClock=yes
|
||||||
|
ProtectHostname=yes
|
||||||
|
ProtectProc=invisible
|
||||||
|
ProtectSystem=full
|
||||||
|
ProtectControlGroups=yes
|
||||||
|
ProtectKernelModules=yes
|
||||||
|
ProtectKernelTunables=yes
|
||||||
|
LockPersonality=yes
|
||||||
|
SystemCallArchitectures=native
|
||||||
|
SystemCallFilter=~@clock @debug @module @mount @obsolete @reboot @setuid @swap @cpu-emulation @privileged
|
||||||
|
|
||||||
|
# Denying access to capabilities that should not be relevant for webapps
|
||||||
|
# Doc: https://man7.org/linux/man-pages/man7/capabilities.7.html
|
||||||
|
CapabilityBoundingSet=~CAP_RAWIO CAP_MKNOD
|
||||||
|
CapabilityBoundingSet=~CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_AUDIT_WRITE
|
||||||
|
CapabilityBoundingSet=~CAP_SYS_BOOT CAP_SYS_TIME CAP_SYS_MODULE CAP_SYS_PACCT
|
||||||
|
CapabilityBoundingSet=~CAP_LEASE CAP_LINUX_IMMUTABLE CAP_IPC_LOCK
|
||||||
|
CapabilityBoundingSet=~CAP_BLOCK_SUSPEND CAP_WAKE_ALARM
|
||||||
|
CapabilityBoundingSet=~CAP_SYS_TTY_CONFIG
|
||||||
|
CapabilityBoundingSet=~CAP_MAC_ADMIN CAP_MAC_OVERRIDE
|
||||||
|
CapabilityBoundingSet=~CAP_NET_ADMIN CAP_NET_BROADCAST CAP_NET_RAW
|
||||||
|
CapabilityBoundingSet=~CAP_SYS_ADMIN CAP_SYS_PTRACE CAP_SYSLOG
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
214
dotfiles/fscrawler/_default/6/_settings.json
Executable file
214
dotfiles/fscrawler/_default/6/_settings.json
Executable file
@@ -0,0 +1,214 @@
|
|||||||
|
{
|
||||||
|
"settings": {
|
||||||
|
"number_of_shards": 1,
|
||||||
|
"index.mapping.total_fields.limit": 2000,
|
||||||
|
"analysis": {
|
||||||
|
"analyzer": {
|
||||||
|
"fscrawler_path": {
|
||||||
|
"tokenizer": "fscrawler_path"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tokenizer": {
|
||||||
|
"fscrawler_path": {
|
||||||
|
"type": "path_hierarchy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mappings": {
|
||||||
|
"dynamic_templates": [
|
||||||
|
{
|
||||||
|
"raw_as_text": {
|
||||||
|
"path_match": "meta.raw.*",
|
||||||
|
"mapping": {
|
||||||
|
"type": "text",
|
||||||
|
"fields": {
|
||||||
|
"keyword": {
|
||||||
|
"type": "keyword",
|
||||||
|
"ignore_above": 256
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"attachment": {
|
||||||
|
"type": "binary",
|
||||||
|
"doc_values": false
|
||||||
|
},
|
||||||
|
"attributes": {
|
||||||
|
"properties": {
|
||||||
|
"group": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"owner": {
|
||||||
|
"type": "keyword"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"file": {
|
||||||
|
"properties": {
|
||||||
|
"content_type": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"filename": {
|
||||||
|
"type": "keyword",
|
||||||
|
"store": true
|
||||||
|
},
|
||||||
|
"extension": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"filesize": {
|
||||||
|
"type": "long"
|
||||||
|
},
|
||||||
|
"indexed_chars": {
|
||||||
|
"type": "long"
|
||||||
|
},
|
||||||
|
"indexing_date": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"created": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"last_modified": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"last_accessed": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"checksum": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"url": {
|
||||||
|
"type": "keyword",
|
||||||
|
"index": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"properties": {
|
||||||
|
"author": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"date": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"keywords": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"language": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"format": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"identifier": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"contributor": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"coverage": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"modifier": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"creator_tool": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"publisher": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"relation": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"rights": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"created": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"print_date": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"metadata_date": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"latitude": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"longitude": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"altitude": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"rating": {
|
||||||
|
"type": "byte"
|
||||||
|
},
|
||||||
|
"comments": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"path": {
|
||||||
|
"properties": {
|
||||||
|
"real": {
|
||||||
|
"type": "keyword",
|
||||||
|
"fields": {
|
||||||
|
"tree": {
|
||||||
|
"type": "text",
|
||||||
|
"analyzer": "fscrawler_path",
|
||||||
|
"fielddata": true
|
||||||
|
},
|
||||||
|
"fulltext": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"virtual": {
|
||||||
|
"type": "keyword",
|
||||||
|
"fields": {
|
||||||
|
"tree": {
|
||||||
|
"type": "text",
|
||||||
|
"analyzer": "fscrawler_path",
|
||||||
|
"fielddata": true
|
||||||
|
},
|
||||||
|
"fulltext": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
64
dotfiles/fscrawler/_default/6/_settings_folder.json
Executable file
64
dotfiles/fscrawler/_default/6/_settings_folder.json
Executable file
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"settings": {
|
||||||
|
"analysis": {
|
||||||
|
"analyzer": {
|
||||||
|
"fscrawler_path": {
|
||||||
|
"tokenizer": "fscrawler_path"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tokenizer": {
|
||||||
|
"fscrawler_path": {
|
||||||
|
"type": "path_hierarchy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mappings": {
|
||||||
|
"properties" : {
|
||||||
|
"file": {
|
||||||
|
"properties": {
|
||||||
|
"content_type": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"filename": {
|
||||||
|
"type": "keyword",
|
||||||
|
"store": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"path": {
|
||||||
|
"properties": {
|
||||||
|
"real": {
|
||||||
|
"type": "keyword",
|
||||||
|
"fields": {
|
||||||
|
"tree": {
|
||||||
|
"type": "text",
|
||||||
|
"analyzer": "fscrawler_path",
|
||||||
|
"fielddata": true
|
||||||
|
},
|
||||||
|
"fulltext": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"virtual": {
|
||||||
|
"type": "keyword",
|
||||||
|
"fields": {
|
||||||
|
"tree": {
|
||||||
|
"type": "text",
|
||||||
|
"analyzer": "fscrawler_path",
|
||||||
|
"fielddata": true
|
||||||
|
},
|
||||||
|
"fulltext": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
214
dotfiles/fscrawler/_default/7/_settings.json
Executable file
214
dotfiles/fscrawler/_default/7/_settings.json
Executable file
@@ -0,0 +1,214 @@
|
|||||||
|
{
|
||||||
|
"settings": {
|
||||||
|
"number_of_shards": 1,
|
||||||
|
"index.mapping.total_fields.limit": 2000,
|
||||||
|
"analysis": {
|
||||||
|
"analyzer": {
|
||||||
|
"fscrawler_path": {
|
||||||
|
"tokenizer": "fscrawler_path"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tokenizer": {
|
||||||
|
"fscrawler_path": {
|
||||||
|
"type": "path_hierarchy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mappings": {
|
||||||
|
"dynamic_templates": [
|
||||||
|
{
|
||||||
|
"raw_as_text": {
|
||||||
|
"path_match": "meta.raw.*",
|
||||||
|
"mapping": {
|
||||||
|
"type": "text",
|
||||||
|
"fields": {
|
||||||
|
"keyword": {
|
||||||
|
"type": "keyword",
|
||||||
|
"ignore_above": 256
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"attachment": {
|
||||||
|
"type": "binary",
|
||||||
|
"doc_values": false
|
||||||
|
},
|
||||||
|
"attributes": {
|
||||||
|
"properties": {
|
||||||
|
"group": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"owner": {
|
||||||
|
"type": "keyword"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"file": {
|
||||||
|
"properties": {
|
||||||
|
"content_type": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"filename": {
|
||||||
|
"type": "keyword",
|
||||||
|
"store": true
|
||||||
|
},
|
||||||
|
"extension": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"filesize": {
|
||||||
|
"type": "long"
|
||||||
|
},
|
||||||
|
"indexed_chars": {
|
||||||
|
"type": "long"
|
||||||
|
},
|
||||||
|
"indexing_date": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"created": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"last_modified": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"last_accessed": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"checksum": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"url": {
|
||||||
|
"type": "keyword",
|
||||||
|
"index": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"properties": {
|
||||||
|
"author": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"date": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"keywords": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"language": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"format": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"identifier": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"contributor": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"coverage": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"modifier": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"creator_tool": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"publisher": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"relation": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"rights": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"created": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"print_date": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"metadata_date": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "dateOptionalTime"
|
||||||
|
},
|
||||||
|
"latitude": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"longitude": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"altitude": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"rating": {
|
||||||
|
"type": "byte"
|
||||||
|
},
|
||||||
|
"comments": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"path": {
|
||||||
|
"properties": {
|
||||||
|
"real": {
|
||||||
|
"type": "keyword",
|
||||||
|
"fields": {
|
||||||
|
"tree": {
|
||||||
|
"type": "text",
|
||||||
|
"analyzer": "fscrawler_path",
|
||||||
|
"fielddata": true
|
||||||
|
},
|
||||||
|
"fulltext": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"virtual": {
|
||||||
|
"type": "keyword",
|
||||||
|
"fields": {
|
||||||
|
"tree": {
|
||||||
|
"type": "text",
|
||||||
|
"analyzer": "fscrawler_path",
|
||||||
|
"fielddata": true
|
||||||
|
},
|
||||||
|
"fulltext": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
64
dotfiles/fscrawler/_default/7/_settings_folder.json
Executable file
64
dotfiles/fscrawler/_default/7/_settings_folder.json
Executable file
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"settings": {
|
||||||
|
"analysis": {
|
||||||
|
"analyzer": {
|
||||||
|
"fscrawler_path": {
|
||||||
|
"tokenizer": "fscrawler_path"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tokenizer": {
|
||||||
|
"fscrawler_path": {
|
||||||
|
"type": "path_hierarchy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mappings": {
|
||||||
|
"properties" : {
|
||||||
|
"file": {
|
||||||
|
"properties": {
|
||||||
|
"content_type": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"filename": {
|
||||||
|
"type": "keyword",
|
||||||
|
"store": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"path": {
|
||||||
|
"properties": {
|
||||||
|
"real": {
|
||||||
|
"type": "keyword",
|
||||||
|
"fields": {
|
||||||
|
"tree": {
|
||||||
|
"type": "text",
|
||||||
|
"analyzer": "fscrawler_path",
|
||||||
|
"fielddata": true
|
||||||
|
},
|
||||||
|
"fulltext": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"virtual": {
|
||||||
|
"type": "keyword",
|
||||||
|
"fields": {
|
||||||
|
"tree": {
|
||||||
|
"type": "text",
|
||||||
|
"analyzer": "fscrawler_path",
|
||||||
|
"fielddata": true
|
||||||
|
},
|
||||||
|
"fulltext": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
80
dotfiles/fscrawler/_default/7/_wpsearch_settings.json
Executable file
80
dotfiles/fscrawler/_default/7/_wpsearch_settings.json
Executable file
@@ -0,0 +1,80 @@
|
|||||||
|
{
|
||||||
|
"name": "SOURCE_NAME",
|
||||||
|
"schema": {
|
||||||
|
"title": "text",
|
||||||
|
"name": "text",
|
||||||
|
"body": "text",
|
||||||
|
"url": "text",
|
||||||
|
"author": "text",
|
||||||
|
"keywords": "text",
|
||||||
|
"language": "text",
|
||||||
|
"comments": "text",
|
||||||
|
"mime_type": "text",
|
||||||
|
"extension": "text",
|
||||||
|
"size": "number",
|
||||||
|
"text_size": "number",
|
||||||
|
"last_modified": "date",
|
||||||
|
"created_at": "date",
|
||||||
|
"path": "text"
|
||||||
|
},
|
||||||
|
"display": {
|
||||||
|
"title_field": "title",
|
||||||
|
"subtitle_field": "name",
|
||||||
|
"description_field": "body",
|
||||||
|
"url_field": "url",
|
||||||
|
"media_type_field": "mime_type",
|
||||||
|
"created_by_field": "author",
|
||||||
|
"detail_fields": [
|
||||||
|
{
|
||||||
|
"field_name": "author",
|
||||||
|
"label": "Author"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "keywords",
|
||||||
|
"label": "Keywords"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "language",
|
||||||
|
"label": "Language"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "last_modified",
|
||||||
|
"label": "Last Modification Date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "created_at",
|
||||||
|
"label": "Creation date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "comments",
|
||||||
|
"label": "Comments"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "mime_type",
|
||||||
|
"label": "Mime Type"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "extension",
|
||||||
|
"label": "Extension"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "size",
|
||||||
|
"label": "File size"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "text_size",
|
||||||
|
"label": "Extracted text size"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "path",
|
||||||
|
"label": "Path"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "body",
|
||||||
|
"label": "Content"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"color": "#000000"
|
||||||
|
},
|
||||||
|
"is_searchable": true
|
||||||
|
}
|
||||||
214
dotfiles/fscrawler/_default/8/_settings.json
Executable file
214
dotfiles/fscrawler/_default/8/_settings.json
Executable file
@@ -0,0 +1,214 @@
|
|||||||
|
{
|
||||||
|
"settings": {
|
||||||
|
"number_of_shards": 1,
|
||||||
|
"index.mapping.total_fields.limit": 2000,
|
||||||
|
"analysis": {
|
||||||
|
"analyzer": {
|
||||||
|
"fscrawler_path": {
|
||||||
|
"tokenizer": "fscrawler_path"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tokenizer": {
|
||||||
|
"fscrawler_path": {
|
||||||
|
"type": "path_hierarchy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mappings": {
|
||||||
|
"dynamic_templates": [
|
||||||
|
{
|
||||||
|
"raw_as_text": {
|
||||||
|
"path_match": "meta.raw.*",
|
||||||
|
"mapping": {
|
||||||
|
"type": "text",
|
||||||
|
"fields": {
|
||||||
|
"keyword": {
|
||||||
|
"type": "keyword",
|
||||||
|
"ignore_above": 256
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"attachment": {
|
||||||
|
"type": "binary",
|
||||||
|
"doc_values": false
|
||||||
|
},
|
||||||
|
"attributes": {
|
||||||
|
"properties": {
|
||||||
|
"group": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"owner": {
|
||||||
|
"type": "keyword"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"file": {
|
||||||
|
"properties": {
|
||||||
|
"content_type": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"filename": {
|
||||||
|
"type": "keyword",
|
||||||
|
"store": true
|
||||||
|
},
|
||||||
|
"extension": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"filesize": {
|
||||||
|
"type": "long"
|
||||||
|
},
|
||||||
|
"indexed_chars": {
|
||||||
|
"type": "long"
|
||||||
|
},
|
||||||
|
"indexing_date": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "date_optional_time"
|
||||||
|
},
|
||||||
|
"created": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "date_optional_time"
|
||||||
|
},
|
||||||
|
"last_modified": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "date_optional_time"
|
||||||
|
},
|
||||||
|
"last_accessed": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "date_optional_time"
|
||||||
|
},
|
||||||
|
"checksum": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"url": {
|
||||||
|
"type": "keyword",
|
||||||
|
"index": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"properties": {
|
||||||
|
"author": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"date": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "date_optional_time"
|
||||||
|
},
|
||||||
|
"keywords": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"language": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"format": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"identifier": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"contributor": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"coverage": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"modifier": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"creator_tool": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"publisher": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"relation": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"rights": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"created": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "date_optional_time"
|
||||||
|
},
|
||||||
|
"print_date": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "date_optional_time"
|
||||||
|
},
|
||||||
|
"metadata_date": {
|
||||||
|
"type": "date",
|
||||||
|
"format": "date_optional_time"
|
||||||
|
},
|
||||||
|
"latitude": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"longitude": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"altitude": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"rating": {
|
||||||
|
"type": "byte"
|
||||||
|
},
|
||||||
|
"comments": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"path": {
|
||||||
|
"properties": {
|
||||||
|
"real": {
|
||||||
|
"type": "keyword",
|
||||||
|
"fields": {
|
||||||
|
"tree": {
|
||||||
|
"type": "text",
|
||||||
|
"analyzer": "fscrawler_path",
|
||||||
|
"fielddata": true
|
||||||
|
},
|
||||||
|
"fulltext": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"virtual": {
|
||||||
|
"type": "keyword",
|
||||||
|
"fields": {
|
||||||
|
"tree": {
|
||||||
|
"type": "text",
|
||||||
|
"analyzer": "fscrawler_path",
|
||||||
|
"fielddata": true
|
||||||
|
},
|
||||||
|
"fulltext": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
64
dotfiles/fscrawler/_default/8/_settings_folder.json
Executable file
64
dotfiles/fscrawler/_default/8/_settings_folder.json
Executable file
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"settings": {
|
||||||
|
"analysis": {
|
||||||
|
"analyzer": {
|
||||||
|
"fscrawler_path": {
|
||||||
|
"tokenizer": "fscrawler_path"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tokenizer": {
|
||||||
|
"fscrawler_path": {
|
||||||
|
"type": "path_hierarchy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mappings": {
|
||||||
|
"properties" : {
|
||||||
|
"file": {
|
||||||
|
"properties": {
|
||||||
|
"content_type": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"filename": {
|
||||||
|
"type": "keyword",
|
||||||
|
"store": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"path": {
|
||||||
|
"properties": {
|
||||||
|
"real": {
|
||||||
|
"type": "keyword",
|
||||||
|
"fields": {
|
||||||
|
"tree": {
|
||||||
|
"type": "text",
|
||||||
|
"analyzer": "fscrawler_path",
|
||||||
|
"fielddata": true
|
||||||
|
},
|
||||||
|
"fulltext": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"virtual": {
|
||||||
|
"type": "keyword",
|
||||||
|
"fields": {
|
||||||
|
"tree": {
|
||||||
|
"type": "text",
|
||||||
|
"analyzer": "fscrawler_path",
|
||||||
|
"fielddata": true
|
||||||
|
},
|
||||||
|
"fulltext": {
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
80
dotfiles/fscrawler/_default/8/_wpsearch_settings.json
Executable file
80
dotfiles/fscrawler/_default/8/_wpsearch_settings.json
Executable file
@@ -0,0 +1,80 @@
|
|||||||
|
{
|
||||||
|
"name": "SOURCE_NAME",
|
||||||
|
"schema": {
|
||||||
|
"title": "text",
|
||||||
|
"name": "text",
|
||||||
|
"body": "text",
|
||||||
|
"url": "text",
|
||||||
|
"author": "text",
|
||||||
|
"keywords": "text",
|
||||||
|
"language": "text",
|
||||||
|
"comments": "text",
|
||||||
|
"mime_type": "text",
|
||||||
|
"extension": "text",
|
||||||
|
"size": "number",
|
||||||
|
"text_size": "number",
|
||||||
|
"last_modified": "date",
|
||||||
|
"created_at": "date",
|
||||||
|
"path": "text"
|
||||||
|
},
|
||||||
|
"display": {
|
||||||
|
"title_field": "title",
|
||||||
|
"subtitle_field": "name",
|
||||||
|
"description_field": "body",
|
||||||
|
"url_field": "url",
|
||||||
|
"media_type_field": "mime_type",
|
||||||
|
"created_by_field": "author",
|
||||||
|
"detail_fields": [
|
||||||
|
{
|
||||||
|
"field_name": "author",
|
||||||
|
"label": "Author"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "keywords",
|
||||||
|
"label": "Keywords"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "language",
|
||||||
|
"label": "Language"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "last_modified",
|
||||||
|
"label": "Last Modification Date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "created_at",
|
||||||
|
"label": "Creation date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "comments",
|
||||||
|
"label": "Comments"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "mime_type",
|
||||||
|
"label": "Mime Type"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "extension",
|
||||||
|
"label": "Extension"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "size",
|
||||||
|
"label": "File size"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "text_size",
|
||||||
|
"label": "Extracted text size"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "path",
|
||||||
|
"label": "Path"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field_name": "body",
|
||||||
|
"label": "Content"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"color": "#000000"
|
||||||
|
},
|
||||||
|
"is_searchable": true
|
||||||
|
}
|
||||||
34
dotfiles/fscrawler/awesm/_settings.yaml
Executable file
34
dotfiles/fscrawler/awesm/_settings.yaml
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
name: "awesm"
|
||||||
|
fs:
|
||||||
|
url: "/home/awesm/data/awesome-awesomeness/readmes"
|
||||||
|
update_rate: "15m"
|
||||||
|
json_support: false
|
||||||
|
includes:
|
||||||
|
- "*.md"
|
||||||
|
excludes:
|
||||||
|
- "index.md"
|
||||||
|
filename_as_id: true
|
||||||
|
add_filesize: true
|
||||||
|
remove_deleted: false
|
||||||
|
add_as_inner_object: true
|
||||||
|
store_source: true
|
||||||
|
index_content: true
|
||||||
|
attributes_support: false
|
||||||
|
raw_metadata: false
|
||||||
|
xml_support: false
|
||||||
|
index_folders: true
|
||||||
|
lang_detect: true
|
||||||
|
continue_on_error: true
|
||||||
|
ocr:
|
||||||
|
language: "eng"
|
||||||
|
enabled: true
|
||||||
|
pdf_strategy: "ocr_and_text"
|
||||||
|
follow_symlinks: false
|
||||||
|
elasticsearch:
|
||||||
|
nodes:
|
||||||
|
- url: "http://127.0.0.1:9200"
|
||||||
|
bulk_size: 100
|
||||||
|
flush_interval: "5s"
|
||||||
|
byte_size: "10mb"
|
||||||
|
ssl_verification: true
|
||||||
6
dotfiles/fscrawler/awesm/_status.json
Executable file
6
dotfiles/fscrawler/awesm/_status.json
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"name" : "awesm",
|
||||||
|
"lastrun" : "2024-04-24T00:23:46.417072",
|
||||||
|
"indexed" : 2,
|
||||||
|
"deleted" : 0
|
||||||
|
}
|
||||||
34
dotfiles/fscrawler/awesome/_settings.yaml
Executable file
34
dotfiles/fscrawler/awesome/_settings.yaml
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
name: "awesome"
|
||||||
|
fs:
|
||||||
|
url: "/home/awesm/data/awesome-awesomeness/readmes"
|
||||||
|
update_rate: "15m"
|
||||||
|
excludes:
|
||||||
|
- "*/~*"
|
||||||
|
includes:
|
||||||
|
- "*.md"
|
||||||
|
json_support: false
|
||||||
|
filename_as_id: false
|
||||||
|
add_filesize: true
|
||||||
|
remove_deleted: true
|
||||||
|
add_as_inner_object: true
|
||||||
|
store_source: false
|
||||||
|
index_content: true
|
||||||
|
attributes_support: false
|
||||||
|
raw_metadata: false
|
||||||
|
xml_support: false
|
||||||
|
index_folders: true
|
||||||
|
lang_detect: false
|
||||||
|
continue_on_error: false
|
||||||
|
ocr:
|
||||||
|
language: "eng"
|
||||||
|
enabled: true
|
||||||
|
pdf_strategy: "ocr_and_text"
|
||||||
|
follow_symlinks: false
|
||||||
|
elasticsearch:
|
||||||
|
nodes:
|
||||||
|
- url: "http://127.0.0.1:9200"
|
||||||
|
bulk_size: 100
|
||||||
|
flush_interval: "5s"
|
||||||
|
byte_size: "10mb"
|
||||||
|
ssl_verification: true
|
||||||
6
dotfiles/fscrawler/awesome/_status.json
Executable file
6
dotfiles/fscrawler/awesome/_status.json
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"name" : "awesome",
|
||||||
|
"lastrun" : "2024-04-22T22:33:26.713382",
|
||||||
|
"indexed" : 0,
|
||||||
|
"deleted" : 0
|
||||||
|
}
|
||||||
52
dotfiles/nginx.conf
Normal file
52
dotfiles/nginx.conf
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# Include before server
|
||||||
|
#map $term $root {
|
||||||
|
# 1 /var/www/awesm/terminal;
|
||||||
|
# default /var/www/awesm/html;
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
#map $http_user_agent $autoindex_type {
|
||||||
|
# "~*curl*" jsonp;
|
||||||
|
# default html;
|
||||||
|
#}
|
||||||
|
|
||||||
|
#sub_path_only rewrite ^/$ / permanentm
|
||||||
|
location = /lists o
|
||||||
|
alias $root;
|
||||||
|
autoindex on;
|
||||||
|
|
||||||
|
autoindex_format jsonp;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
location /stats {
|
||||||
|
autoindex off;
|
||||||
|
alias /var/www/awesm/stats;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /style {
|
||||||
|
autoindex off;
|
||||||
|
alias /var/www/awesm/style;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = / {
|
||||||
|
root $root;
|
||||||
|
|
||||||
|
try_files /index /index.html;
|
||||||
|
}
|
||||||
|
|
||||||
|
#location ~* ^/lists {
|
||||||
|
location / {
|
||||||
|
root $root;
|
||||||
|
|
||||||
|
try_files $uri $uri.html /redirect?q=$uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
location /search {
|
||||||
|
set $args $args&pretty;
|
||||||
|
proxy_pass http://[::1]:9876;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /redirect {
|
||||||
|
proxy_pass http://[::1]:9876;
|
||||||
|
}
|
||||||
3
scripts/delete_index.sh
Executable file
3
scripts/delete_index.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
curl -XDELETE "http://127.0.0.1:9200/$1"
|
||||||
3
scripts/get_indices.sh
Executable file
3
scripts/get_indices.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
curl -XGET "http://127.0.0.1:9200/_cat/indices"
|
||||||
18
scripts/update
Executable file
18
scripts/update
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -eux
|
||||||
|
cd data/awesome-awesomeness
|
||||||
|
git stash && git pull
|
||||||
|
|
||||||
|
~/update_fscrawler.sh
|
||||||
|
|
||||||
|
rm -rf /var/www/awesm/html /var/www/awesm/terminal
|
||||||
|
mv html terminal /var/www/awesm/
|
||||||
|
|
||||||
|
cd /var/www/awesm
|
||||||
|
chown -R :www-data html terminal
|
||||||
|
|
||||||
|
date -ur html > stats/updated.txt
|
||||||
|
ls html | wc -l > stats/sites.txt
|
||||||
|
|
||||||
|
chmod -R o-rwx ./*
|
||||||
3
scripts/update_fscrawler.sh
Executable file
3
scripts/update_fscrawler.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
~/data/fscrawler-distribution-2.10-SNAPSHOT/bin/fscrawler --loop 1 --trace awesm
|
||||||
Reference in New Issue
Block a user