SSD Nodes Learn 🎉 VPS od $5.50/mies.
Przewodniki Matt ConnorAutor: Matt Connor · Zaktualizowano 2026-08-13

Alternatywy dla Trello z własnym hostingiem: porównanie

Porównanie narzędzi Planka, Vikunja, Focalboard, Wekan oraz Kanboard. Sprawdź zużycie pamięci RAM, wsparcie dla SSO, opcje importu danych oraz status utrzymania projektów.

Którą alternatywę dla Trello z własnym hostingiem wybrać?

Warto rozważyć trzy alternatywy dla Trello z własnym hostingiem: Planka, jeśli wymagany jest układ tablic identyczny jak w Trello oraz możliwość importu plików z tego narzędzia; Vikunja, gdy zespół potrzebuje logowania jednokrotnego (SSO) i funkcji wykraczających poza tablice; oraz Kanboard, gdy VPS (virtual private server) dysponuje ograniczonymi zasobami. Nie należy rozpoczynać nowego projektu na Focalboard. Jego samodzielny serwer nie doczekał się wydania od 783 dni, a plik README zawiera obecnie prośbę o zgłoszenie się nowego opiekuna projektu.

Wekan jest piątym z 5 wymienionych tutaj narzędzi. Działa poprawnie, jednak zużywa kilkukrotnie więcej pamięci niż pozostałe rozwiązania. Każda wersja, licencja oraz data poniżej zostały zweryfikowane 5 sierpnia 2026.

Ile pamięci RAM wymaga każde narzędzie do zarządzania zadaniami?

ChartTypical idle memory per stack in MB, Docker on Ubuntu 24.04
The data behind this chart
[
  {
    "tool": "Planka + Postgres",
    "idle_memory_mb": 280
  },
  {
    "tool": "Vikunja + SQLite",
    "idle_memory_mb": 110
  },
  {
    "tool": "Focalboard + SQLite",
    "idle_memory_mb": 120
  },
  {
    "tool": "Wekan + FerretDB",
    "idle_memory_mb": 750
  },
  {
    "tool": "Kanboard + SQLite",
    "idle_memory_mb": 70
  }
]

Są to typowe wartości dla stanu spoczynku po świeżej instalacji, bez aktywnych użytkowników; takie liczby raportuje docker stats minutę po uruchomieniu stosu. Należy traktować je jako punkt wyjścia do planowania zasobów, a następnie przeprowadzić własne pomiary. Charakterystyka zużycia jest ważniejsza niż dokładna liczba megabajtów.

Kanboard stanowi dolną granicę przy 70 MB, ponieważ jest to aplikacja PHP korzystająca z SQLite. Żaden długo działający proces nie utrzymuje tablic w pamięci, więc kontener w stanie spoczynku między żądaniami zużywa niemal zerowe zasoby. Vikunja to pojedynczy plik binarny Go o rozmiarze 110 MB, a SQLite jest jej domyślną bazą danych, więc jeden kontener stanowi cały stos. Planka wymaga 280 MB, ponieważ zawsze składa się z dwóch kontenerów: serwera Node oraz PostgreSQL. Planka nie oferuje opcji SQLite, więc baza danych jest niezbędna.

Wekan zużywa 750 MB, ponieważ jest aplikacją Meteor. Meteor utrzymuje warstwę zapytań na żywo w pamięci Node i przesyła każdą zmianę w tablicy do wszystkich otwartych przeglądarek przez WebSocket, więc zużycie pamięci rośnie wraz z liczbą podłączonych osób, zamiast pozostawać na stałym poziomie. Na VPS z 1 GB RAM Wekan uruchamia się, ale ulega awarii, gdy kilka osób otworzy dużą tablicę. Objawem jest kontener, który znika i pojawia się ponownie z kodem wyjścia 137, co docker compose ps pokazuje jako pętlę restartów. Należy to potwierdzić na hoście za pomocą dmesg -T | grep -i "out of memory", ponieważ mechanizm OOM (out-of-memory) killera jądra nie wysyła żadnych powiadomień do aplikacji.

Zależność od bazy danych determinuje połowę nakładu pracy przy kopiach zapasowych, dlatego zestawiono to w jednym wierszu dla każdego narzędzia. Planka wymaga PostgreSQL. Vikunja domyślnie korzysta z SQLite, ale obsługuje również PostgreSQL oraz MySQL lub MariaDB. Kanboard domyślnie korzysta z SQLite, obsługuje także MySQL, MariaDB i PostgreSQL, a jego dokumentacja zaleca PostgreSQL i odradza stosowanie SQLite na systemach plików NFS (network file system). Focalboard domyślnie korzysta z SQLite. Wekan obsługuje protokół MongoDB, a jego domyślny plik Compose zawiera obecnie FerretDB v1 z wbudowanym backendem SQLite zamiast pełnego serwera MongoDB; dostępny jest również oddzielny plik Compose dla MongoDB 7, jeśli jest wymagany.

Które z tych projektów są nadal utrzymywane?

ChartAge of the newest stable release in days, checked 5 August 2026
The data behind this chart
[
  {
    "tool": "Planka 2.1.1",
    "release_age": 109
  },
  {
    "tool": "Vikunja 2.5.0",
    "release_age": 1
  },
  {
    "tool": "Focalboard 8.0.0",
    "release_age": 783
  },
  {
    "tool": "Wekan 10.67",
    "release_age": 1
  },
  {
    "tool": "Kanboard 1.2.53",
    "release_age": 12
  }
]

Focalboard jest wyjątkiem z wynikiem 783 dni. Jego ostatnie samodzielne wydanie, v8.0.0, pochodzi z czerwca 2024 roku. Mattermost przeniósł rozwój tablic do wtyczki w osobnym repozytorium, a samodzielny plik README informuje, że repozytorium nie jest obecnie utrzymywane. Jest to jedyna jednoznaczna odpowiedź „nie” w tym zestawieniu. Wszystkie pozostałe przypadki wymagają kompromisu.

Wynik 109 dni dla Planka jest poprawny dla projektu, który publikuje kilka wydań rocznie. Wersja 2.1.1 pochodzi z kwietnia 2026 roku. Kanboard opublikował v1.2.53 na 12 dni przed sprawdzeniem, a dwa poprzednie wydania pojawiły się w marcu i kwietniu 2026 roku.

Vikunja i Wekan opublikowały wydania w ciągu jednego dnia od sprawdzenia, jednak te dwa fakty należy interpretować odmiennie. Vikunja oznaczyła v2.5.0 jako standardowe wydanie mniejsze. Wekan oznaczył v10.65, v10.66 oraz v10.67 tego samego dnia, co jest jego typowym tempem pracy. Częste wydania nie oznaczają stabilnego celu. W przypadku Wekan wybierasz śledzenie szybko zmieniającego się numeru wersji, dlatego należy przypiąć tag i zapoznać się z notatkami przed każdą aktualizacją.

Czy otrzymujesz coś więcej niż tylko tablicę?

Większość porównań kończy się na stwierdzeniu „wygląda jak Trello”. Ta cecha ma większe znaczenie niż ilość pamięci RAM, ponieważ tablica jest nieefektywnym formatem dla zadań z określonym terminem realizacji.

  • Planka to narzędzie oparte wyłącznie na tablicach: projekty, tablice, listy, karty, etykiety, listy kontrolne, komentarze i załączniki. Widoki kalendarza i mapy są funkcjami wersji Pro według stanu na sierpień 2026.
  • Vikunja oferuje cztery widoki dla tego samego zbioru zadań: lista, Kanban, tabela i wykres Gantta. Zadanie istnieje w jednym egzemplarzu, a użytkownik przełącza widok zamiast duplikować obiekt.
  • Kanboard to tablice z limitami pracy w toku (WIP), podzadaniami, załącznikami, komentarzami, automatycznymi akcjami oraz prostym językiem zapytań do filtrowania. Strona główna projektu informuje, że „liczba funkcji jest celowo ograniczona”, co trafnie opisuje charakter tego narzędzia.
  • Wekan to tablice z torami (swimlanes), listami kontrolnymi, polami niestandardowymi, API REST (representational state transfer) oraz obsługą webhooków.
  • Focalboard oferował widoki tablicy, tabeli i kalendarza dla tych samych kart. Został wymieniony w tym zestawieniu dla zachowania kompletności.

Jeśli w rzeczywistości poszukiwane jest wiki z funkcją śledzenia zadań, to porównanie nie dotyczy właściwej kategorii. BookStack, Wiki.js oraz Outline opisują ten format, natomiast alternatywy dla Notion do hostowania we własnym zakresie obejmują rozwiązania typu all-in-one.

Dostęp wieloużytkownikowy i logowanie jednokrotne (SSO)

Planka obsługuje OpenID Connect w darmowej edycji Community. Oficjalny plik Compose zawiera odpowiednie ustawienia w formie zakomentowanej, w tym OIDC_ISSUER, OIDC_CLIENT_ID oraz OIDC_CLIENT_SECRET, więc wystarczy je odkomentować zamiast przeprowadzać aktualizację. Role gości dla osób spoza organizacji są funkcją dostępną w wersji Pro.

Vikunja obsługuje OpenID Connect z wieloma dostawcami jednocześnie. Należy ustawić VIKUNJA_AUTH_OPENID_ENABLED=true, a następnie dodać jeden blok zmiennych VIKUNJA_AUTH_OPENID_PROVIDERS_<ID>_* dla każdego dostawcy. Aplikacja posiada również funkcje zespołów oraz udostępniania projektów, co jest rozwiązaniem faktycznie potrzebnym w dwudziestoosobowej organizacji.

Wekan obsługuje LDAP (lightweight directory access protocol), OAuth2, OIDC oraz SAML. Kanboard posiada wbudowaną obsługę LDAP oraz ogólny plugin OAuth2 dla pozostałych metod, a także role i grupy przypisywane do projektów. Samodzielny serwer Focalboard nie oferuje żadnej formy logowania jednokrotnego, co stanowi drugi powód, dla którego warto z niego zrezygnować.

Każde z tych rozwiązań można zintegrować z własną instancją dostawcy tożsamości Authentik, co zazwyczaj jest lepszym rozwiązaniem niż zmuszanie dwudziestu osób do zarządzania oddzielnym hasłem dla każdej aplikacji.

Czy można zaimportować tablice z Trello?

Planka oferuje najprostszą ścieżkę. Należy wyeksportować tablicę z Trello do formatu JSON, utworzyć tablicę w Planka, kliknąć Import i wybrać Trello. Należy najpierw zapoznać się z ograniczeniami, ponieważ są one istotne: użytkownicy i załączniki nie są importowane, przenoszona jest tylko jedna lista kontrolna na kartę, a domyślny eksport JSON z Trello kończy się na 1000 akcji bez ostrzeżenia o ucięciu danych. Przed uznaniem wyniku za poprawny należy samodzielnie sprawdzić plik.

Vikunja importuje dane poprzez proces OAuth Trello, w sekcji Settings, a następnie "Import from other services". Każdy migrator musi zostać włączony w konfiguracji, zanim pojawi się jego ikona, a VIKUNJA_SERVICE_PUBLICURL musi być poprawne, ponieważ przekierowanie OAuth odbywa się w przeglądarce, a nie z poziomu serwera. Vikunja obsługuje również import z Todoist, Microsoft To Do, TickTick oraz Wekan.

Wekan akceptuje wklejony plik JSON tablicy Trello w swoim formularzu importu. Kanboard nie posiada wbudowanego importera z Trello, co jest głównym powodem, dla którego należy go pominąć, jeśli planowane jest przeniesienie wieloletniej historii z Trello.

Jak wygląda obsługa na urządzeniach mobilnych?

Vikunja jest jedynym z pięciu omawianych narzędzi posiadającym oficjalne aplikacje mobilne. Kompilacje na systemy Android oraz iOS są udostępniane wraz z każdym wydaniem. Repozytorium aplikacji określa jej status jako alfa, dlatego należy traktować ją raczej jako uzupełnienie interfejsu webowego niż główny sposób pracy. Planka nie posiada oficjalnej aplikacji od twórców projektu, jednak jej interfejs webowy jest responsywny i istnieją klienci zewnętrzni. Wekan oraz Kanboard działają wyłącznie w przeglądarce, przy czym interfejs Kanboard jest wyraźnie zaprojektowany pod ekrany komputerów stacjonarnych.

Kwestia licencji i dlaczego Planka jest inna

Planka nie jest już oprogramowaniem open source i jest to fakt, który pomija większość porównań. Projekt rozpoczął się na licencji MIT, w 2023 roku przeszedł na AGPL-3.0, a od serii 2.0 jest udostępniany na licencji PLANKA Community License – licencji typu fair-code, której właścicielem jest PLANKA Software GmbH. Serwis GitHub oznacza tę licencję jako "Other", ponieważ nie jest ona zatwierdzona przez OSI. Samodzielne hostowanie na własne potrzeby jest bezpłatne i wyraźnie dozwolone, co obejmuje użytek osobisty, wewnętrzny, niekomercyjny oraz edukacyjny. Odsprzedaż dostępu do oprogramowania lub uruchamianie go jako usługi dla innych firm wymaga licencji komercyjnej.

Dla dwóch osób jest to uczciwa oferta. W przypadku firmy jest to zapis, z którym należy się zapoznać, zanim praca dwudziestu osób zostanie w nim osadzona. Pozostałe cztery rozwiązania to typowe oprogramowanie open source: Vikunja korzysta z AGPL-3.0, Wekan i Kanboard z MIT, a Focalboard stanowi połączenie Apache 2.0 oraz AGPL-3.0.

Przypięte pliki Compose dla obu wyborów

Przypnij tag obrazu. latest oznacza, że następny docker compose pull może przenieść Cię do nowej wersji głównej, a wersje główne uruchamiają migracje bazy danych, których nie można łatwo cofnąć. Oba poniższe pliki są wersjami oryginalnymi z tagiem ustalonym na konkretne wydanie.

Vikunja na SQLite, jeden kontener:

services:
  vikunja:
    image: vikunja/vikunja:2.5.0
    restart: unless-stopped
    environment:
      VIKUNJA_SERVICE_PUBLICURL: https://tasks.example.com
      VIKUNJA_SERVICE_SECRET: replace-with-a-long-random-string
      VIKUNJA_SERVICE_TIMEZONE: Europe/Berlin
      VIKUNJA_DATABASE_TYPE: sqlite
      VIKUNJA_DATABASE_PATH: /app/vikunja/files/vikunja.db
    ports:
      - "127.0.0.1:3456:3456"
    volumes:
      - ./files:/app/vikunja/files

Najpierw utwórz katalog danych z odpowiednim właścicielem, ponieważ kontener działa jako UID 1000 i nie może zapisywać w katalogu należącym do roota:

mkdir -p files && sudo chown 1000 files
docker compose up -d
docker compose ps
curl -sf http://127.0.0.1:3456/api/v1/info

Poprawnie działający stos pokazuje usługę jako running, a punkt końcowy info zwraca JSON zawierający pole version. Błąd Connection refused w tym miejscu oznacza, że kontener został zamknięty. docker compose logs vikunja wskazuje przyczynę, a błąd uprawnień do pliku bazy danych jest najczęstszym z nich.

Planka na PostgreSQL, dwa kontenery:

services:
  planka:
    image: ghcr.io/plankanban/planka:2.1.1
    restart: unless-stopped
    volumes:
      - data:/app/data
    ports:
      - "127.0.0.1:3000:1337"
    environment:
      - BASE_URL=https://boards.example.com
      - DATABASE_URL=postgresql://postgres@postgres/planka
      - SECRET_KEY=replace-with-openssl-rand-hex-64
    depends_on:
      postgres:
        condition: service_healthy

  postgres:
    image: postgres:16-alpine
    restart: unless-stopped
    volumes:
      - db-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=planka
      - POSTGRES_HOST_AUTH_METHOD=trust
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres -d planka"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  data:
  db-data:

POSTGRES_HOST_AUTH_METHOD=trust oznacza, że PostgreSQL akceptuje każde połączenie bez hasła. Jest to bezpieczne tylko dlatego, że port bazy danych nigdy nie jest publikowany na hoście, więc jedyną rzeczą, która może uzyskać do niego dostęp, jest drugi kontener w tej samej sieci Compose. Nie dodawaj wpisu ports: do usługi postgres.

Żaden ze stosów nie powinien być wystawiony bezpośrednio na Internet. Oba wiążą się z 127.0.0.1, więc umieść przed nimi reverse proxy i tam dokonaj terminacji TLS (transport layer security). Traefik przed kilkoma aplikacjami Compose to standardowy sposób postępowania, gdy hostujesz więcej niż jedną usługę, a podstawowy przewodnik po Docker Compose omawia elementy tych plików, które pominięto na tej stronie.

Tablica jest bazą danych, więc wykonuj jej kopie zapasowe

Narzędzie do obsługi tablic może ulec awarii bez zgłaszania błędów. Nikt nie zauważy braku kopii zapasowej, dopóki wolumen nie zniknie, a uszkodzony plik SQLite otworzy się poprawnie, by po database disk image is malformed tygodniach zgłosić błąd.

Nigdy nie kopiuj aktywnego pliku SQLite za pomocą cp. Kopia może przechwycić zapis w trakcie jego trwania, przez co archiwum będzie wyglądać na kompletne, ale po przywróceniu baza danych będzie miała brakujące wiersze. Zatrzymaj usługę na kilka sekund potrzebnych na wykonanie kopii:

docker compose stop vikunja
tar czf vikunja-$(date +%F).tgz files
docker compose start vikunja

W przypadku Planka wykonaj zrzut PostgreSQL zamiast kopiować katalog danych działającego klastra i zabezpiecz wolumen z przesłanymi plikami osobno, ponieważ załączniki nie znajdują się w bazie danych:

docker compose exec -T postgres pg_dump -U postgres -Fc planka > planka-db.dump
docker volume ls
docker run --rm -v planka_data:/data -v "$PWD":/backup alpine \
  tar czf /backup/planka-files.tgz -C /data .

docker volume ls wyświetla rzeczywistą nazwę wolumenu, która składa się z nazwy projektu Compose oraz _data. Podanie nieistniejącej nazwy spowoduje utworzenie pustego wolumenu i wygenerowanie poprawnego, lecz pustego archiwum bez zgłoszenia błędu, dlatego po zakończeniu operacji sprawdź rozmiar pliku.

Następnie przywróć kopię raz, w środowisku testowym na tym samym serwerze, i otwórz kartę, którą pamiętasz. Kopia zapasowa, której nigdy nie przywrócono, jest tylko przypuszczeniem. Przesyłaj archiwa również poza serwer, ponieważ kopia przechowywana na tym samym VPS-ie, który zabezpieczasz, nie jest kopią zapasową. kopie zapasowe restic z VPS opisuje tę część procesu.

Dwie rekomendacje

Dwie osoby na VPS z 2 GB RAM: należy uruchomić Planka. Pod względem wyglądu i zachowania jest to rozwiązanie najbardziej zbliżone do Trello, import danych z Trello odbywa się poprzez przeciągnięcie pliku, a 280 MB pamięci w stanie spoczynku pozostawia większość z 2 GB wolnej przestrzeni dla reverse proxy oraz innych hostowanych usług. Licencja Community License obejmuje dwuosobowy zespół wewnętrzny bez dodatkowych kosztów. Jeśli wolisz uniknąć zależności od licencji typu source-available, Vikunja z bazą SQLite przy 110 MB jest wyborem open-source dla tej samej maszyny.

Dwadzieścia osób w organizacji: należy uruchomić Vikunja z bazą PostgreSQL. Przy tej skali wymagane jest użycie OpenID Connect zamiast dwudziestu lokalnych haseł, niezbędne są zespoły oraz współdzielenie projektów, a znaczna część pracy nie zmieści się na tablicy, więc widoki List, Table i Gantt przestają być tylko dodatkiem. Licencja AGPL-3.0 oznacza również brak konieczności prowadzenia rozmów licencyjnych wraz ze wzrostem liczby pracowników. Należy zapewnić jej PostgreSQL zamiast SQLite, umieścić za reverse proxy i przechowywać codzienne zrzuty bazy danych w lokalizacji innej niż ten serwer.

Jeśli serwer posiada mniej niż 1 GB pamięci RAM, żadna z powyższych odpowiedzi nie ma zastosowania. Należy wybrać Kanboard przy 70 MB, zaakceptować konieczność ręcznego przepisania kart z Trello i przeznaczyć zaoszczędzoną pamięć na inne rozwiązanie z listy rekomendowanych usług do samodzielnego hostowania na rok 2026. Szczegółowa instalacja wybranego narzędzia znajduje się w dedykowanym przewodniku. Niniejsza strona służy wyłącznie do dokonania wyboru.

FAQ

Która alternatywa dla Trello zużywa najmniej pamięci RAM?

Kanboard, przy około 70 MB w stanie spoczynku, ponieważ jest to aplikacja PHP z bazą SQLite, która nie przechowuje danych w pamięci między żądaniami. Kolejną jest Vikunja, zużywająca około 110 MB jako pojedynczy plik binarny Go. Wekan jest najbardziej zasobożerny, wymagając około 750 MB, ponieważ Meteor utrzymuje warstwę zapytań na żywo w pamięci Node dla każdej podłączonej przeglądarki. Warto zmierzyć własne zużycie za pomocą docker stats po ustabilizowaniu się stosu, gdyż powyższe wartości są typowe, a nie gwarantowane.

Czy mogę zaimportować tablice z Trello do własnego narzędzia?

Planka oraz Wekan obsługują bezpośredni import plików JSON wyeksportowanych z Trello. Vikunja importuje dane poprzez proces OAuth Trello, przy czym migrator musi zostać włączony w konfiguracji, aby pojawił się w interfejsie. Kanboard nie posiada wbudowanego importera. Należy uwzględnić dwa ograniczenia: Planka nie importuje użytkowników ani załączników i obsługuje tylko jedną listę kontrolną na kartę, natomiast domyślny eksport JSON z Trello kończy się na 1000 akcji bez ostrzeżenia o obcięciu danych.

Czy Focalboard to nadal dobry wybór w 2026 roku?

Nie. Ostatnie samodzielne wydanie, v8.0.0, pochodzi z czerwca 2024 roku, co oznacza 783 dni przed weryfikacją tego porównania w dniu 5 sierpnia 2026 roku, a plik README informuje, że repozytorium nie jest obecnie utrzymywane. Mattermost kontynuował rozwój tablic jedynie jako wtyczki w oddzielnym repozytorium, więc serwer, który miałby być hostowany samodzielnie, przestał być rozwijany. Należy wybrać Planka lub Vikunja.

Czy Planka jest nadal oprogramowaniem open source?

Nie według definicji OSI. Planka korzystała z licencji MIT, w 2023 roku przeszła na AGPL-3.0, a od wersji 2.0 jest udostępniana na licencji PLANKA Community License. Samodzielne hostowanie jest bezpłatne do użytku osobistego, wewnętrznego, niekomercyjnego oraz edukacyjnego. Odsprzedaż dostępu lub świadczenie usługi dla stron trzecich wymaga licencji komercyjnej, a widok kalendarza, role gości oraz cykliczne karty są dostępne tylko w wersji Pro. Jeśli licencja zatwierdzona przez OSI jest wymogiem koniecznym, Vikunja korzysta z AGPL-3.0, a Kanboard z MIT.

Czy potrzebuję PostgreSQL, czy wystarczy SQLite?

Vikunja, Kanboard i Focalboard domyślnie korzystają z SQLite, co jest wystarczające dla kilku osób na jednym serwerze. Planka wymaga PostgreSQL i nie oferuje opcji SQLite. Należy przejść na PostgreSQL, gdy z systemu korzysta jednocześnie kilka osób, ponieważ SQLite szereguje zapisy, a obciążona instancja zaczyna zwracać database is locked. Nie należy również umieszczać pliku SQLite na zasobach sieciowych: dokumentacja Kanboard ostrzega przed używaniem SQLite na NFS właśnie z tego powodu.

#kanban#project-management#planka#vikunja#self-hosting#docker