🚀 Автоматизирано изграждане на защитен хостинг с Cloudflare Tunnel & Docker

Ако притежавате собствен сървър (VPS или домашна машина) и искате да хоствате сайтове или инструменти за мониторинг, сигурността и лесната конфигурация често са предизвикателство. Представям ви един Bash скрипт, който прави всичко вместо вас – от генерирането на силни пароли до пълната настройка на изолирана Docker среда.
🛡️ Какво прави този скрипт?
Този инструмент е създаден за хора, които искат професионална среда с минимални усилия. Той автоматизира:
- Cloudflare Tunnel: Свързва сървъра ви с мрежата на Cloudflare без отваряне на портове (80/443) в рутера или защитната стена. Сървърът ви остава невидим за ботове и скенери.
- Uptime Kuma: Инсталира най-добрия инструмент за мониторинг на вашите сайтове и услуги.
- WordPress поддръжка: Възможност за автоматично вдигане на до 2 независими WordPress сайта с отделни бази данни.
- Модулна инсталация: Всеки компонент се избира независимо. Можете да инсталирате само WordPress, само Uptime Kuma, само тунела — или всичко заедно. При повторно стартиране скриптът засича вече инсталираното и пита само за новото.
- Максимална сигурност: Генерира уникални 24-символни пароли за всеки компонент и настройва правилни права за достъп до конфигурационните файлове.
- Healthchecks: Интелигентна проверка на състоянието на базата данни — сайтовете стартират едва когато MariaDB е напълно готова.
🛠️ Как да го използвате?
Целият процес отнема по-малко от минута. Влезте в терминала на вашия Linux сървър и изпълнете следните три стъпки:
1. Изтеглете скрипта:
wget https://gist.fedia.eu/urocibg/8edf74d152594176a1052308054ed36c/raw/HEAD/setup_hosting.sh
2. Дайте му права за изпълнение:
chmod +x setup_hosting.sh
3. Стартирайте инсталацията:
./setup_hosting.sh
📖
📋 Какво ще се случи?
Скриптът ще ви зададе няколко въпроса — поотделно за всеки компонент:
- Искате ли Cloudflare Tunnel? (и какъв метод — Token или Login)
- Искате ли Uptime Kuma?
- Колко WordPress сайта? (0, 1 или 2)
Ако стартирате скрипта повторно за да добавите нов компонент, той автоматично засича кое вече работи и пита само за новото — без да пипа съществуващата инсталация.
След като отговорите, скриптът генерира:
.envфайл с всички пароли (защитен с chmod 600)docker-compose.ymlс оптимизирани настройки- Инициализиращ SQL скрипт за базите данни
След това автоматично стартира всичко с docker compose up -d и показва адресите за достъп:
WordPress 1 : http://ВАШЕТО_IP:8081
WordPress 2 : http://ВАШЕТО_IP:8082
Uptime Kuma : http://ВАШЕТО_IP:3001
Не е нужно да пишете нищо допълнително — инфраструктурата ви е онлайн!
🌐 Конфигурация на Cloudflare Tunnel (ако е избран)
След инсталацията трябва да добавите публични адреси за всяка услуга в Cloudflare Dashboard:
- Влезте в dash.cloudflare.com → Zero Trust → Networks → Tunnels
- Намерете вашия тунел → Configure → Public Hostname
- Добавете по един hostname:
| Public Hostname | Service |
|---|---|
site1.вашдомейн.com | http://wp1:80 |
site2.вашдомейн.com | http://wp2:80 |
kuma.вашдомейн.com | http://uptime-kuma:3001 |
Cloudflare Tunnel се свързва директно по вътрешното Docker мрежово име на контейнера — без отворени портове към интернет.
Намерихте материала за полезен?
Съдържанието на itpraktika.com е безплатно и ще остане такова.
Ако статията ти е помогнала — можеш да подкрепиш сайта с малка доброволна сума.
Всяко дарение помага за поддръжката и развитието на портала.
