Files
umbrix/update-server/install-gitea.sh
Umbrix Developer 95383d09fc
Some checks failed
CI / run (push) Waiting to run
Upload store MSIX to release / upload-store-msix-to-release (push) Has been cancelled
feat: update to v1.7.3 with smart asset detection and auto-install
2026-01-18 20:14:19 +03:00

148 lines
4.8 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
set -e
# Цвета для вывода
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo -e "${GREEN}=== Установка Gitea на сервере ===${NC}"
# Проверка root
if [ "$EUID" -ne 0 ]; then
echo -e "${RED}Запустите скрипт с sudo${NC}"
exit 1
fi
# 1. Обновление системы
echo -e "${YELLOW}[1/7] Обновление системы...${NC}"
apt update && apt upgrade -y
# 2. Установка Docker
echo -e "${YELLOW}[2/7] Установка Docker...${NC}"
if ! command -v docker &> /dev/null; then
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
rm get-docker.sh
systemctl enable docker
systemctl start docker
echo -e "${GREEN}✓ Docker установлен${NC}"
else
echo -e "${GREEN}✓ Docker уже установлен${NC}"
fi
# 3. Установка Docker Compose
echo -e "${YELLOW}[3/7] Установка Docker Compose...${NC}"
if ! command -v docker-compose &> /dev/null; then
apt install -y docker-compose
echo -e "${GREEN}✓ Docker Compose установлен${NC}"
else
echo -e "${GREEN}✓ Docker Compose уже установлен${NC}"
fi
# 4. Создание директорий
echo -e "${YELLOW}[4/7] Создание директорий...${NC}"
mkdir -p /opt/gitea/{gitea/data,gitea/postgres,nginx/ssl}
cd /opt/gitea
# 5. Создание docker-compose.yml
echo -e "${YELLOW}[5/7] Создание конфигурации Docker...${NC}"
cat > docker-compose.yml <<'EOF'
version: "3"
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea_secure_pass_2026
- GITEA__server__DOMAIN=85.208.139.84
- GITEA__server__ROOT_URL=http://85.208.139.84:3000
- GITEA__server__SSH_DOMAIN=85.208.139.84
- GITEA__server__SSH_PORT=2222
- GITEA__service__DISABLE_REGISTRATION=true
- GITEA__service__REQUIRE_SIGNIN_VIEW=false
restart: always
networks:
- gitea
volumes:
- ./gitea/data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "2222:22"
depends_on:
- db
db:
image: postgres:14-alpine
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea_secure_pass_2026
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- ./gitea/postgres:/var/lib/postgresql/data
networks:
gitea:
external: false
EOF
# 6. Настройка firewall
echo -e "${YELLOW}[6/7] Настройка firewall...${NC}"
if command -v ufw &> /dev/null; then
ufw allow 3000/tcp
ufw allow 2222/tcp
echo -e "${GREEN}✓ Firewall настроен${NC}"
else
echo -e "${YELLOW}⚠ UFW не установлен, убедитесь что порты 3000 и 2222 открыты${NC}"
fi
# 7. Запуск Gitea
echo -e "${YELLOW}[7/7] Запуск Gitea...${NC}"
docker-compose up -d
# Ожидание запуска
echo -e "${YELLOW}Ожидание запуска сервисов...${NC}"
sleep 10
# Проверка статуса
if docker ps | grep -q gitea; then
echo -e "${GREEN}"
echo "╔════════════════════════════════════════════════════════════╗"
echo "║ ✓ Gitea успешно установлен и запущен! ║"
echo "╚════════════════════════════════════════════════════════════╝"
echo ""
echo "🌐 Откройте браузер: http://85.208.139.84:3000"
echo ""
echo "📝 Первоначальная настройка:"
echo " - Database Type: PostgreSQL"
echo " - Host: db:5432"
echo " - Username: gitea"
echo " - Password: gitea_secure_pass_2026"
echo " - Database Name: gitea"
echo ""
echo "👤 Первый зарегистрированный пользователь = админ"
echo ""
echo "📊 Управление контейнерами:"
echo " docker-compose logs -f # Логи"
echo " docker-compose ps # Статус"
echo " docker-compose restart # Перезапуск"
echo " docker-compose down # Остановка"
echo "${NC}"
else
echo -e "${RED}✗ Ошибка запуска Gitea. Проверьте логи: docker-compose logs${NC}"
exit 1
fi