From c36db2cb0184e1f3a0bc361ba52c6721e22d2733 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gacit=C3=BAa?= Date: Sat, 4 Apr 2026 07:27:28 -0300 Subject: [PATCH] Add Kan --- kan/.env | 4 +++ kan/docker-compose.yml | 58 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 kan/.env create mode 100644 kan/docker-compose.yml diff --git a/kan/.env b/kan/.env new file mode 100644 index 0000000..9de2a78 --- /dev/null +++ b/kan/.env @@ -0,0 +1,4 @@ +NEXT_PUBLIC_BASE_URL="https://kan.mysite.net" +BETTER_AUTH_SECRET="32-character-random-string" +POSTGRES_PASSWORD="mypassword" +POSTGRES_URL="http://kan:mypassword@kan-db:5432/kan_db" \ No newline at end of file diff --git a/kan/docker-compose.yml b/kan/docker-compose.yml new file mode 100644 index 0000000..a3e4d9d --- /dev/null +++ b/kan/docker-compose.yml @@ -0,0 +1,58 @@ +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 + expose: + - 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 + 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: + external: true + +volumes: + kan_postgres_data: \ No newline at end of file