DEV Community

Warun C. ⚡
Warun C. ⚡

Posted on

Part 1: เริ่มต้นใช้งาน Teable บน Docker

ในโลกของการพัฒนาแอปพลิเคชัน เครื่องมือที่ช่วยให้เราจัดการข้อมูลได้อย่างมีประสิทธิภาพเป็นสิ่งจำเป็น Airtable เป็นแพลตฟอร์มที่ได้รับความนิยมอย่างมาก ด้วยความสามารถในการจัดการข้อมูลแบบ No-code ที่ใช้งานง่าย แต่สำหรับนักพัฒนาที่ต้องการควบคุมระบบและข้อมูลอย่างเต็มที่ Teable คือทางเลือกที่น่าสนใจยิ่งกว่า

ใน Part 1 นี้ เราจะเริ่มต้นด้วยการติดตั้ง Teable ในสภาพแวดล้อมแบบ Local โดยใช้ Docker เพื่อให้คุณสามารถทดลองใช้งาน Teable ได้โดยไม่ต้อง Deployขึ้น Vercel ก่อน

ขั้นตอนการติดตั้ง:

1.ติดตั้ง Docker: หากคุณยังไม่ได้ติดตั้ง Docker ให้ดาวน์โหลดและติดตั้ง Docker Desktop จากเว็บไซต์ docker.com

2.สร้างไฟล์ Docker Compose: สร้างไฟล์ชื่อ docker-compose.yml และวางโค้ด YAML ที่ปรับปรุงแล้วลงไป

version: '3.9'

services:
  teable:
    image: ghcr.io/teableio/teable:latest
    restart: always
    ports:
      - '3000:3000'
    volumes:
      - teable-data:/app/.assets:rw
    env_file:
      - .env
    environment:
      - NEXT_ENV_IMAGES_ALL_REMOTE=true
    networks:
      - teable
    depends_on:
      teable-db-migrate:
        condition: service_completed_successfully
    healthcheck:
      test: ['CMD', 'curl', '-f', 'http://localhost:3000/health']
      start_period: 5s
      interval: 5s
      timeout: 3s
      retries: 3

  teable-db:
    image: postgres:15.4
    restart: always
    ports:
      - '42345:5432'
    volumes:
      - teable-db:/var/lib/postgresql/data:rw
    environment:
      - POSTGRES_DB=${POSTGRES_DB}
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    networks:
      - teable
    healthcheck:
      test: ['CMD-SHELL', "sh -c 'pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}'"]
      interval: 10s
      timeout: 3s
      retries: 3

  teable-db-migrate:
    image: ghcr.io/teableio/teable-db-migrate:latest
    environment:
      - PRISMA_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}
    networks:
      - teable
    depends_on:
      teable-db:
        condition: service_healthy

networks:
  teable:
    name: teable-network

volumes:
  teable-db: {}
  teable-data: {}

Enter fullscreen mode Exit fullscreen mode

3.สร้างไฟล์ .env: สร้างไฟล์ชื่อ .env ในไดเรกทอรีเดียวกันกับ docker-compose.yml และวางโค้ด .env ที่ปรับปรุงแล้วลงไป อย่าลืมเปลี่ยน POSTGRES_PASSWORD และ SECRET_KEY เป็นค่าที่ปลอดภัย

# replace the default password
POSTGRES_PASSWORD=replace_this_password
SECRET_KEY=replace_this_secret_key

# replace the following with a publicly accessible address
PUBLIC_ORIGIN=http://127.0.0.1:3000

# ---------------------

# Postgres
POSTGRES_HOST=teable-db
POSTGRES_PORT=5432
POSTGRES_DB=teable
POSTGRES_USER=teable

# App
PRISMA_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}
Enter fullscreen mode Exit fullscreen mode

4.รัน Docker Compose: เปิด Terminal ในไดเรกทอรีที่คุณบันทึกไฟล์

docker-compose up -d
Enter fullscreen mode Exit fullscreen mode

5.เข้าถึง Teable: เปิดเว็บเบราว์เซอร์และไปที่ http://localhost:3000 คุณจะเห็นหน้าจอ login ของ Teable

บทสรุป

ใน Part 1 นี้ เราได้เรียนรู้วิธีการติดตั้งและรัน Teable บน Docker แบบ local ซึ่งประกอบด้วย Postgres

การติดตั้งแบบนี้เหมาะสำหรับการทดลองใช้งาน Teable ศึกษาฟีเจอร์ต่างๆ และพัฒนาแอปพลิเคชันในสภาพแวดล้อมที่ควบคุมได้

อย่างไรก็ตาม หากต้องการนำ Teable ไปใช้งานจริงบน Server ควรพิจารณาใช้ Redis เพื่อเพิ่มประสิทธิภาพในการทำงาน ซึ่งเราจะได้เรียนรู้เพิ่มเติมใน Part 3

ใน Part 2 เราจะมาเรียนรู้วิธีการเชื่อมต่อ Teable กับ Vercel Postgres

REF: https://help.teable.io/deployment/docker-compose

Top comments (0)