(评论)
(comments)

原始链接: https://news.ycombinator.com/item?id=39742114

以下是该文本的摘要版本: 用户分享了他们对开源项目“Kanboard”的积极体验,发现尽管不是技术人员,但它很容易设置。 他们称赞其传统的 PHP 设置、作为 Docker 镜像的可用性以及响应能力。 然而,他们承认该项目目前处于维护模式。 用户讨论了他们更喜欢使用 Docker 来管理软件应用程序,因为它具有隔离、更简单的更新以及易于备份和恢复等优点。 尽管用户对 Kanboard 表示赞赏,但他们对 Planka 等替代自托管任务管理系统表示了兴趣,并讨论了该平台的独特卖点,例如实时协作和基本任务管理之外的更高级功能。 此外,他们还谈到了之前自行托管名为 Mattermost 的聊天应用程序的经验以及 LDAP 实施过程中遇到的挑战。 最后,他们分享了对其他流行的自托管项目管理解决方案(例如 GitLab 的看板、Vikunja 和 Wekan)的建议,以及有关这些平台的许可模式和平台之间差异的信息。

相关文章

原文
Hacker News new | past | comments | ask | show | jobs | submit login
Elegant open source project tracking, Trello like but self-hosted (github.com/plankanban)
275 points by thushanfernando 1 day ago | hide | past | favorite | 89 comments










For someone that's not a web developer, I found Kanboard to be the easiest to set up, and it has all the basic features you'd expect. It's a traditional PHP app where you copy the files to your web server and set a few configuration options and you're good. If you want to use it locally, you download it, run php -S localhost:8080, and start using it.

https://kanboard.org/

Note: The project is in maintenance mode, it hasn't shut down or been abandoned.



Also available as a Docker image, for example:

  docker run -p 80:80 -t kanboard/kanboard:v1.2.8
https://docs.kanboard.org/v1/admin/docker/#running-the-conta... (that page has info about persistent storage, configuration and so on)

Honestly one of the fastest and least "bloated" pieces of software in recent memory, way more responsive than something like OpenProject (which I use as a self-hosted Jira replacement for my personal needs), as long as the feature set is enough for you. I did rather enjoy the cost reports of OpenProject, as well as having all of my usual epics and whatnot, but kanban works better for smaller projects than scrum.



What's the point of using Docker for PHP apps?

The main appeal of PHP for me has always been it's ability to work as a “serverless” execution environment, long before this marketing concept even existed, so hosting your own PHP on a cloud machine with Docker sounds really backward to me.



For me, I have a cheap cloud server that handles multiple low-traffic personal websites, side projects, etc. Each project has a different tech stack and it can be months or years before I circle back to one to bring it up to date. I don't want to wrestle with making sure that I have the right versions of php and apache for my ubuntu. Having them all as docker containers makes it a lot easier, and a lot easier to move to new servers, too.


To add to this, for me it really helps to look at any piece of software that I want to run pretty much the same way, as a self-contained bundle, not unlike an app installed on a phone.

I can give them resource limits the same way (CPU/memory limits, except easier than cgroups), as well as set restart policies and have a clear look at what's executing where, with something like Docker Swarm it becomes like systemd across multiple nodes and scaling up/down becomes easy, especially with load balancing for network calls. Software like Portainer also has pretty nice discoverability.

Speaking of networking, I don't have to worry about tunnels or firewall configuration myself, can just expose a web server that acts as a reverse proxy and give everything else custom private networks that span across nodes (with something like Docker Swarm again, though Consul and Kubernetes have the same functionality, details aside).

I can have custom port mappings (regardless of what the software uses, I might not even care about digging in some configuration file to change it), which is especially useful when running multiple separate instances on the same machine (like different versions of PostgreSQL, or separate instances for different projects), or hostnames in case I don't want to expose ports.

I can easily have custom persistent/transient storage paths or even in memory storage (tmpfs), when I have persistent storage then suddenly backups become easy to do and I can be very clear about all other directories being wiped and being in a known state upon startup/restart. It's also immensely useful for me to escape the sometimes weird ways how software on *nix uses the file system, I can just mount my persistent files in /app/my-app/database/var/lib/postgresql/data or /app/my-app/web-server/etc/apache2/sites-enabled and know that I don't care about anything outside of /app.

I can also treat Docker as lightweight VMs, except a bit more stateless, in that I can have container images that I base on a version of Debian/Ubuntu/Alpine or whatever, ship them, and then don't have to worry about a host OS update breaking something, because only Docker or another runtime like Podman is the actual dependency and most of the other software on the node doesn't come in contact with what I'm running. With rootless containers, that also improves the separation and security there a little bit.

With all of that in place, suddenly I can even move apps and all of their data across nodes as necessary, load balance software across multiple nodes, be able to easily tell people how to run what I have locally and store and later use these images very easily. Are there pieces of software or alternatives (e.g. jails) that do a lot of the same? Sure, but Docker essentially won in ease of use.



For me, it's the simplicity. I don't have to care whether a project is super basic, or a thorny hairball from hell. Whatever it is, "docker run" is how I spin it up. It doesn't infect my local. I can have three differently hobbled versions of it side by side. Virtualization makes it simple, conceptually - and for me that's more precious than it being actually technically simple.


> I don't have to care whether a project is super basic, or a thorny hairball from hell.

That's the biggest problem I see with Docker: nobody has an incentive to make well structured software with a lean dependency chain and a straightforward installation process… These used to be good proxy of the overall software quality of the project, but now Rube Goldberg projects that just happen to work by luck are routinely distributed and the user has no idea of how big of a mess it is internally.



I self-host a dozen or so different web apps locally on an old PC, and containers are what makes that feasible to do in my very limited spare time.

If I tried to run all of these directly on the hardware with whatever minimal non-Docker setup each uses, I'd have a dozen update processes, a dozen different ways to start the server, and a dozen log files following a dozen different conventions for storage. I'd also have to be sure that each app I add either uses a different database and language runtime than the ones I've installed already or is compatible with the versions of those that I already installed.

Instead, with Docker/Podman, I can use the same tool (compose files stored in a git repo) to manage all of the apps and their dependencies with zero risk of weird dependency issues across app boundaries.



> What's the point of using Docker for PHP apps?

Same reason you'd use Docker for anything, why would it matter if it's Python, PHP or Rust?

Is there something specific about the language that makes Python (or other language) more suitable with Docker for you, compared to PHP?

(Personally I only use Docker when I start to deal with multiple hosts/distributed architecture, which doesn't happen a lot tbh)



> Is there something specific about the language that makes Python (or other language) more suitable with Docker for you, compared to PHP?

Python has notoriously awful dependency management. One of the biggest appeals of Docker is that it lets you build the equivalent of a "fat jar" so that you get at least somewhat reproducible versions of your dependencies at runtime. For a language with decent dependency management the value proposition is much weaker.



I can't think of anything that Docker would give Python that pyenv and venv wouldn't already.

Not that I wouldn't just use Docker for this, but those two help a lot when dealing with multiple clients who have different versions requirements.



> Same reason you'd use Docker for anything, why would it matter if it's Python, PHP or Rust?

I would ask the same question if you were using docker for a Rust project btw.

IMHO Docker mostly make sense when you have projects that require globally installed dependencies (like C or Python).



I always keep the host clean of any language, interpreter, tool, except for docker, and everything I run is ran within docker, I have multiple clients with multiple level of support and PHP versions needed, each project lives in its container


For me the point of using Docker is that it's a unifies configuration and backups, and makes installation easier.

I can easily see which directories or files to back up, and it's fairly explicit which knobs I've tweaked or config files I've changed, regardless of what stack the app relies on.

It's also makes it much easier to roll back a version. Just take zfs snapshots of relevant directories before pulling new image, if it goes south just roll back snapshots and use the old image.



With docker you can self host on your dev machine and for a solo developer it's the end of all problems.


Programmers these days like to overcomplicate things for some reason. I’m as puzzled as you are.


This comment shows a remarkable lack of curiosity. You're not the least bit interested to know why so many people find tools like Docker to be valuable?


It does show empathy, though.

Docker has its advantages, but the approach also has a lot of disadvantages which are not so obvious to junior developers.

Isolation seems fun, but the interfaces (Unix sockets where anything goes) are extremely brittle. Version management seems simple at first, but will become horrible once old containers offer no upgrade path in the future, or when the free hubs from today will become tomorrow's subscription model.

I'm not advocating for PHP, but it sure made deployment of several websites on one machine extremely simple. Eventually version management destroyed some of the fun, which will probably happen with Docker containers as well, given enough time.

Java's application servers were initially also hailed with similar enthusiasm as Docker containers, and look at the complicated mess that has become.

To some, all that is old is new again.



because raccoons like shiny things


One person's over-complication is another person's simplification, it's only "hacked together" if someone else wrote it, etc, etc


Tangent - is there a Docker Wherehouse where I can find dockers to DL an run, that HN would suggest and some use cases of "pull a docker from here to do X - super cool"


The awesome selfhosted* list is a pretty good resource. While it does mention if there's a Docker container, I've found a few of the services without one listed do actually offer one, just have to search for it.

* https://github.com/awesome-selfhosted/awesome-selfhosted



Docker hub has been one of the primary registries. Each of the cloud providers typically have their own concept for docker or image repositories, and you can build docker files locally of you have a docker file in source code.


Thank you,

I was more looking for use-case as opposed to a barf of all dockers....

"I want to do TASK so here are all the dependencises for you to do TASK and how they will link"

---

And yeah; how do you tink a 3-year old in 2050 is going to be able to setup his dev env? Do you want him to learn binary.



> And yeah; how do you tink a 3-year old in 2050 is going to be able to setup his dev env?

Dunno about 2050, but it wasn’t particularly difficult in the 1980s.



I guarantee it will be harder in 2050 than it was in 1980.


It's plug-in system is quite comprehensive. I just finished writing a note taking plug-in and the source code itself was a great reference for developing a plug-in.


I'm also interested in the link!


Mind sharing a link if it is public?


Really great project, just wish nested tasks or sub-tasks was easier to interact with.


I also use Kanboard, it's pretty decent.


Does it offer Agile-like integration?


I didn't realise it'd moved into maintenance mode, where abouts is that detailed?


https://github.com/kanboard/kanboard

  This application is in maintenance mode. What does it mean?
  
  Citing Wikipedia:

  In the world of software development, maintenance mode refers to a point in a computer program's life when it has reached all of its goals and is generally considered to be "complete" and bug-free. The term can also refer to the point in a software product's evolution when it is no longer competitive with other products or current with regard to the technology environment it operates within.
   - The author of this application is not actively developing any new major features (only small fixes)
   - New releases are published regularly depending on the contributions made by the community
   - Pull requests for new features and bug fixes are accepted as long as the guidelines are followed


I switched to Planka after Focalboard went community-supported[1], but failed to appoint any community leaders. So far, I'm very happy with Planka for my needs at home.

There are more self-hosted options in this link[2].

[1] https://github.com/mattermost/focalboard

[2] https://awesome-selfhosted.net/tags/task-management--to-do-l...



Since you use to use Focalboard, do use your Mattermost (chat)?

Curious what your experience has been like using it?



I'm not the parent-level poster but I've stood-up a Mattermost instance a few times and it's really easy to get going and is good for a text-IM/DM channel/group service. The desktop app or web-based interface work quite well and the architecture is pretty sane, Javascript front-end, golang-based "backend", Postgres database.

But, there are some frustrating aspects.

LDAP is only available in the "enterprise" edition which is kind of crazy and there is no price-break for



Ive had great success with Kanboard, but at BeamMP we use plane[0], self-hosted. Apart from the lack of github integration, it does the job for our small team.

[0]: https://plane.so/





This is the closest looking open source one I’ve seen to linear which is by far the best kanban I’ve used maybe one inspired the other, either way looks good though linear is so polished. Introduced it to a client and it gets heavy use and the cycles concept is well liked


What is this monstrosity. This is the first time I see software that runs in docker-compose but has to be installed with a setup.sh run as root. What the hell is wrong with those people? Whatever setup steps are required, put them in the container!


100% agree. When we installed it we looked at the setup.sh and extracted what was needed from it. It was as simple as:

  curl -o docker-compose.yaml https://raw.githubusercontent.com/makeplane/plane/master/deploy/selfhost/docker-compose.yml
  curl -o .env https://raw.githubusercontent.com/makeplane/plane/master/deploy/selfhost/variables.env
  vim .env # adjust for your environment
  docker compose up -d
I really don't understand how the above is too complex that it required the creation of a bash script.

Some other notable docker-based projects that I've seen require an .sh are Sentry [1] and Postal [2].

[1] https://develop.sentry.dev/self-hosted/ [2] https://docs.postalserver.io/getting-started/prerequisites



If you use kanban as your personal to-do list I can recommend this Obsidian plugin:

https://github.com/mgmeyers/obsidian-kanban



Using the "client demo" [1] - once a new project is added and a new board is added to that project, how do you add a list?

There seems to be just a blank canvas, basically [2].

[1] https://plankanban.github.io/planka

[2] https://i.imgur.com/6OPyn9W.png



Looks nice, I selfhosted https://github.com/wekan/wekan for a while, which is a MIT licensed heavily Trello-inspired alternative, does someone know both Wekan and Plankanban and can tell their differences?


WeKan has MIT license. As maintainer of WeKan, I'm adding major new features to WeKan. WeKan features are listed at https://github.com/wekan/wekan/wiki/Deep-Dive-Into-WeKan

Planka changed from MIT license to AGPL-3.0 license https://github.com/plankanban/planka

There is Planka fork 4gaBoards with MIT license at https://github.com/RARgames/4gaBoards , newest change one hour ago.



Gitlab's kanban board is very nice, integrated with its ticketing and, if you are on Gitlab, it is there already !


I'm surprised https://vikunja.io/ wasn't mentioned.


It looks like this has a public view too you can share to customers?


Yes! And it supports sub-tasks!


Another open source project tracking alternative: https://kanboard.org/


I did some work about a year ago modifying Trellinator to support WeKan, and would like to do the same here. When I did that I made a comprehensive list of things that were missing from the WeKan API to provide a fully functional drop-in replacement for existing Trellinator code.

I can't see any API documentation, is it somehow Trello-like?



There's an API, a year ago I had a nifty little script that would pull all my incomplete tasks for the day.


I tried installing OpenProject on my homelab (for tracking tasks related _to_ my homelab), only to find that it was missing the one feature I really wanted - identifying dependencies and blockers (i.e. "I can't install X until I install Y, but Y needs a feature that requires an update to Z, and updating Z requires I tweak config in A" - where I'm perfectly happy to manually write out X/Y/Z/A as tickets myself, but I want a tool to tell me that "A" is an unblocked task I can pick up). Any suggestions for a tool that can do that?


Looks really good, great work!

Anyone knows of something like this but for the terminal?

I’m building a job searching app for the terminal and a main upcoming feature is to have application tracking within the app. It would be great to use a kanban system for it

Thank you!



For terminal, for example this, made with Rust: https://github.com/yashs662/rust_kanban


Really like the look of this one, super cool


This one got a lot of attention a while back: https://github.com/smallhadroncollider/taskell


Congrats on shipping. Elegant could be removed from title though @dang


It's written that way at the top of the README.


Even though it's not open source, just free(for very small projects), I have been really liking kitemaker.co

I'm curious what other people think of their approach, and whether that should be a model for open source kanban boards to follow. It's not Trello, which is way to flexible turning work items into a mess, but it's not Jira either. For me it seems to nicely fit the sweet spot of structure and ease of use.



i love kitemaker, and they're really responsive on their slack


Anyone using icescrum? I like how it can be self-hosted


Looks nice! An alternative is https://www.openproject.org/


They really aren't the same beast, though.

It's like people are posting their preferred project manager without even checking out what planka brings to the table. So many kanboard comments.



"Start free trial"


The base functionality is free (and this is far more than a basic kanban). If you want more enterprisey features it's paid, although I don't believe it's too difficult to bypass the license check.


I personally would like to see less Trello and more Pivotal Tracker. Especially now that they've changed their pricing model.


UI seems smoother than Trello or Wekan (on my rather slow machine). Though maybe it's because the demo board doesn't have very much data compared to what I have on those other two. And maybe it has fewer features thus far to bloat the frontend.


I believe the demo doesn't connect to a database backend. Their GitHub says "without server features".

https://github.com/plankanban/planka



My sense is that the thing that makes the other sites laggy on my computer is UI stuff. Maybe not though.


Came here to say the same. Kanboard is great and has a nice plugin concept. But I think this one is indeed more elegant and looks very modern. Good job!


With the demo client, I don't manage to create a list on an empty board on FF on Android.


I’m still using redmine, it doesn’t look fancy but it works !


If you are already selfhosting Gitea, it has a nice kanban-style project board view that works similarly.

This is what I use, and find it to be pretty good. It’s not as good as a dedicated solution but it’s one less app I have to tend to, and the Gitea backups are already mega mission critical so the PM stuff (and issues and wikis) get this vigilance baked in for free.



I've been using Asana for years but there have been a lot of quality issues with the software... and various bugs that just don't get fixed. They also put columns and some sorting options behind a paywall.

Are there any similar OSS tools? I just need task tracking that works offline, on mobile, let's me filter/sort, and creating public shareable links for customers would be a nice bonus. It's probably something I could whip up in an hour with Django but open to options.



Just use taskwarrior + git


Manually having to sync with stuff like:

git commit -am "update"

is very tedious.



Nothing an autocomplete shell doesn't solve :)


Setup a cron!


Thanks but no thanks.


I use both also but not together.

Can you elaborate on any synergy or connection you are referring to?



My flow for a time was having ~/.task as a git repo and then when moving devices (laptopworkstationhome comp) sync using git :)


I'm frankly not a fan of the monolithic NextCloud, but the "Decks" feature has good UX and a mobile app on Android, which pretty much nothing else in the open source community has pulled off.


That's what I'm switched to, especially since I already use Nextcloud as a cloud backend for my phone.

From the kanban suggestions, I tried kanboard in the past, but really disliked the mobile experience. In this regard, Deck is much better, and it has at least two ways to access the boards; one is the Nextcloud Deck companion app, and the other is the jtx board, which stores its tickets in a way that they can be synced with CalDav. So by using Nextcloud Deck, one is not even locked in into one application / provider.



Thanks for the hint! A friend recently asked about a kanban-style app, and they're already using Nextcloud.


I suggest to actively keep up with Nextcloud project. They have a lot of things going on, and add nice things over time. "Notes" for example is also useful.


Another cool tool for this is: https://kanboard.org/


Looks really nice. Is there a roadmap Planka board?






Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact



Search:
联系我们 contact @ memedata.com