Установка Nextcloud: Self-Hosted облачное хранилище и совместная работа
Установка Nextcloud с Docker, настройка Apache/Nginx, установка базы данных, SSL-сертификат, синхронизация файлов, магазин приложений и оптимизация производительности.
Установка Coolify, интеграция Docker и Git, развёртывание приложений, управление базами данных, SSL-сертификаты, переменные окружения и self-hosted PaaS как альтернатива Heroku/Netlify.
Coolify — это open-source, self-hosted альтернатива облачным платформам, таким как Heroku, Netlify и Vercel. С Coolify на собственном сервере вы можете легко управлять приложениями, базами данных и сервисами. Эта платформа на основе Docker поддерживает автоматическое развёртывание при пуше кода через интеграцию с Git.
Coolify — современное PaaS-решение, позволяющее управлять несколькими серверами и приложениями из единого интерфейса. Ключевые возможности:
Установка Coolify выполняется одной командой curl:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
Скрипт установки автоматически выполняет:
После установки откройте в браузере:
http://IP_СЕРВЕРА:8000
При первоначальной настройке вам будет предложено создать учётную запись администратора. Установите надёжный пароль.
При первом входе установите email и пароль. Эти данные хранятся в базе данных Coolify.
Coolify автоматически добавляет сервер, на котором он установлен (localhost). Для добавления дополнительных серверов:
# Создайте SSH-ключ для подключения Coolify к удалённым серверам
ssh-keygen -t ed25519 -C "coolify@myserver"
# Добавьте публичный ключ на удалённый сервер
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@remote-server
http://IP_СЕРВЕРА:8000/auth/github# Создайте Personal Access Token на GitLab
# Необходимые scope: api, read_user, read_repository
# Пример: Dockerfile для Node.js приложения
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
Перейдите на вкладку Environment Variables в настройках приложения:
# Примеры переменных окружения
NODE_ENV=production
DATABASE_URL=postgresql://user:pass@db:5432/myapp
REDIS_URL=redis://redis:6379
SECRET_KEY=ваш-секретный-ключ
PORT=3000
Добавляйте конфиденциальные данные (API-ключи, пароли) как переменные окружения. Никогда не записывайте их в исходный код.
app.example.comapp.example.com → IP_СЕРВЕРА# Проверьте DNS-запись
nslookup app.example.com
dig app.example.com A
# Данные подключения к PostgreSQL в Coolify
# Внутренний URL (для приложений на том же сервере):
postgresql://coolify:пароль@postgres:5432/mydb
# Внешний URL (для внешнего доступа):
postgresql://coolify:пароль@IP_СЕРВЕРА:ПОРТ/mydb
# New Resource → Database → Redis
# Версия: 7.x
# Внутреннее подключение:
redis://default:пароль@redis:6379
Coolify предлагает функцию автоматического резервного копирования:
# Ручное резервное копирование
coolify backup create --database postgres-id
# Список резервных копий
coolify backup list
Вы можете импортировать существующие файлы docker-compose.yml напрямую в Coolify:
# Пример docker-compose.yml
version: '3.8'
services:
app:
image: myapp:latest
environment:
- NODE_ENV=production
- DATABASE_URL=${DATABASE_URL}
ports:
- "3000:3000"
depends_on:
- db
db:
image: postgres:16
environment:
POSTGRES_DB: myapp
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
Настройте вебхуки для автоматического развёртывания после git push:
# Настройки GitHub Webhook:
# Payload URL: https://coolify.example.com/webhooks/github
# Content type: application/json
# Secret: Секрет, скопированный из Coolify
# Events: Push events
# Обновить Coolify до последней версии
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
# Или через веб-интерфейс:
# Settings → Updates → Update Coolify
# Просмотр логов Coolify
docker logs coolify
# Список всех контейнеров Coolify
docker ps | grep coolify
# Перезапуск Coolify
docker restart coolify
# Логи прокси (Traefik)
docker logs coolify-proxy
Coolify отлично работает на VPS-серверах REXE. С 4 ГБ ОЗУ и 2 vCPU вы можете легко управлять проектами малого и среднего масштаба.
Скрипт установки Coolify обнаруживает существующие установки Docker. Если у вас старая версия Docker, сначала удалите её командой 'apt remove docker docker-engine docker.io containerd runc', затем снова запустите установку Coolify.
Откройте порт 8000 в брандмауэре сервера: 'ufw allow 8000/tcp'. Если вы используете облачного провайдера (AWS, GCP, Azure), также проверьте правила группы безопасности/брандмауэра. Убедитесь, что контейнер Coolify запущен: 'docker ps | grep coolify'.
Проверьте логи сборки в интерфейсе Coolify (Deployments → последнее развёртывание → Logs). Если используете Nixpacks, убедитесь, что в корневом каталоге проекта есть package.json, requirements.txt или Dockerfile. Проверьте правильность определения переменных окружения.
Проверьте, что DNS-запись домена правильно указывает на IP сервера (nslookup domain.com). Убедитесь, что Let's Encrypt может получить доступ к портам 80 и 443. Проверьте логи прокси Coolify (Traefik): 'docker logs coolify-proxy'. Распространение DNS может занять до 24 часов.
Добавляйте новые серверы через меню Servers. Для каждого сервера необходимо определить SSH-ключ. Coolify подключается к удалённым серверам через SSH и выполняет команды Docker. Между серверами нет общих ресурсов; каждый сервер работает независимо.
Добавьте S3-совместимое хранилище через меню Settings → Backup. Вы можете использовать AWS S3, Cloudflare R2 или MinIO. Введите имя бакета, Access Key, Secret Key и URL эндпоинта. Затем настройте расписание автоматического резервного копирования в настройках базы данных.
Установка Nextcloud с Docker, настройка Apache/Nginx, установка базы данных, SSL-сертификат, синхронизация файлов, магазин приложений и оптимизация производительности.
Установка Portainer CE, управление Docker и Kubernetes, развёртывание стеков, управление томами/сетями, авторизация пользователей, вебхуки и интеграция GitOps.
Установка Uptime Kuma с Docker, мониторинг HTTP/TCP/DNS/ping, интеграции уведомлений (Telegram, Discord, email), создание страницы статуса и настройка оповещений.