Saltar a contenido

Kanboard (Kan)

Alternativa open source a Trello. Kanban board con PostgreSQL. Migraciones automáticas al iniciar.

📁 Rutas y configs

Qué Dónde
Compose /opt/docker/kan/compose.yaml
Variables de entorno /opt/docker/kan/.env

Contenedores: kan-web, kan-db, kan-migrate Puerto: 8514

Compose

services:
  migrate:
    image: ghcr.io/kanbn/kan-migrate:latest
    container_name: kan-migrate
    networks:
      - kan-network
    environment:
      - POSTGRES_URL=${POSTGRES_URL}
    depends_on:
      postgres:
        condition: service_healthy
    restart: no
  web:
    image: ghcr.io/kanbn/kan:latest
    container_name: kan-web
    ports:
      - 8514:3000
    networks:
      - kan-network
    env_file:
      - .env
    environment:
      - NEXT_PUBLIC_BASE_URL=${NEXT_PUBLIC_BASE_URL}
      - BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET}
      - POSTGRES_URL=${POSTGRES_URL}
      - NEXT_PUBLIC_ALLOW_CREDENTIALS=true
      - BETTER_AUTH_TRUSTED_ORIGINS=${BETTER_AUTH_TRUSTED_ORIGINS}
    depends_on:
      migrate:
        condition: service_completed_successfully
    restart: unless-stopped
  postgres:
    image: postgres:15
    container_name: kan-db
    environment:
      - POSTGRES_DB=kan_db
      - POSTGRES_USER=kan
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    ports:
      - 5432:5432
    volumes:
      - kan_postgres_data:/var/lib/postgresql/data
    healthcheck:
      test:
        - CMD-SHELL
        - pg_isready -U kan -d kan_db
      interval: 5s
      timeout: 5s
      retries: 10
    restart: unless-stopped
    networks:
      - kan-network
networks:
  kan-network: null
volumes:
  kan_postgres_data: null