mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-10-06 19:10:58 +02:00
feat(blocky): add alpine os (#17637)
* feat(blocky): add alpine os * Increase default RAM and disk for Alpine OS --------- Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
This commit is contained in:
+45
-8
@@ -9,22 +9,30 @@ source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_
|
|||||||
APP="Blocky"
|
APP="Blocky"
|
||||||
var_tags="${var_tags:-adblock}"
|
var_tags="${var_tags:-adblock}"
|
||||||
var_cpu="${var_cpu:-1}"
|
var_cpu="${var_cpu:-1}"
|
||||||
var_ram="${var_ram:-512}"
|
|
||||||
var_disk="${var_disk:-2}"
|
|
||||||
var_os="${var_os:-debian}"
|
|
||||||
var_version="${var_version:-13}"
|
|
||||||
var_arm64="${var_arm64:-yes}"
|
var_arm64="${var_arm64:-yes}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
if [[ -z "${var_os:-}" ]] && command -v pveversion >/dev/null 2>&1; then
|
||||||
|
var_os=$(msg_menu "Choose the container OS" \
|
||||||
|
"debian" "Debian 13" \
|
||||||
|
"alpine" "Alpine 3.24 (smaller footprint)")
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${var_os:-}" == "alpine" ]]; then
|
||||||
|
var_ram="${var_ram:-256}"
|
||||||
|
var_disk="${var_disk:-2}"
|
||||||
|
var_version="${var_version:-3.24}"
|
||||||
|
else
|
||||||
|
var_ram="${var_ram:-512}"
|
||||||
|
var_disk="${var_disk:-2}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
fi
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
update_deb_based() {
|
||||||
header_info
|
|
||||||
check_container_storage
|
|
||||||
check_container_resources
|
|
||||||
if [[ ! -d /opt/blocky ]]; then
|
if [[ ! -d /opt/blocky ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
@@ -46,6 +54,35 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
update_alpine() {
|
||||||
|
if [[ ! -d /opt/blocky ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
if check_for_gh_release "blocky" "0xERR0R/blocky"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
rc-service blocky stop
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
create_backup /opt/blocky/config.yml
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_Linux_$(arch_resolve "x86_64" "arm64").tar.gz"
|
||||||
|
restore_backup
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
rc-service blocky start
|
||||||
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Updated successfully!"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
run_os_update
|
||||||
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
build_container
|
build_container
|
||||||
description
|
description
|
||||||
|
|||||||
+83
-11
@@ -13,13 +13,14 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_Linux_$(arch_resolve "x86_64" "arm64").tar.gz"
|
setup_deb_based() {
|
||||||
|
fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_Linux_$(arch_resolve "x86_64" "arm64").tar.gz"
|
||||||
|
|
||||||
msg_info "Configuring Blocky"
|
msg_info "Configuring Blocky"
|
||||||
if systemctl is-active systemd-resolved >/dev/null 2>&1; then
|
if systemctl is-active systemd-resolved >/dev/null 2>&1; then
|
||||||
systemctl disable -q --now systemd-resolved
|
systemctl disable -q --now systemd-resolved
|
||||||
fi
|
fi
|
||||||
cat <<EOF >/opt/blocky/config.yml
|
cat <<EOF >/opt/blocky/config.yml
|
||||||
# configuration documentation: https://0xerr0r.github.io/blocky/latest/configuration/
|
# configuration documentation: https://0xerr0r.github.io/blocky/latest/configuration/
|
||||||
|
|
||||||
upstreams:
|
upstreams:
|
||||||
@@ -61,10 +62,10 @@ log:
|
|||||||
# optional: Log level (one from trace, debug, info, warn, error). Default: info
|
# optional: Log level (one from trace, debug, info, warn, error). Default: info
|
||||||
level: info
|
level: info
|
||||||
EOF
|
EOF
|
||||||
msg_ok "Configured Blocky"
|
msg_ok "Configured Blocky"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
cat <<EOF >/etc/systemd/system/blocky.service
|
cat <<EOF >/etc/systemd/system/blocky.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Blocky
|
Description=Blocky
|
||||||
After=network-online.target
|
After=network-online.target
|
||||||
@@ -80,8 +81,79 @@ ExecStart=/opt/blocky/./blocky --config config.yml
|
|||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
$STD systemctl enable -q --now blocky
|
$STD systemctl enable -q --now blocky
|
||||||
msg_ok "Created Service"
|
msg_ok "Created Service"
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_alpine() {
|
||||||
|
fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_Linux_$(arch_resolve "x86_64" "arm64").tar.gz"
|
||||||
|
|
||||||
|
msg_info "Configuring Blocky"
|
||||||
|
cat <<EOF >/opt/blocky/config.yml
|
||||||
|
# configuration documentation: https://0xerr0r.github.io/blocky/latest/configuration/
|
||||||
|
|
||||||
|
upstreams:
|
||||||
|
groups:
|
||||||
|
# these external DNS resolvers will be used. Blocky picks 2 random resolvers from the list for each query
|
||||||
|
# format for resolver: [net:]host:[port][/path]. net could be empty (default, shortcut for tcp+udp), tcp+udp, tcp, udp, tcp-tls or https (DoH). If port is empty, default port will be used (53 for udp and tcp, 853 for tcp-tls, 443 for https (Doh))
|
||||||
|
# this configuration is mandatory, please define at least one external DNS resolver
|
||||||
|
default:
|
||||||
|
# Cloudflare
|
||||||
|
- 1.1.1.1
|
||||||
|
# Quad9 DNS-over-TLS server (DoT)
|
||||||
|
- tcp-tls:dns.quad9.net
|
||||||
|
|
||||||
|
# optional: use allow/denylists to block queries (for example ads, trackers, adult pages etc.)
|
||||||
|
blocking:
|
||||||
|
# definition of denylist groups. Can be external link (http/https) or local file
|
||||||
|
denylists:
|
||||||
|
ads:
|
||||||
|
- https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
|
||||||
|
# definition: which groups should be applied for which client
|
||||||
|
clientGroupsBlock:
|
||||||
|
# default will be used, if no special definition for a client name exists
|
||||||
|
default:
|
||||||
|
- ads
|
||||||
|
|
||||||
|
# optional: write query information (question, answer, client, duration etc.) to daily csv file
|
||||||
|
queryLog:
|
||||||
|
# optional one of: mysql, postgresql, csv, csv-client. If empty, log to console
|
||||||
|
type:
|
||||||
|
|
||||||
|
# optional: use these DNS servers to resolve denylist urls and upstream DNS servers. It is useful if no system DNS resolver is configured, and/or to encrypt the bootstrap queries.
|
||||||
|
bootstrapDns:
|
||||||
|
- upstream: tcp-tls:one.one.one.one
|
||||||
|
ips:
|
||||||
|
- 1.1.1.1
|
||||||
|
|
||||||
|
# optional: logging configuration
|
||||||
|
log:
|
||||||
|
# optional: Log level (one from trace, debug, info, warn, error). Default: info
|
||||||
|
level: info
|
||||||
|
EOF
|
||||||
|
msg_ok "Configured Blocky"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/etc/init.d/blocky
|
||||||
|
#!/sbin/openrc-run
|
||||||
|
name="blocky"
|
||||||
|
description="Blocky Daemon"
|
||||||
|
command="/opt/blocky/blocky"
|
||||||
|
command_args="--config /opt/blocky/config.yml"
|
||||||
|
command_background="yes"
|
||||||
|
pidfile="/run/blocky.pid"
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
need net
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
chmod +x /etc/init.d/blocky
|
||||||
|
$STD rc-update add blocky default
|
||||||
|
$STD rc-service blocky start
|
||||||
|
msg_ok "Created Service"
|
||||||
|
}
|
||||||
|
|
||||||
|
run_os_setup
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
|
|||||||
Reference in New Issue
Block a user