미디어, 피트니스 등 추적관리 오픈소스 Ryot구축해보기

 

안녕하세요. 달소입니다.

 

앞서 소개해드린 Ryot를 직접 설치하는방법입니다.

 

 미디어, 피트니스 등 추적관리 오픈소스 Ryot[서버 구축(Self-Hosted)] 달소 2024.07.01  안녕하세요. 달소입니다.   오늘 소개해드릴 오픈소스 프로젝트는 Ryot 입니다. 1년전 베타때 ... 

 

 

docker로 구성하기때문에 매우 손쉽게 구성하실 수 있습니다.

다만 이미지나 영상을 넣으려면 minio나 s3같은 스토리지를 연결해야하네요... 굳이 이렇게 만들어야했나 크흠.,..

아직은 좀더 성숙해야할 프로젝트로 보이긴하네요..

 

ryot 컨테이너 생성하기

 

mkdir -p /data/ryot
cd /data/ryot
vi docker-compose.yml

 

아래 yml 파일에서 postgres의 계정과 PW는 변경 후 사용핮시는게 좋습니다. 

 

services:
  ryot-db:
    image: postgres:16-alpine # at-least version 15 is required
    restart: unless-stopped
    volumes:
      - ./db-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_DB=postgres
    container_name: ryot-db

  ryot:
    image: ignisda/ryot:latest # or ghcr.io/ignisda/ryot:latest
    environment:
      - DATABASE_URL=postgres://postgres:postgres@ryot-db:5432/postgres
    ports:
      - "8000:8000"
    pull_policy: always
    container_name: ryot

 

docker compose up -d 명령어로 컨테이너를 생성합니다.

 

image.png.jpg

 

 

image.png.jpg

 

생성이 완료되면 ip:8000번 포트로 접근해봅시다.

 

기본 페이지는 심플하네요 ㅎㅎ

 

image.png.jpg

 

Create a new account를 만들어서 게정을 만듭니다.

 

image.png.jpg

 로그인을 하면 대시보드가 반겨줍니다.

 

image.png.jpg

 

Settings에서 노출할 항목이나 설정등도 수정이 가능합니다.

 

image.png.jpg

 

 

심화편(상세설정)

 

기본적인 설치는 위 docker-compose만 사용해도가능하지만

상세 옵션의 경우 별도의 과정이 추가로필요합니다.

 

상세 구성옵션은 아래 링크에서 확인이 가능하며 

 

Configuration - Ryot Documentationdocs.ryot.ioRyot Documentation 

 

 ryot.yaml 파일을 만들고 마운트 함으로써 설정값을 임의로 조정할 수 있습니다.

 

테스트 설정은 로컬 계정생성을 못하게하는 옵션입니다.
(allow_registration: false)

 

vi ryot.yaml

 

# Settings related to server.
users:
  # Whether new users will be allowed to sign up to this instance.
  # @envvar USERS_ALLOW_REGISTRATION
  allow_registration: false

  # Whether to disable local user authentication completely.
  # @envvar USERS_DISABLE_LOCAL_AUTH
  disable_local_auth: false

  # The secret used for generating JWT tokens.
  # @envvar USERS_JWT_SECRET
  jwt_secret: "testsdfs"

  # The number of days till login authentication token is valid.
  # @envvar USERS_TOKEN_VALID_FOR_DAYS
  token_valid_for_days: 90

 

그리고 docker-compose.yaml도 수정이 필요합니다.

볼륨쪽 매핑을 추가해줬습니다.

 

image.png.jpg

 

최종 구조는 아래처럼 됩니다.

 

image.png.jpg

 

그리고 docker compose down && docker compose up -d로 컨테이너를 재생성 시켜주면 옵션이 적용됩니다.

 

image.png.jpg

 

위와같은 방식으로 다른설정들도 적용할 수 있습니다.