Self-hosted 로컬 CLI 가이드

안녕하세요 셀렉트 팀입니다.

셀렉트 어드민은 2021년 11월 오픈소스 프로젝트로 시작하여 클라우드 서비스를 런칭하고 많은 회사들의 피드백과 함께 기능을 개선해왔습니다.

하지만 로컬 환경에서도 셀렉트를 쉽게 쓰고 싶다는 의견들이 있었고, 앞서 전해드린 완전 설치형(구축형)으로는 초기 설정이 많이 필요하고 가볍게 테스트하기에 접근성이 떨어지는 문제가 있었습니다.

셀렉트 클라우드를 이용하고 싶지만 여러가지 보안과 데이터 이슈로 쓰기 어려운 팀들이 많은 문의를 주셨고 이를 위해 설치형(로컬 CLI) 제공을 시작합니다.

목차

  • 설치
  • 로그인
  • 프로젝트 만들기
  • 데이터 연결하기
  • 초대하기

설치형의 특징은 아래와 같습니다.

  • 커맨드 라인 인터페이스(CLI)를 통해 바로 이용합니다. (Vercel과 유사)
  • 계정 관리, SSO, 이메일 발송, UI등은 클라우드로 활용합니다.
  • 모든 데이터 관련 API는 100% 셀프호스트(로컬) 서버를 이용합니다.
  • git, dotenv, editorconfig등 로컬 환경, 편집기를 그대로 이용 가능

이 글에서는 설치형 CLI / Self-hosted 사용법에 대해 안내드립니다.

설치

selectfromuser
A tool for admin/backoffice UI using YAML with SQL, RESTful API connectivity.. Latest version: 2.1.42, last published: 5 minutes ago. Start using selectfromuser in your project by running `npm i selectfromuser`. There are no other projects in the npm registry using selectfromuser.

npm i -g selectfromuser@latest

-v, --version 으로 버전을 확인합니다.

slt help 또는 selectfromuser help 를 통해 다른 명령어를 확인 가능합니다.

로그인

브라우저를 통해 인증을 완료하면 로그인 됩니다.

slt login

브라우저가 열리면 로그인을 합니다.
로그인 완료. 로그아웃을 하고 싶은 경우 slt logout
로그인 되어있는 계정을 확인 slt whoami

프로젝트 만들기

slt 또는 slt dev 로 서버를 실행합니다.

  • 기존 팀(프로젝트)를 연결하거나 새로 만듭니다. (엔터를 눌러서 새로 만들기)
  • 팀(프로젝트) 이름을 입력합니다. 나중에 변경 가능 (엔터를 눌러서 다음으로)
Preview URL이 표시됩니다.

표시된 Preview URL로 접속합니다.

구글 또는 이메일 OTP 인증
샘플로 추가된 화면 (dashboard.yml)

데이터 연결하기

샘플로 추가된 index.yml 파일에 리소스 연결을 추가합니다.

샘플이 생기지 않았다면 slt init 으로 다시 추가 가능합니다.

계정 정보는 직접 입력하거나 환경변수에서 가져옵니다. ($로 시작)

resources:
- name: mysql.dev
  type: mysql
  host: $DB_HOST
  port: $DB_PORT
  username: $DB_USERNAME
  password: $DB_PASSWORD
  database: ysg
  timezone: '+00:00'
  extra:
    charset: utf8mb4_general_ci

---
# 데이터베이스 잘 연결되었는지 확인하는 페이지

menus:
- path: healthcheck/db
  placement: page-only

pages:
- path: healthcheck/db
  title: 데이터베이스 연결을 확인합니다.
  blocks:
  - type: query
    resource: mysql.dev
    sql: SELECT * FROM test_image

index.yml 수정

환경변수 반영을 위해 재시작합니다. connected new 로 표시됩니다.
  • YAML 파일을 저장하면 watch-reload 됩니다. (자동 새로고침)
  • 디렉토리를 자유롭게 구성하여도 됩니다.

초대하기

셀렉트 클라우드에 접속하여 팀 설정 페이지를 통해 초대합니다.

여러명이 사용하려고 할때는 서버에 별도로 배포가 필요합니다.

각 환경에 배포된 API Endpoint를 설정합니다. *설정에 따라 아래와 같이 접속주소가 구성됩니다. LOCAL subdomain-local.selectfromuser.com DEV subdomain-dev.selectfromuser.com PROD subdomain.selectfromuser.com (커스텀 도메인을 희망하는 경우 문의바랍니다.)

마무리

로컬에서 설치형을 이용하는 과정을 적어보았습니다. README와 가이드 문서를 통해 디버깅 방법, troubleshooting, FAQ 내용을 추가적으로 업데이트 하겠습니다.

또한 다양한 배포 방법(docker, render, railway, cloudtype, github codespaces)에 대한 내용도 추가 예정입니다.

감사합니다.

셀렉트팀 드림

기타자료
알맞은 설치형 옵션 고르기 (Self-hosted, On-premises)
알맞는 옵션 고르기 셀렉트는 여러가지 설치 방법을 지원합니다. 1) 클라우드 Serverless * 초기 설치없이 바로 팀을 만들고 데이터베이스와 API 연결 * IP 제한, 세션정책, VPC 피어링등 보안옵션 제공 * 서브도메인 발급받거나 커스텀 도메인 연결 (커스텀 브랜딩) * 단점 * 데이터베이스, API 방화벽 설정이 불가능한 경우 테스트 불가능 * git을 이용하여 버전관리 하기 어려움 * 브라우저 편집기를 통해서만
selectfromuser
A tool for admin/backoffice UI using YAML with SQL, RESTful API connectivity.. Latest version: 2.2.6, last published: a day ago. Start using selectfromuser in your project by running `npm i selectfromuser`. There are no other projects in the npm registry using selectfromuser.
selectfromuser.com | selectfromuser.com
Select Admin

셀렉트 가이드 문서(docs)