Как самостоятельно разместить Reactive-Resume: Полное руководство по созданию приватного конструктора резюме
Узнайте, как самостоятельно разместить Reactive-Resume — конструктор резюме с открытым кодом, который обеспечивает максимальную приватность. Пошаговое руководство с инструкциями по установке, настройке и оптимизации для вашего homelab.
Установка через Docker (рекомендуемый способ)
Использование Docker изолирует приложение и его зависимости, что упрощает установку и управление.
Шаг 1: Установка Docker
Установка Docker для Ubuntu, macOS или Windows
Для Ubuntu:
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
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
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $USER
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeШаг 2: Клонирование репозитория
Клонируем официальный репозиторий Reactive-Resume
git clone https://github.com/AmruthPillai/Reactive-Resume.git
cd Reactive-ResumeШаг 3: Настройка Docker Compose
Создаем файл docker-compose.yml с конфигурацией сервиса
version: '3.8'
services:
app:
image: amruthpillai/reactive-resume:latest
ports:
- "3000:3000"
environment:
- NODE_ENV=production
- MONGODB_URI=mongodb://mongo:27017/reactive-resume?authSource=admin
- REDIS_URL=redis://redis:6379
depends_on:
- mongo
- redis
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/api/health"]
interval: 30s
timeout: 10s
retries: 3
mongo:
image: mongo:6.0
environment:
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=securepassword
volumes:
- mongo-data:/data/db
restart: unless-stopped
redis:
image: redis:7.0-alpine
volumes:
- redis-data:/data
restart: unless-stopped
volumes:
mongo-data:
redis-data:Шаг 4: Настройка переменных окружения
Создаем файл .env с необходимыми переменными
MONGO_USERNAME=admin
MONGO_PASSWORD=securepassword
JWT_SECRET=your-super-secret-jwt-key-that-is-long-and-randomШаг 5: Запуск контейнеров
Запускаем приложение в фоновом режиме
docker-compose up -d
docker-compose psУстановка из исходного кода
Этот метод подходит для продвинутых пользователей, которым нужна более глубокая кастомизация приложения.
Шаг 1: Установка зависимостей
Установка Node.js и npm для Ubuntu
sudo apt update
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v # Должна быть 18.x или выше
npm -v # Должна быть 8.x или вышеШаг 2: Установка и настройка MongoDB
Установка MongoDB и создание пользователей
sudo apt update
sudo apt install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod
mongosh --eval "
use admin
db.createUser({
user: 'admin',
pwd: 'securepassword',
roles: ['userAdminAnyDatabase', 'dbAdminAnyDatabase', 'readWriteAnyDatabase']
})
use reactive-resume
db.createUser({
user: 'resume_user',
pwd: 'resume_password',
roles: ['readWrite']
})
"Шаг 3: Установка и настройка Redis
Установка и запуск Redis
sudo apt install -y redis-server
sudo systemctl start redis-server
sudo systemctl enable redis-server
redis-cli pingШаг 4: Настройка переменных окружения
Создаем .env файл с конфигурацией
NODE_ENV=production
PORT=3000
MONGODB_URI=mongodb://admin:securepassword@localhost:27017/reactive-resume?authSource=admin
REDIS_URL=redis://localhost:6379
JWT_SECRET=your-super-secret-jwt-key-that-is-long-and-randomШаг 5: Сборка и запуск
Собираем приложение и запускаем его через PM2
npm run build
sudo npm install -g pm2
pm2 start ecosystem.config.js --name "reactive-resume"
pm2 startup
pm2 saveНастройка после установки
Дополнительные шаги для полноценного развертывания
Настройка домена и HTTPS
Настройка Nginx как reverse proxy и установка SSL-сертификата
sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
# Настройка Nginx как reverse proxy
# Создать файл /etc/nginx/sites-available/reactive-resume с соответствующими настройками
# Установка Let's Encrypt SSL-сертификата
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com
# Добавить в cron для автоматического обновления:
0 12 * * * /usr/bin/certbot renew --quietОбновление экземпляра
Инструкция по обновлению Reactive-Resume
Через Docker:
docker-compose down
git pull origin main
docker-compose pull
docker-compose up -d
docker-compose ps
Из исходного кода:
pm2 stop reactive-resume
git pull origin main
npm install
npm run build
pm2 start ecosystem.config.js --name "reactive-resume"
pm2 status