bolt Valebyte VPS от $4/мес — NVMe, запуск за 60 секунд.

Получить VPS arrow_forward

Kimai на VPS: установка, настройка и обслуживание

calendar_month 19 июня 2026 schedule 14 мин. чтения visibility 30 просмотров
person
Valebyte Team
Kimai на VPS: установка, настройка и обслуживание

Установка Kimai на VPS включает развертывание контейнеров Docker с приложением и базой данных, настройку реверс-прокси для доступа по доменному имени с поддержкой HTTPS, а также планирование регулярных бэкапов и обновлений для обеспечения стабильной работы самохостинга. Это позволяет получить полноценную систему учёта рабочего времени, полностью контролируемую вами.

Kimai – это мощное и гибкое веб-приложение с открытым исходным кодом, предназначенное для учёта рабочего времени, отслеживания проектов и управления клиентами. Оно идеально подходит для фрилансеров, малых и средних компаний, а также команд, которым требуется детальный контроль над затраченным временем и выставлением счетов. Развернув Kimai на собственном VPS, вы получаете полный контроль над данными, безопасностью и производительностью, избегая ограничений и абонентской платы облачных сервисов. В этой статье мы подробно разберем, как выполнить установку Kimai на вашем виртуальном сервере, используя Docker для максимальной простоты и переносимости.

Что такое Kimai и зачем он нужен на VPS?

Kimai – это современное кроссплатформенное решение для тайм-трекинга, которое помогает эффективно управлять рабочим временем. Оно позволяет записывать часы, потраченные на различные проекты и задачи, генерировать отчёты, выставлять счета и многое другое. Главное преимущество Kimai в его гибкости и возможности kimai self-hosted на собственном сервере, что обеспечивает независимость от сторонних поставщиков и полный суверенитет над вашими данными.

Ключевые возможности и преимущества Kimai

  • Гибкий тайм-трекинг: Записывайте время вручную или используйте встроенный секундомер. Возможность привязки времени к клиентам, проектам и задачам.
  • Управление клиентами и проектами: Создавайте и управляйте неограниченным количеством клиентов и проектов, назначайте ставки для каждого из них.
  • Детальные отчёты: Генерируйте настраиваемые отчёты по времени, затратам, прибыли, экспортируйте их в различных форматах (CSV, PDF, XLSX).
  • Выставление счетов: Интегрированные функции для создания счетов на основе учтённого времени.
  • Многопользовательская поддержка: Добавляйте пользователей с различными ролями и разрешениями (администратор, менеджер, пользователь).
  • Открытый исходный код: Полная прозрачность и возможность кастомизации под свои нужды.
  • API: RESTful API для интеграции с другими системами.
  • Плагины и расширения: Широкие возможности для расширения функционала.

Почему именно VPS для Kimai?

Выбор VPS-хостинга для Kimai на сервере обусловлен несколькими важными факторами. Виртуальный приватный сервер предоставляет идеальный баланс между стоимостью, производительностью и контролем. В отличие от обычного виртуального хостинга, VPS даёт вам root-доступ, что позволяет устанавливать любое необходимое программное обеспечение (например, Docker), настраивать системные параметры и обеспечивать безопасность на нужном уровне. Это критически важно для развертывания таких приложений, как Kimai, которые требуют специфической серверной среды.

Размещение kimai vps также гарантирует, что ваши данные будут храниться в выбранном вами дата-центре, соответствуя локальным или корпоративным требованиям конфиденциальности. Вы избавлены от рисков, связанных с политикой использования данных сторонних сервисов, и можете быть уверены в их безопасности. Кроме того, вы получаете предсказуемую производительность, не зависящую от "соседей" по серверу, что часто бывает проблемой на shared-хостингах. Это особенно важно при масштабировании, когда количество пользователей и данных в Kimai будет расти.

Системные требования Kimai: что нужно знать?

Прежде чем приступать к установке Kimai, важно понимать, какие ресурсы потребуются вашему виртуальному серверу. Kimai относительно нетребователен к ресурсам для небольших команд, но по мере роста числа пользователей и объёма данных, требования возрастают. Использование Docker упрощает управление зависимостями, но не отменяет необходимости в достаточном количестве CPU, RAM и дискового пространства.

Минимальные и рекомендуемые конфигурации для Kimai self-hosted

Kimai работает на PHP (версии 8.1 или выше) и требует базу данных (MySQL 8.0+, MariaDB 10.5+ или PostgreSQL 13+). Для работы с Docker вам также потребуется достаточно места для образов и контейнеров.

  • Минимальные требования (до 5 пользователей, небольшое количество проектов):
    • CPU: 1 vCore
    • RAM: 1 GB (минимум 512 MB для Kimai + 512 MB для ОС и Docker)
    • Диск: 20 GB NVMe (для ОС, Docker образов и данных)
    • Операционная система: Ubuntu 22.04+, Debian 11+
  • Рекомендуемые требования (до 20 пользователей, активное использование, отчёты):
    • CPU: 2 vCores
    • RAM: 2 GB
    • Диск: 40 GB NVMe
    • Операционная система: Ubuntu 22.04+, Debian 11+
  • Для больших команд (20+ пользователей, интенсивная работа, API-интеграции):
    • CPU: 4+ vCores
    • RAM: 4+ GB
    • Диск: 80+ GB NVMe
    • Операционная система: Ubuntu 22.04+, Debian 11+

Важно помнить, что NVMe-диски значительно ускоряют работу базы данных и приложения в целом, поэтому они предпочтительнее для kimai self-hosted.

Выбор операционной системы

Для развертывания Kimai на VPS через Docker наиболее оптимальным выбором являются дистрибутивы Linux, такие как Ubuntu Server (22.04 LTS и выше) или Debian (11 и выше). Эти ОС хорошо документированы, имеют широкую поддержку сообщества и стабильно работают с Docker. Ubuntu часто выбирают за простоту использования и актуальные пакеты, Debian – за стабильность и минимализм. В данной статье все команды будут представлены для систем на базе Debian/Ubuntu.

Ищете надёжный сервер для ваших проектов?

VPS от $10/мес и выделенные серверы от $9/мес с NVMe, DDoS-защитой и поддержкой 24/7.

Смотреть предложения →

Подготовка VPS к установке Kimai Docker

Перед тем как приступить к непосредственной установке Kimai, необходимо подготовить ваш виртуальный сервер. Это включает обновление системы, установку Docker и Docker Compose, а также настройку доменного имени.

Обновление системы и установка Docker/Docker Compose

Подключитесь к вашему VPS по SSH. Первым делом обновите пакеты системы, чтобы убедиться, что у вас установлены самые свежие версии ПО и патчи безопасности:

sudo apt update && sudo apt upgrade -y

Далее установите Docker. Рекомендуется использовать официальный репозиторий Docker для получения самой актуальной версии. Выполните следующие команды:

# Установка необходимых пакетов
sudo apt install ca-certificates curl gnupg lsb-release -y

# Добавление GPG-ключа Docker
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Добавление репозитория Docker
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Обновление индекса пакетов и установка Docker Engine
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Проверьте, что Docker установлен и запущен:

sudo systemctl status docker

Вы увидите статус "active (running)". Добавьте вашего пользователя в группу docker, чтобы не использовать sudo для каждой команды Docker:

sudo usermod -aG docker $USER
newgrp docker

Теперь вы можете проверить установку Docker, выполнив:

docker run hello-world

И убедиться, что Docker Compose плагин работает:

docker compose version

Настройка доменного имени и DNS

Для доступа к Kimai на сервере через браузер по красивому имени, а не по IP-адресу, вам потребуется доменное имя. Зарегистрируйте домен у любого регистратора и настройте A-запись, указывающую на IP-адрес вашего VPS. Например, если ваш домен yourdomain.com, вы можете создать поддомен kimai.yourdomain.com и направить его на IP вашего сервера. Убедитесь, что DNS-записи обновились (это может занять до нескольких часов).

rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Пошаговая установка Kimai на VPS с Docker Compose

Теперь, когда ваш VPS готов, можно приступить к установке Kimai Docker. Мы будем использовать Docker Compose для определения и запуска всех необходимых сервисов (Kimai, база данных).

Создание файла docker-compose.yml

Создайте директорию для ваших файлов Kimai и перейдите в неё:

mkdir -p ~/kimai
cd ~/kimai

Создайте файл docker-compose.yml с помощью текстового редактора (например, nano):

nano docker-compose.yml

Вставьте следующее содержимое. Это стандартная конфигурация для kimai self-hosted с использованием MySQL/MariaDB. Замените YOUR_DOMAIN.COM, YOUR_DB_PASSWORD, YOUR_DB_USER, YOUR_DB_NAME на свои значения.

version: '3.8'

services:
  database:
    image: mariadb:10.11
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - database_data:/var/lib/mysql
    networks:
      - kimai-network

  kimai:
    image: kimai/kimai2:latest
    restart: unless-stopped
    env_file:
      - .env
    depends_on:
      - database
    ports:
      - "8001:8000" # Kimai по умолчанию слушает порт 8000 внутри контейнера
    networks:
      - kimai-network

volumes:
  database_data:

networks:
  kimai-network:
    driver: bridge

Теперь создайте файл .env в той же директории. Этот файл будет содержать переменные окружения для базы данных и Kimai. Замените YOUR_DB_PASSWORD, YOUR_DB_USER, YOUR_DB_NAME на свои значения. Убедитесь, что пароль достаточно сложный.

nano .env
# Database configuration
DATABASE_URL=mysql://YOUR_DB_USER:YOUR_DB_PASSWORD@database:3306/YOUR_DB_NAME?serverVersion=10.11&charset=utf8mb4

# Kimai configuration
APP_ENV=prod
APP_SECRET=your_secret_key_here # Генерируйте уникальный ключ, например, "openssl rand -base64 32"
TRUSTED_HOSTS=^localhost$,^127\.0\.0\.1$,^YOUR_DOMAIN\.COM$ # Замените на ваш домен
MAILER_URL=smtp://user:[email protected]:587 # Опционально: для отправки почты Kimai

Для APP_SECRET сгенерируйте уникальный ключ, например, командой openssl rand -base64 32. TRUSTED_HOSTS должен включать ваш домен, через который вы будете получать доступ к Kimai. Например, если вы используете kimai.yourdomain.com, то строка будет TRUSTED_HOSTS=^localhost$,^127\.0\.0\.1$,^kimai\.yourdomain\.com$. Если вы используете несколько доменов или поддоменов, разделите их запятыми.

Запуск Kimai и первоначальная настройка

После создания файлов docker-compose.yml и .env, вы можете запустить Kimai:

docker compose up -d

Опция -d запускает контейнеры в фоновом режиме. Docker загрузит необходимые образы (MariaDB и Kimai), создаст контейнеры и запустит их. Это может занять несколько минут при первом запуске.

Проверьте статус запущенных контейнеров:

docker compose ps

Вы должны увидеть, что оба контейнера (kimai-database-1 и kimai-kimai-1) находятся в статусе "running".

Теперь Kimai доступен по IP-адресу вашего VPS и порту 8001 (например, http://ВАШ_IP_АДРЕС:8001). Откройте этот адрес в браузере. Вы должны увидеть страницу входа Kimai.

Стандартные учетные данные администратора для первого входа:

  • Имя пользователя: admin
  • Пароль: kimai

Обязательно смените эти учетные данные сразу после первого входа!

На этом этапе установка Kimai завершена. Однако, для безопасного и удобного доступа по доменному имени с HTTPS, потребуется настроить реверс-прокси.

Настройка Reverse Proxy и HTTPS для Kimai на сервере

Прямой доступ к Kimai по IP-адресу и нестандартному порту (8001) не является идеальным решением. Для профессионального развертывания Kimai на сервере рекомендуется использовать реверс-прокси (например, Nginx или Caddy) для маршрутизации трафика к контейнеру Kimai и обеспечения HTTPS-шифрования с помощью Let's Encrypt.

Использование Nginx в качестве Reverse Proxy

Nginx – это высокопроизводительный веб-сервер, который отлично подходит для роли реверс-прокси. Если Nginx еще не установлен на вашем VPS, установите его:

sudo apt install nginx -y

Создайте новый конфигурационный файл для вашего домена Kimai:

sudo nano /etc/nginx/sites-available/kimai.conf

Вставьте следующую конфигурацию, заменив kimai.yourdomain.com на ваш фактический домен:

server {
    listen 80;
    listen [::]:80;
    server_name kimai.yourdomain.com;

    # Перенаправление HTTP на HTTPS (позже будет настроено Certbot)
    # return 301 https://$host$request_uri;

    location / {
        proxy_pass http://localhost:8001; # Порт, на котором Kimai слушает внутри контейнера
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
        proxy_request_buffering off;
        proxy_http_version 1.1;
        proxy_read_timeout 900s;
        proxy_send_timeout 900s;
        proxy_connect_timeout 900s;
        proxy_redirect off;
    }
}

Сохраните файл и создайте символическую ссылку на него в sites-enabled:

sudo ln -s /etc/nginx/sites-available/kimai.conf /etc/nginx/sites-enabled/

Проверьте конфигурацию Nginx на ошибки и перезапустите его:

sudo nginx -t
sudo systemctl restart nginx

Теперь вы можете получить доступ к Kimai по вашему доменному имени (например, http://kimai.yourdomain.com). Следующий шаг – обеспечение HTTPS.

Автоматизация HTTPS с Let's Encrypt через Certbot

Let's Encrypt предоставляет бесплатные SSL/TLS сертификаты, а Certbot автоматизирует процесс их получения и установки. Установите Certbot и плагин для Nginx:

sudo apt install certbot python3-certbot-nginx -y

Запустите Certbot для вашего домена. Он автоматически найдет конфигурацию Nginx и настроит HTTPS:

sudo certbot --nginx -d kimai.yourdomain.com

Certbot задаст несколько вопросов (email, согласие с условиями). После успешного выполнения он автоматически обновит конфигурацию Nginx, добавив HTTPS и перенаправление с HTTP на HTTPS. Проверьте, что автоматическое обновление сертификатов работает:

sudo systemctl status certbot.timer

Теперь ваш kimai vps доступен по защищенному соединению HTTPS (https://kimai.yourdomain.com).

Альтернатива: Caddy для простоты

Для тех, кто ищет более простое решение для реверс-прокси и HTTPS, Caddy – отличный выбор. Caddy автоматически получает и обновляет сертификаты Let's Encrypt для всех настроенных доменов "из коробки".

Установите Caddy (инструкции могут немного отличаться в зависимости от ОС, но для Debian/Ubuntu обычно так):

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y

Создайте конфигурационный файл Caddyfile:

sudo nano /etc/caddy/Caddyfile

Замените содержимое на следующее, указав ваш домен:

kimai.yourdomain.com {
    reverse_proxy localhost:8001
}

Перезапустите Caddy:

sudo systemctl restart caddy

Caddy автоматически настроит HTTPS для вашего домена. Это значительно проще, чем ручная настройка Nginx и Certbot, но Nginx предлагает больше возможностей для тонкой настройки.

Обслуживание Kimai на VPS: бэкапы и обновления

Поддержка Kimai self-hosted в рабочем состоянии требует регулярного обслуживания, включающего резервное копирование данных и своевременные обновления. Эти шаги критически важны для обеспечения стабильности, безопасности и доступности вашего приложения.

Стратегии резервного копирования для Kimai self-hosted

Резервное копирование – это самый важный аспект обслуживания любого сервера. Для Kimai необходимо регулярно бэкапить два основных компонента:

  1. База данных: Содержит все записи о времени, клиентах, проектах, пользователях и настройках.
  2. Данные Kimai: Включают конфигурационные файлы, загруженные файлы (если Kimai их использует) и другие специфические данные приложения. В нашем случае, так как Kimai запущен в Docker, основные изменяемые файлы – это те, что хранятся в томах.

Для базы данных MariaDB/MySQL, запущенной в Docker, вы можете использовать команду mysqldump изнутри контейнера:

# Получить имя контейнера базы данных
DB_CONTAINER_NAME=$(docker compose ps -q database)

# Выполнить бэкап базы данных
docker exec $DB_CONTAINER_NAME sh -c 'exec mysqldump -u YOUR_DB_USER -pYOUR_DB_PASSWORD YOUR_DB_NAME' > ~/kimai_backup/kimai_db_$(date +%F).sql

Замените YOUR_DB_USER, YOUR_DB_PASSWORD, YOUR_DB_NAME на актуальные значения из вашего файла .env.

Для бэкапа томов Docker, где хранятся данные Kimai (если вы монтировали дополнительные тома для файлов, помимо базы данных):

# Создать архив директории с данными Kimai, если она содержит важные файлы
# Например, если вы используете локальный том для настроек или загруженных файлов
tar -czvf ~/kimai_backup/kimai_files_$(date +%F).tar.gz ~/kimai/

Рекомендуется автоматизировать этот процесс с помощью Cron-заданий. Например, для ежедневного бэкапа базы данных:

crontab -e

Добавьте строку (замените путь до скрипта и учетные данные):

0 3 * * * /bin/bash -c "DB_CONTAINER_NAME=$(docker compose ps -q database) && docker exec $DB_CONTAINER_NAME sh -c 'exec mysqldump -u YOUR_DB_USER -pYOUR_DB_PASSWORD YOUR_DB_NAME' > /path/to/your/kimai_backup/kimai_db_$(date +\%F).sql"

Для более комплексного подхода к резервному копированию на VPS, включая инкрементальные бэкапы и хранение на удаленных хранилищах, рассмотрите такие инструменты, как Restic. Это позволит обеспечить надежное хранение и быстрое восстановление в случае сбоев.

Процесс обновления Kimai Docker

Обновление Kimai, развернутого через Docker Compose, – это относительно простой процесс. Регулярные обновления важны для получения новых функций, исправлений ошибок и патчей безопасности.

Перед обновлением всегда делайте бэкап базы данных!

# Перейдите в директорию с docker-compose.yml
cd ~/kimai

# Остановите текущие контейнеры
docker compose down

# Удалите старые образы (опционально, но рекомендуется для чистоты)
docker compose rm -f

# Загрузите новые образы и запустите контейнеры
docker compose pull
docker compose up -d

После запуска новых контейнеров, Kimai автоматически выполнит необходимые миграции базы данных при первом запуске нового образа. Если вы столкнулись с проблемами после обновления, проверьте логи контейнера Kimai:

docker compose logs kimai

Если Kimai требует каких-либо дополнительных команд для миграции базы данных или очистки кеша после обновления, это обычно указывается в официальной документации Kimai. Например, иногда требуется выполнить:

docker compose exec kimai bin/console doctrine:migrations:migrate --no-interaction
docker compose exec kimai bin/console cache:clear

Однако, для большинства минорных обновлений, простое docker compose pull && docker compose up -d достаточно.

rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Выбор VPS-конфигурации для Kimai: реальные сценарии

Выбор правильной конфигурации kimai vps напрямую влияет на производительность и стоимость. Для kimai self-hosted важно найти баланс между достаточными ресурсами для комфортной работы и разумными затратами. Valebyte предлагает различные тарифные планы, которые могут подойти для Kimai под разные сценарии нагрузки.

Таблица сравнения VPS для Kimai под разную нагрузку

Ниже представлена таблица с рекомендациями по VPS-конфигурациям для Kimai, основанными на количестве пользователей и интенсивности использования. Цены являются ориентировочными и могут варьироваться.

Сценарий использования Пользователи vCPU RAM Диск (NVMe) Пример тарифа Valebyte* Ориентировочная цена/мес*
Персональный / Тестирование 1-3 1 1 GB 20 GB VPS-1 Core $5 - $7
Малая команда / Фриланс 4-10 2 2 GB 40 GB VPS-2 Core $10 - $15
Средняя команда / Активное использование 11-25 2-4 4 GB 80 GB VPS-4 Core $20 - $30
Крупная команда / Корпоративный 25+ 4-8 8+ GB 160+ GB VPS-8 Core $40+

*Цены и названия тарифов являются примером и могут отличаться от актуального предложения Valebyte. Всегда проверяйте текущие тарифы на сайте провайдера.

Важно помнить, что NVMe-диски значительно повышают скорость работы базы данных, что критически важно для производительности Kimai, особенно при генерации отчётов и большом количестве записей.

Рекомендации по масштабированию

По мере роста вашей команды и объёма данных в Kimai, возможно, потребуется масштабировать ваш VPS. Вот несколько советов:

  1. Мониторинг ресурсов: Регулярно отслеживайте загрузку CPU, использование RAM и дискового пространства на вашем VPS. Инструменты вроде htop, glances или Prometheus/Grafana помогут вам понять, какие ресурсы являются узким местом.
  2. Масштабирование RAM: Чаще всего первым узким местом становится оперативная память, особенно для базы данных. Увеличение RAM обычно даёт заметный прирост производительности.
  3. Масштабирование CPU: Если пользователи часто сталкиваются с задержками при выполнении сложных запросов или генерации отчётов, увеличение количества ядер CPU может помочь.
  4. Оптимизация базы данных: Убедитесь, что ваша база данных настроена оптимально. Для MariaDB/MySQL это может включать настройку innodb_buffer_pool_size и других параметров в my.cnf.
  5. Выбор более мощного VPS: Если текущий VPS не справляется, рассмотрите переход на более мощный тарифный план. Гибкость VPS-хостинга позволяет легко апгрейдить ресурсы без переустановки. Многие другие приложения для повышения продуктивности, такие как Kanboard или Invoice Ninja, также могут потребовать аналогичного подхода к масштабированию ресурсов.
  6. Очистка старых данных: Если Kimai используется долго, и вы не нуждаетесь в старых данных, рассмотрите возможность их архивации или удаления для поддержания производительности базы данных.

Выводы

Установка и настройка Kimai на VPS через Docker Compose — это эффективный способ получить мощную систему учета рабочего времени с полным контролем над данными. Важно не только правильно развернуть приложение, но и обеспечить его безопасность, регулярное резервное копирование и своевременные обновления. Выбирая VPS от Valebyte с NVMe-дисками, вы получите надежную основу для стабильной и быстрой работы вашего Kimai self-hosted решения, способного масштабироваться под растущие потребности вашей команды.

Готовы выбрать сервер?

VPS и выделенные серверы в 72+ странах с мгновенной активацией и полным root-доступом.

Начать сейчас →

Поделиться записью:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.