Kanboard logo

Kanboard

Kanban project management software

Alternative to: trello, jira, asana

Kanboard screenshot

Kanboard is a free and open source project management tool built around the Kanban methodology. It lets you visualize work as boards with customizable columns, swimlanes, task limits, and drag-and-drop cards, plus automatic actions, calendar and Gantt views, and a plugin system for extending functionality.

Kanboard Docker Compose example

Self-host Kanboard on your own server, homelab, or VPS starting from this Docker Compose example. It runs Kanboard in Docker containers using the official kanboard/kanboard:latest image, with persistent volumes and automatic restarts preconfigured. Review the environment variables and adjust them to your setup, save the file as compose.yml (or docker-compose.yml), and start the stack with docker compose up -d.

services:
  app:
    image: kanboard/kanboard:latest
    restart: unless-stopped
    volumes:
      # SQLite database, uploaded files and cache.
      - data:/var/www/app/data
      # Installed plugins.
      - plugins:/var/www/app/plugins
    environment:
      # Mail transport for notifications: "mail" (PHP mail(), the default), "sendmail", or "smtp". Set this to "smtp" and fill the MAIL_SMTP_* values below to use an external SMTP server.
      MAIL_TRANSPORT: "mail"
      # Sender address used for outgoing notification emails.
      MAIL_FROM: "notifications@kanboard.local"
      # SMTP server hostname (used only when MAIL_TRANSPORT is "smtp").
      MAIL_SMTP_HOSTNAME: ""
      # SMTP server port (587 for STARTTLS, 465 for SSL, 25 for plain).
      MAIL_SMTP_PORT: "587"
      # SMTP username.
      MAIL_SMTP_USERNAME: ""
      # SMTP password.
      MAIL_SMTP_PASSWORD: ""
      # SMTP encryption: "tls", "ssl", or empty for none.
      MAIL_SMTP_ENCRYPTION: "tls"
      # Allow admins to install plugins from the Kanboard marketplace through the web UI ("true"/"false"). Disabled by default for security.
      PLUGIN_INSTALLER: "false"
      # Comma-separated request headers to trust when running behind a reverse proxy (e.g. "X-Forwarded-For,X-Forwarded-Proto"). Leave empty to disable.
      TRUSTED_PROXY_HEADERS: ""
      # Comma-separated proxy networks/IPs allowed to set the trusted headers (e.g. "10.0.0.0/8"). Leave empty to disable.
      TRUSTED_PROXY_NETWORKS: ""

volumes:
  data:
  plugins:

Prefer a managed setup? WinterFlow installs, configures, and updates Kanboard for you using this same Docker Compose configuration.