多维表格
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

9.7 KiB

NocoDB
Airtable 대체 오픈소스

MySQL, PostgreSQL, SQL Server, SQLite, MariaDB를 똑똑한 스프레드시트로 바꿔줍니다.

Build Status Node version Twitter

WebsiteDiscordTwitter

OpenSourceAirtableAlternative

NocoDB - The Open Source Airtable alternative | Product Hunt

바로 써보기

원클릭 배포

Heroku

NocoDB를 Heroku에 원클릭 배포하기

Docker 사용

docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest

데이터를 계속 저장하려면 반드시 /usr/app/data/에 볼륨을 마운트해야 합니다..

npm 사용

npx create-nocodb-app

Git 사용

git clone https://github.com/nocodb/nocodb-seed
cd nocodb-seed
npm install
npm start

GUI

대시보드 접근하기 : http://localhost:8080/dashboard

커뮤니티 가입

NocoDB 디스코드 들어오기

스크린샷

1

2

5

6

7

8

9

9a

9b

10

11

기능

스프레드시트같은 인터페이스

  • 정말 쉬운 검색, 정렬, 필터링, 열 숨기기
  • 뷰 만들기: 그리드, 갤러리, 칸반, 간트 차트, 양식
  • 뷰 공유하기: 완전 공개, 패스워드 걸고 공개
  • 개인화하거나 잠글 수 있는 뷰
  • 이미지를 자신의 공간에 업로드 (S3, Minio, GCP, Azure, Digitalocean, Linode, OVH, Backblaze 등)
  • 역할 부여: 소유자, 작성자, 편집자, 보기 전용, 의견 제시만, 원하는 대로
  • 접근 통제: 데이터베이스, 테이블 및 열 수준까지도 상세한 통제 가능

워크플로 자동화를 위한 앱스토어:

  • 채팅: MS 팀즈, 슬랙, 디스코드, 매터모스트
  • 이메일: SMTP, SES, MailChimp
  • SMS: Twilio
  • 왓츠앱
  • 그 외에 여러 서드파티 API

외부 API 접근 :

  • REST API (Swagger)
  • GraphQL API
  • JWT 인증 및 SNS 로그인
  • Zapier 및 Integromat 통합을 위한 API 토큰

운영 환경에 설치하기

NocoDB는 스프레드시트 뷰 메타데이터와 외부 데이터베이스 정보를 저장하기 위한 데이터베이스를 필요로 합니다. 그리고 이 데이터베이스 연결을 위한 정보는 NC_DB 환경변수에 담습니다.

Docker

MySQL 예제

docker run -d -p 8080:8080 \
    -e NC_DB="mysql2://host.docker.internal:3306?u=root&p=password&d=d1" \
    -e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
    nocodb/nocodb:latest

PostgreSQL 예제

docker run -d -p 8080:8080 \
    -e NC_DB="pg://host:port?u=user&p=password&d=database" \
    -e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
    nocodb/nocodb:latest

SQL Server 예제

docker run -d -p 8080:8080 \
    -e NC_DB="mssql://host:port?u=user&p=password&d=database" \
    -e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
    nocodb/nocodb:latest

Docker Compose

git clone https://github.com/nocodb/nocodb
cd docker-compose
cd mysql or pg or mssql
docker-compose up

환경변수

변수명 필수 여부 설명 미설정된 경우
NC_DB Yes 제품이 사용할 데이터베이스 URL 루트 디렉터리에 SQLite DB 생성
DATABASE_URL No JDBC URL 형식. NC_DB 대신 사용 가능. Heroku 원클릭 배포에 사용
DATABASE_URL_FILE No JDBC URL을 담은 파일의 경로. NC_DB 대신 사용 가능. Heroku 원클릭 배포에 사용
NC_PUBLIC_URL Yes 이메일 초대에 사용 HTTP 요청 파라미터를 통해 추정
NC_AUTH_JWT_SECRET Yes 인증 및 다른 비밀 값을 저장할 때 사용할 JWT 시크릿 키 임의의 시크릿 키 생성
NC_SENTRY_DSN No Sentry 모니터링용
NC_CONNECT_TO_EXTERNAL_DB_DISABLED No 외부 데이터베이스와 연동된 프로젝트를 생성하지 않음
NC_DISABLE_TELE No 사용 정보를 수집하지 않음
NC_BACKEND_URL No 커스텀 백엔드 URL http://localhost:8080 사용

개발 환경에 설치하기

git clone https://github.com/nocodb/nocodb
cd nocodb

# 백엔드 실행
cd packages/nocodb
npm install
npm run watch:run

# 브라우저에서 localhost:8080/dashboard 열기

# 프론트엔드 실행
cd packages/nc-gui
npm install
npm run dev

# 브라우저에서 localhost:3000/dashboard 열기

코드 변경후 자동으로 재시작됩니다.

로컬에서 Cypress 테스트 돌리기

# 의존성(cypress) 설치
npm install

# docker compose로 필요한 서비스 실행
docker-compose -f ./docker-compose-cypress.yml up

# 3000 포트와 8080 포트가 모두 열릴 때까지 대기
# 이후 다음 명령으로 cypress 실행
npm run cypress:run

# 또는 다음 명령으로 GUI로 실행
npm run cypress:open

기여하기

  • 먼저 ./contribute/HowToApplyLicense.md를 읽기
  • .json, .md, .yml 파일에는 헤더를 추가하지 않아도 됨

🎯 왜 이걸 만들었나요?

대부분의 인터넷 비즈니스는 업무상의 요구사항을 해결하기 위해 스프레드시트 또는 데이터베이스를 사용합니다. 스프레드시트는 매일 하루에 수십억 명 이상이 함께 사용합니다. 그러나 우리는 컴퓨팅에 관한 한 훨씬 강력한 도구인 데이터베이스는 별로 그만큼 사용하고 있지 않습니다. 이 문제를 SaaS로 해결하려는 시도는 끔찍한 접근 통제, 특정 업체 종속, 데이터 종속, 급격한 가격 변동, 그리고 무엇보다도 미래의 가능성을 스스로 가둬버리는 것을 의미합니다.

❤ 우리의 사명

우리의 사명은 이 세상의 모든 인터넷 비즈니스를 위해 가장 강력한 노코드(No-Code) 데이터베이스 인터페이스를 오픈소스로 제공하는 것입니다. 이는 단지 강력한 컴퓨팅 도구를 대중화하는 데 그치는 것이 아니라, 인터넷 상에서 뭐든 이어붙이고 만들 수 있는 급진적인 능력을 수십억 사람들에게 가져다주게 될 것입니다.