проект-менеджер vikunja

22 марта 2026 11 admin

проект-менеджер vikunja


Встала тут задача - забабахать проект-менеджер.
Чтобы для нескольких пользователей. Уточнение - для сильно мобильных пользователей)

Сформулируем условия выбора:
- Бесплатное (оно же - свободное; желательно, open-source)
- Возможность устанавливать на свой сервер ( self-hosted )
- Наличие мобильных приложений - обязательно! ( android, ios )
- Наличие web-клиента (желательно)

Немного погуглив были выбраны два варианта - vikunja и OpenProject.
Прочитав внимательнее технические подробности было решено остановиться на vikunja - в силу бОльшей развитости как раз мобильных приложений: в vikunja мобильное приложение является полноценным инструментом - можно полноценно управлять проектами (создавать, добавлять и т.д.) Тогда как мобильные приложения в OpenProject - больше для просмотра (судя по описанию, как минимум)

А поводом написания статьи явилось отсутвие вменяемой статьи по установке серверной части vikunja. Вроде и для докера есть, и так, и сяк.. Но за три дня по инструкциям "на скорую руку" не получилось установить! Даже докер-вариант!!

Итак, погнали.

ОС - Ubuntu 22.04
Soft - vikunja v 2.2.0 ( self-hosted ) оф.сайт: vikunja.io

Шаг 0: Подготовка сервера
sudo apt update && sudo apt upgrade -y
sudo apt install -y wget unzip gpg openssl curl

Создайте пользователя для сервиса (рекомендуется для безопасности):
sudo useradd -r -s /bin/false vikunja
sudo mkdir -p /opt/vikunja /var/lib/vikunja
sudo chown vikunja:vikunja /opt/vikunja /var/lib/vikunja

Шаг 1: Скачивание и проверка подписи

Перейдите на страницу скачивания:
https://dl.vikunja.io/vikunja/v2.2.0/
Скачайте два файла:
vikunja-v2.2.0-linux-amd64-full.zip
vikunja-v2.2.0-linux-amd64-full.zip.sig
cd /tmp
wget https://dl.vikunja.io/vikunja/v2.2.0/vikunja-v2.2.0-linux-amd64-full.zip
wget https://dl.vikunja.io/vikunja/v2.2.0/vikunja-v2.2.0-linux-amd64-full.zip.sig

Проверка GPG-подписи (обязательно!):
gpg --keyserver keyserver.ubuntu.com --recv FF054DACD908493A
gpg --verify vikunja-v2.2.0-linux-amd64-full.zip.sig vikunja-v2.2.0-linux-amd64-full.zip

Должно быть: Good signature from "Kolaente "

Шаг 2: Установка бинарника
sudo mkdir -p /opt/vikunja
sudo unzip vikunja-v2.2.0-linux-amd64-full.zip -d /opt/vikunja
sudo chmod +x /opt/vikunja/vikunja-v2.2.0-linux-amd64
sudo ln -s /opt/vikunja/vikunja-v2.2.0-linux-amd64 /usr/bin/vikunja
sudo chown -R vikunja:vikunja /opt/vikunja

Шаг 3: Создание конфигурации /etc/vikunja/config.yml
sudo mkdir -p /etc/vikunja
sudo nano /etc/vikunja/config.yml

Минимальный рабочий конфиг (SQLite — для начала идеально):
service:
publicurl: http://ВАШ_IP:3456 # ← ОБЯЗАТЕЛЬНО измените! (или https://domain.com)
rootpath: /var/lib/vikunja
interface: ":3456"
enableregistration: true # false — если не хотите открытую регистрацию
JWTSecret: "ВАШ_СЛУЧАЙНЫЙ_СЕКРЕТ" # минимум 32 символа!

database:
type: sqlite
path: /var/lib/vikunja/vikunja.db

cors:
enable: true
origins:
- http://ВАШ_IP:3456
- https://ВАШ_ДОМЕН.com

Генерация JWTSecret:
openssl rand -hex 32

Вставьте результат вместо ВАШ_СЛУЧАЙНЫЙ_СЕКРЕТ.

Для PostgreSQL (рекомендуется в продакшене):
Сначала установите БД:
sudo apt install -y postgresql
sudo -u postgres psql -c "CREATE USER vikunja WITH PASSWORD 'СИЛЬНЫЙ_ПАРОЛЬ';"
sudo -u postgres psql -c "CREATE DATABASE vikunja OWNER vikunja;"

Затем в config.yml замените блок database:
database:
type: postgres
host: localhost
port: 5432
database: vikunja
user: vikunja
password: СИЛЬНЫЙ_ПАРОЛЬ
sslmode: disable

Права:
sudo chown vikunja:vikunja /etc/vikunja/config.yml
sudo chmod 600 /etc/vikunja/config.yml

Шаг 4: systemd-сервис
sudo nano /etc/systemd/system/vikunja.service

Вставляем туда:
[Unit]
Description=Vikunja
After=network.target

[Service]
Type=simple
User=vikunja
Group=vikunja
WorkingDirectory=/opt/vikunja
ExecStart=/usr/bin/vikunja
Restart=always
RestartSec=2s
Environment=VIKUNJA_CONFIG=/etc/vikunja/config.yml

[Install]
WantedBy=multi-user.target

Активируем:
sudo systemctl daemon-reload
sudo systemctl enable vikunja
sudo systemctl start vikunja
sudo systemctl status vikunja # должно быть active (running)

Посмотреть логи можно командой: journalctl -u vikunja -f

Шаг 5: Открываем порты и проверяем
sudo ufw allow 3456/tcp    # по умолчанию порт - 3456
sudo ufw reload

Откройте в браузере: http://ВАШ_IP:3456
Вы должны увидеть страницу регистрации. Создайте первого пользователя.

Шаг 6: Продакшен-режим (рекомендуется) — Nginx + HTTPS (Let’s Encrypt)

Ремарка: настройка домена, DNS и т.д. - не описана. Предположим, что все есть;)
sudo apt install -y nginx
sudo apt install -y python3-certbot-nginx # или snap install certbot

Создайте конфиг для nginx:
sudo nano /etc/nginx/sites-available/vikunja

и вставляем туда:
server {
listen 80;
server_name vikunja.ваш-домен.ru; # ← ваш домен!

location / {
proxy_pass http://127.0.0.1:3456;
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;
}
}

Делаем ссылку и проверяем конфигурацию nginx:
sudo ln -s /etc/nginx/sites-available/vikunja /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

Получаем SSL:

Примечание: к этому моменту домен/поддомен, dns и остальные настройки уже должны быть! сертификат делается на домен, поэтому, если домен не будет настроен сертификат установить не получится.
sudo certbot --nginx -d vikunja.ваш-домен.ru

В config.yml поменяйте publicurl: https://vikunja.ваш-домен.ru и перезапустите сервис:
sudo systemctl restart vikunja

Дополнительные советы

Обновление: скачайте новую версию → замените бинарник → sudo systemctl restart vikunja.
Бэкапы: /var/lib/vikunja/ + /etc/vikunja/config.yml (см. официальные инструкции по бэкапу).
Отключить регистрацию после первого пользователя: enableregistration: false.
Почта (для сброса пароля): добавьте блок mailer: в config.yml. https://freeserver.su/it/mailer-dlya-vikunja.html
Docker-альтернатива: если хотите проще — используйте официальный compose с https://vikunja.io/install/.
Если что-то не работает — вывод journalctl -u vikunja -n 100 и содержимое config.yml.

Плюхи:

service:
enableemailreminders: true # напоминания о задачах по email

# Если хотите, чтобы новые пользователи подтверждали email
service:
enableregistration: true
requireemailconfirmation: true # ← добавьте эту строку
  • 0

Другие новости по теме:

Другие новости по теме:

    Добавление комментария

    Имя:
    Пароль:
    Email:
    Код:
    captcha
    Введите код:

    Последнии комментарии
    library initialization failed - unable to allocate file descriptor table - out of memory
    Автор Tanesha (09.03.2026)
    Keep on working, great job!
    library initialization failed - unable to allocate file descriptor table - out of memory
    Автор Leatha (08.03.2026)
    certainly like your web site however you need to t...
    library initialization failed - unable to allocate file descriptor table - out of memory
    Автор Amie (06.03.2026)
    I couldn't resist commenting. Well written!
    library initialization failed - unable to allocate file descriptor table - out of memory
    Автор Susanna (04.03.2026)
    Великолепное игровая платформа, продолжайте в том ...
    library initialization failed - unable to allocate file descriptor table - out of memory
    Автор Benito (11.02.2026)
    Greate post. Keep writing such kind of info on you...
    library initialization failed - unable to allocate file descriptor table - out of memory
    Автор Noreen (11.02.2026)
    Just want to say your article is as amazing. The c...
    Что такое сны ?
    Автор admin (12.01.2026)
    stranger, Зато никогда не поздно)
    Рад, если у...
    Что такое сны ?
    Автор stranger (27.04.2025)
    Удивительная, просто удивительная статья!!!
    П...
    Обновление NetBSD до STABLE
    Автор www3 (14.06.2024)
    Много кто пользуется, но народ не очень словоохотл...
    Обновление NetBSD до STABLE
    Автор www2 (14.06.2024)
    anon, я пользуюсь.
     Популярные
       
    Календарь
    « Март »
    Пн Вт Ср Чт Пт Сб Вс
    1
    2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    30 31
    Яндекс.Метрика