Documentation

Documentation

Usage patterns, operational recommendations, and direct command examples for helper.sh scripts.

Publishing model

  • Each script has a human-readable landing page and a raw file URL.
  • Use raw URLs in terminal automation and page URLs for handoff or review.
  • Document operational assumptions next to the executable command.

Quick start

helper.sh publishes scripts as plain text files so they can be inspected, downloaded, or piped into bash depending on your operational policy.

curl -fL 'https://www.helper.sh/install_redis705_base_docker.sh' -o './install_redis705_base_docker.sh'
curl -fL 'https://www.helper.sh/install_workerman3524_base_docker.sh' -o './install_workerman3524_base_docker.sh'
curl -fL 'https://www.helper.sh/hello.sh' -o './hello.sh'
curl -fL 'https://www.helper.sh/docker-data-move.sh' -o './docker-data-move.sh'
curl -fL 'https://www.helper.sh/install_docker_ubuntu_2404.sh' -o './install_docker_ubuntu_2404.sh'
curl -fL 'https://www.helper.sh/install_nginx_base_docker.sh' -o './install_nginx_base_docker.sh'
curl -fL 'https://www.helper.sh/install_mysql57_base_docker.sh' -o './install_mysql57_base_docker.sh'
curl -fL 'https://www.helper.sh/install_php72_base_docker.sh' -o './install_php72_base_docker.sh'
curl -fL 'https://www.helper.sh/install_openvpn_server_centos.sh' -o './install_openvpn_server_centos.sh'
curl -fL 'https://www.helper.sh/install_openvpn_client_ubuntu.sh' -o './install_openvpn_client_ubuntu.sh'
curl -fL 'https://www.helper.sh/install_openvpn_client_centos7.sh' -o './install_openvpn_client_centos7.sh'
curl -fL 'https://www.helper.sh/install_openvpn_client_anolis8.sh' -o './install_openvpn_client_anolis8.sh'
curl -fL 'https://www.helper.sh/disable_openvpn_client_dns.sh' -o './disable_openvpn_client_dns.sh'
curl -fL 'https://www.helper.sh/switch-centos7-repo.sh' -o './switch-centos7-repo.sh'
curl -fL 'https://www.helper.sh/optimize_centos7_ssh.sh' -o './optimize_centos7_ssh.sh'
curl -fL 'https://www.helper.sh/centos_disable_password_ssh.sh' -o './centos_disable_password_ssh.sh'
curl -fL 'https://www.helper.sh/install_bleachwrt_docker_centos7.sh' -o './install_bleachwrt_docker_centos7.sh'
curl -fL 'https://www.helper.sh/tree-to-file.sh' -o './tree-to-file.sh'

Per-script docs

Available usage guides

install_redis705_base_docker.sh

A Docker-based one-shot installer for Redis 7.0.5 that prepares /data/redis7.0.5 and starts a host-mounted cache container.

install_workerman3524_base_docker.sh

A legacy Workerman/PHP 7.2 build example: application files are copied into an image and only logs is bind-mounted. App edits require rebuilding and replacing the container.

hello.sh

A small Bash delivery check that prints uname output and fixed messages.

docker-data-move.sh

An interactive helper that migrates Docker data-root onto a larger disk with path checks, backups, and verification.

install_docker_ubuntu_2404.sh

A one-shot installer for Docker Engine and Docker Compose on Ubuntu 24.04.4 LTS, published through helper.sh.

install_nginx_base_docker.sh

A Docker Nginx 1.22.1 starter that creates a persistent host layout and publishes ports 80/443; its default configuration serves HTTP only.

install_mysql57_base_docker.sh

A Docker-based one-shot installer for MySQL 5.7 that prepares /data/mysql5.7 and starts a host-mounted database container.

install_php72_base_docker.sh

A Docker-based one-shot installer for PHP 7.2 that prepares /data/php7.2 and starts a host-mounted PHP-FPM container.

install_openvpn_server_centos.sh

A CentOS 7-specific OpenVPN server example with fixed LAN routing, username/password authentication and firewall changes.

install_openvpn_client_ubuntu.sh

A helper.sh-hosted Ubuntu OpenVPN client installer that checks for local client.conf and login.txt, installs OpenVPN, optionally copies a local update-resolv-conf helper, and enables a systemd client service.

install_openvpn_client_centos7.sh

CentOS 7 OpenVPN client setup with optional local credentials and DNS hooks. Package installation alone does not establish a tunnel.

install_openvpn_client_anolis8.sh

Anolis OS 8 OpenVPN client setup with optional local credentials and DNS hooks. Package installation alone does not establish a tunnel.

disable_openvpn_client_dns.sh

Comments matching DNS hooks in a selected OpenVPN client config and attempts a service restart. Existing resolver state is not automatically restored.

switch-centos7-repo.sh

A CentOS 7 repository switch helper for replacing outdated or unreachable yum mirrors with usable sources.

optimize_centos7_ssh.sh

A CentOS 7 SSH maintenance script that disables reverse DNS lookup and GSSAPI auth, selects IPv4, validates sshd_config, and restarts sshd.

centos_disable_password_ssh.sh

A CentOS SSH hardening script that checks for a non-empty authorized_keys file, disables password login, keeps public key auth enabled, validates sshd_config, and reloads sshd.

install_bleachwrt_docker_centos7.sh

A legacy CentOS 7 LAN lab example using a privileged OpenWrt-compatible container and macvlan. Review host-wide network changes first.

tree-to-file.sh

Exports the current directory to tree.txt; may install tree or use a fallback with different filters. Review overwrite, hidden-name and incomplete-output risks first.

Platform pages

Browse by system and host role

Start from platform pages when your search begins with an operating system, a host type, or a delivery baseline.

Platform pages

Ubuntu 24.04 scripts

Check Ubuntu version, systemd and repository access before selecting the Docker or OpenVPN installer.

Platform pages

Anolis OS 8 scripts

Review the Anolis 8/dnf OpenVPN branch and general maintenance prerequisites; compatibility is not inferred from RHEL branding alone.

Platform pages

Docker host setup

Scripts that prepare the host layer before service containers are installed, including Docker engine setup and Docker data layout maintenance.

Platform pages

Docker service stack scripts

A grouped view of the helper.sh service installers for Nginx, MySQL, Redis, PHP, and Workerman on Docker. The fixed versions include end-of-life components; use these pages for compatibility work and review upgrade options before new deployments.

Platform pages

CentOS 7 scripts

Recovery scripts for existing CentOS Linux 7 hosts. CentOS Linux 7 reached end of life on June 30, 2024; use these only for compatibility, recovery, or migration preparation, not as a new baseline.

Topic pages

Browse grouped operational topics

Use topic pages when you want to navigate by scenario instead of by script filename.

Topic pages

CentOS 7: choose a recovery task

Separate repository failures, SSH access problems and Docker storage pressure before changing an end-of-life host.

Topic pages

Ubuntu: prepare Docker or VPN access

Choose host installation, client access or an existing Docker service without treating old application images as a default new stack.

Topic pages

Docker services: check the interface and retained state

Choose by protocol, data directory and replacement impact: HTTP, SQL, cache, FastCGI or an image-baked application.

Topic pages

OpenVPN: distinguish tunnel, route and DNS failures

Choose the distribution-specific client and inspect resolver ownership before changing DNS hooks.

Topic pages

Legacy PHP: separate runtime compatibility from application readiness

Use PHP 7.2 and Workerman 3.5.24 examples for inherited compatibility work with an upgrade plan.

Problem pages

Jump straight to common questions

Use these pages when the user starts from a problem description, not from a script name.

Problem pages

CentOS 7 yum 404: inspect the failing repository first

Distinguish an archived CentOS mirror from a third-party URL, DNS, TLS or network failure before rewriting repo files.

Problem pages

OpenVPN connects but internal DNS fails

Inspect the configured hook and active resolver manager before changing files or restarting the tunnel.

Problem pages

Workerman says completed but HTTP readiness failed

Separate build, container startup, the optional curl probe and application validation before another replacement.

Problem pages

Why MySQL 5.7 keeps old credentials after container replacement

The helper reuses /data/mysql5.7/data when replacing mysql57. MySQL initializes accounts only for an empty data directory, so changing install variables does not reset an existing database.

Problem pages

Why is CentOS 7 SSH login so slow

The usual causes are reverse DNS lookup, GSSAPI auth negotiation, and sometimes IPv6 fallback. Disable those waits before doing deeper SSH troubleshooting.

Problem pages

Why can I not connect after disabling SSH password login on CentOS

The usual cause is disabling PasswordAuthentication before confirming that the target account already has a working authorized_keys file and a successful key-based login test.