Skip to content

Gratio-tech/ServerConfig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Server Auto-Deploy Script

Скрипты для быстрой базовой настройки VPS/VDS (Debian/Ubuntu/RHEL).


Структура файлов

  • deploy.sh — основной скрипт (поддерживает локальный и удаленный запуск).
  • setup_nginx.sh — модуль настройки Nginx.
  • setup_firewall.sh — модуль настройки Firewall.
  • utils.sh — общие функции и валидация.
  • configs — папка с конфигами:

Основные возможности

  • Модульность: Возможность пропустить базовую настройку и запустить только нужные этапы (Nginx, Firewall).
  • Remote Deploy: Автоматическое копирование проекта и запуск на удаленном сервере одной командой.
  • Security: Смена порта SSH, Fail2Ban, настройка Firewall (UFW/Firewalld) с поддержкой сокращений (a/d).
  • System: Hostname, Timezone, IPv6 off, оптимизация journald, интерактивный Swap.
  • Software: Установка Docker, Nginx, NVM, Certbot.

Инструкция по использованию

1. Удаленный запуск (с вашей машины)

Если у вас установлен Git Bash (Windows) или Linux/macOS, не нужно вручную копировать файлы. Запустите:

chmod +x deploy.sh
./deploy.sh -remote

Скрипт запросит IP, порт и пользователя, сам создаст временную папку на сервере, скопирует структуру и запустит установку.

2. Локальный запуск (на сервере)

Если файлы уже на сервере:

chmod +x deploy.sh
sudo ./deploy.sh

Настройка конфигураций

Firewall (configs/firewall.conf)

Формат: действие|направление|порт/протокол. Поддерживаются сокращения: allow (a), deny (d).

allow|in|80/tcp
a|in|443/tcp

Nginx (configs/nginx_base.conf)

Используйте переменную {{DOMAIN}} в шаблоне. Скрипт автоматически заменит её на введенный вами домен.


Возможные проблемы

При попытке запуска скрипта на хосте:

 -bash: ./deploy.sh: cannot execute: required file not found

Проверьте как сохранены переносы строк в файле (если правили скрипт на Windows машине, могли сохраниться в формате CRLF).

Для смены переносов строк на LF прямо на сервере запустите в папке куда копировали скрипт:

sed -i 's/\r$//' deploy.sh setup_firewall.sh setup_nginx.sh utils.sh

About

Scripts for basic server setup for your projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages