net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Author: jooservices
FastCGI vs suPHP vs CGI vs mod_php (DSO)
Attribute | mod_php | CGI | suPHP | FastCGI |
---|---|---|---|---|
Memory usage | Low | Low | Low | High |
CPU usage | Low | High | High | Low |
Security | Low | Low | High | High |
Run as file owner | No | No | Yes | Yes |
Overall Performance | Fast | Slow | Slow | Fast |
Secure SSH with Yubikey
- Install OpenSSH
ssh-keygen -t ed25519-sk -O resident -O verify-required -C "Your Comment"
– t : Specifies the type of key to create. We are using
ed25519-sk
– 0 : Specify a key/value option.
resident : Indicate that the key handle should be stored on the FIDO authenticator itself.
verify-required : Indicate that this private key should require user verification for each signature.
- Copy public key
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub user@host
- And finally update SSH server
# Support public key cryptography (includes FIDO2)
PubkeyAuthentication yes
# Enforce User Verification
PubkeyAuthOptions verify-required
# Public keys location
AuthorizedKeysFile .ssh/authorized_keys
# Allow root only with MFA
PermitRootLogin prohibit-password
# Disable password authentication
PasswordAuthentication no
PermitEmptyPasswords no
How to install Speedtest – Tracker on Synology NAS
Laravel – Different between instance vs bind
use ->bind()
when you want to provide just a FQCN (full-qualified class name), or a factory closure, to instruct the container on how to lazily build an instance only when needed.
use ->instance()
` when you already have an constructed instance and want to instruct the container to provide that particular instance when required.
Simple Bindings
We can register a binding using the bind method, passing the class or interface name that we wish to register along with a closure that returns an instance of the class
Binding Instances
You may also bind an existing object instance into the container using the instance method. The given instance will always be returned on subsequent calls into the container
How to create Ubuntu system user without home directory
sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --no-create-home --system -g prometheus prometheus
DisplayPort
HDMI version(s)
HDMI 2.0
- Độ phân giải mở rộng: Mở rộng khả năng tương thích độ phân giải 4K (2160 px) của HDMI 1.4/1.4a để chấp nhận tốc độ khung hình 50 hoặc 60 hertz (tốc độ truyền tối đa 18Gbps với 8 bit màu).
- Hỗ trợ định dạng âm thanh mở rộng: Có thể chấp nhận lên đến 32 kênh đồng thời, hỗ trợ các định dạng âm thanh vòm sống động, chẳng hạn như âm thanh Dolby Atmos, DTS:X và Auro 3D.
- Luồng video kép: Có thể gửi hai luồng video độc lập để xem trên cùng một màn hình.
- 4 luồng âm thanh: Có thể gửi tối đa 4 luồng âm thanh riêng biệt cho nhiều người nghe.
- Hỗ trợ tỷ lệ khung hình 21:9 (2,35:1).
- Đồng bộ động các luồng video và âm thanh.
- Mở rộng khả năng HDMI-CEC.
- Nâng cao khả năng chống sao chép HDCP được gọi là HDCP 2.2.
New Intel NUC Skull Canyon for … nothing
Mua thêm 1 em Intel NUC để nghịch ngợm gì đó ( mà cũng chưa biết làm gì )
- 6th Generation Intel® Core™ i7 Processors
- 16GB DDR4 – 2133Mhz
Tính ra hiện tại đang dùng em nó cho Windows nhưng có lẽ không thật sự cần thiết. Em nó lại mạnh hơn i5-6400 hiện đang dùng làm selfhosted. Có nên đẩy selfhosted sang đây không ? Tiếc là không có HDD 2.5″ chỉ có NVMe Gen3 x 4 2 slots.
Grafana – Install Loki
A Loki-based logging stack consists of 3 components:
- Promtail is the agent, responsible for gathering logs and sending them to Loki.
- Loki is the main server, responsible for storing logs and processing queries.
- Grafana for querying and displaying the logs.
- Download Loki
wget https://github.com/grafana/loki/releases/download/v2.9.8/loki-linux-amd64.zip
chmod a+x loki-linux-amd64
sudo cp loki-linux-amd64 /usr/local/bin/loki
loki --version
- Create Systemd service
sudo nano /etc/systemd/system/loki.service
[Unit]
Description=Loki is a log aggregation system designed to store and query logs from all your applications and infrastructure.
Document=https://github.com/grafana/loki/releases
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/loki -config.file /mnt/data/loki/loki-config.yaml
Restart=on-failure
RestartSec=10
StandardOutput=append:/mnt/data/loki/logs/loki.log
StandardError=append:/mnt/data/loki/logs/loki.log
[Install]
WantedBy=multi-user.target
# This is a complete configuration to deploy Loki backed by the filesystem.
# The index will be shipped to the storage via tsdb-shipper.
auth_enabled: false
server:
http_listen_port: 3100
common:
ring:
instance_addr: 127.0.0.1
kvstore:
store: inmemory
replication_factor: 1
path_prefix: /mnt/data/loki
storage:
filesystem:
chunks_directory: /mnt/data/loki/chunks
rules_directory: /mnt/data/loki/rules
schema_config:
configs:
- from: 2020-05-15
store: tsdb
object_store: filesystem
schema: v13
index:
prefix: index_
period: 24h
storage_config:
filesystem:
directory: /mnt/data/loki/chunks