Остання активність 1752392293

Професионален скрипт на български език за инсталиране на Nextcloud с Docker на Ubuntu.

urocibg ревизій цього gist 1752392293. До ревизії

1 file changed, 4 insertions

install_nextcloud_docker.sh

@@ -1,5 +1,9 @@
1 1 #!/bin/bash
2 2
3 + # Автор: Федя Серафиев
4 + # Сайт: https://urocibg.eu
5 + # Дата: $(date +%Y-%m-%d)
6 +
3 7 # Цветове за терминала
4 8 RED='\033[0;31m'
5 9 GREEN='\033[0;32m'

urocibg ревизій цього gist 1752391403. До ревизії

1 file changed, 155 insertions

install_nextcloud_docker.sh(файл створено)

@@ -0,0 +1,155 @@
1 + #!/bin/bash
2 +
3 + # Цветове за терминала
4 + RED='\033[0;31m'
5 + GREEN='\033[0;32m'
6 + YELLOW='\033[1;33m'
7 + BLUE='\033[0;34m'
8 + NC='\033[0m' # No Color
9 +
10 + # Функция за проверка на root потребител
11 + check_root() {
12 + if [ "$(id -u)" -ne 0 ]; then
13 + echo -e "${RED}Грешка: Този скрипт трябва да се изпълнява с root права!${NC}" >&2
14 + exit 1
15 + fi
16 + }
17 +
18 + # Функция за проверка на интернет връзка
19 + check_internet() {
20 + echo -e "${BLUE}Проверка на интернет връзка...${NC}"
21 + if ! ping -c 1 google.com &> /dev/null; then
22 + echo -e "${RED}Грешка: Няма интернет връзка! Моля, проверете мрежата.${NC}"
23 + exit 1
24 + fi
25 + echo -e "${GREEN}Интернет връзката е налична.${NC}"
26 + }
27 +
28 + # Функция за инсталиране на Docker
29 + install_docker() {
30 + echo -e "${BLUE}Проверка за инсталиран Docker...${NC}"
31 + if ! command -v docker &> /dev/null; then
32 + echo -e "${YELLOW}Docker не е инсталиран. Започва инсталация...${NC}"
33 +
34 + # Инсталиране на необходими пакети
35 + apt-get update
36 + apt-get install -y apt-transport-https ca-certificates curl software-properties-common
37 +
38 + # Добавяне на Docker GPG ключ
39 + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
40 +
41 + # Добавяне на Docker repository
42 + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
43 +
44 + # Инсталиране на Docker
45 + apt-get update
46 + apt-get install -y docker-ce docker-ce-cli containerd.io
47 +
48 + # Проверка на Docker инсталацията
49 + if docker --version &> /dev/null; then
50 + echo -e "${GREEN}Docker е успешно инсталиран.${NC}"
51 + else
52 + echo -e "${RED}Грешка при инсталация на Docker!${NC}"
53 + exit 1
54 + fi
55 + else
56 + echo -e "${GREEN}Docker вече е инсталиран.${NC}"
57 + fi
58 + }
59 +
60 + # Функция за инсталиране на Docker Compose
61 + install_docker_compose() {
62 + echo -e "${BLUE}Проверка за инсталиран Docker Compose...${NC}"
63 + if ! command -v docker-compose &> /dev/null; then
64 + echo -e "${YELLOW}Docker Compose не е инсталиран. Започва инсталация...${NC}"
65 +
66 + # Изтегляне на Docker Compose
67 + curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
68 +
69 + # Права за изпълнение
70 + chmod +x /usr/local/bin/docker-compose
71 +
72 + # Проверка на инсталацията
73 + if docker-compose --version &> /dev/null; then
74 + echo -e "${GREEN}Docker Compose е успешно инсталиран.${NC}"
75 + else
76 + echo -e "${RED}Грешка при инсталация на Docker Compose!${NC}"
77 + exit 1
78 + fi
79 + else
80 + echo -e "${GREEN}Docker Compose вече е инсталиран.${NC}"
81 + fi
82 + }
83 +
84 + # Функция за създаване на Docker Compose файл за Nextcloud
85 + create_docker_compose() {
86 + echo -e "${BLUE}Създаване на Docker Compose файл за Nextcloud...${NC}"
87 +
88 + cat > docker-compose.yml <<EOF
89 + version: '3'
90 +
91 + services:
92 + db:
93 + image: mariadb:10.5
94 + restart: always
95 + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
96 + volumes:
97 + - db_data:/var/lib/mysql
98 + environment:
99 + - MYSQL_ROOT_PASSWORD=nextcloud_root_password
100 + - MYSQL_PASSWORD=nextcloud_password
101 + - MYSQL_DATABASE=nextcloud
102 + - MYSQL_USER=nextcloud
103 +
104 + app:
105 + image: nextcloud
106 + restart: always
107 + ports:
108 + - 8080:80
109 + links:
110 + - db
111 + volumes:
112 + - nextcloud_data:/var/www/html
113 + environment:
114 + - MYSQL_PASSWORD=nextcloud_password
115 + - MYSQL_DATABASE=nextcloud
116 + - MYSQL_USER=nextcloud
117 + - MYSQL_HOST=db
118 +
119 + volumes:
120 + db_data:
121 + nextcloud_data:
122 + EOF
123 +
124 + echo -e "${GREEN}Docker Compose файлът е създаден успешно.${NC}"
125 + }
126 +
127 + # Функция за стартиране на Nextcloud
128 + start_nextcloud() {
129 + echo -e "${BLUE}Стартиране на Nextcloud с Docker Compose...${NC}"
130 + docker-compose up -d
131 +
132 + echo -e "${GREEN}Nextcloud е стартиран успешно!${NC}"
133 + echo -e "${YELLOW}Можете да достъпите Nextcloud на: http://$(hostname -I | awk '{print $1}'):8080${NC}"
134 + echo -e "${YELLOW}Потребителско име: admin${NC}"
135 + echo -e "${YELLOW}Парола: ще бъде зададена при първо влизане${NC}"
136 + }
137 +
138 + # Главна функция
139 + main() {
140 + echo -e "${BLUE}╔════════════════════════════════════════╗${NC}"
141 + echo -e "${BLUE}║ ИНСТАЛАЦИЯ НА NEXTCLOUD С DOCKER ║${NC}"
142 + echo -e "${BLUE}╚════════════════════════════════════════╝${NC}"
143 +
144 + check_root
145 + check_internet
146 + install_docker
147 + install_docker_compose
148 + create_docker_compose
149 + start_nextcloud
150 +
151 + echo -e "${GREEN}Инсталацията завърши успешно!${NC}"
152 + }
153 +
154 + # Стартиране на главната функция
155 + main
Новіше Пізніше