Docker

[Docker] Notion 대안 Affine 구축 하기

IT-PAPA 2024. 10. 21. 06:48
728x90
반응형

Affine-GraphQLAFFiNE 프로젝트의 일부로, GraphQL API를 제공하여 AFFiNE의 기능을 확장하고 통합할 수 있도록 합니다. AFFiNE는 차세대 지식 기반 플랫폼으로, Notion과 Miro의 대안으로 설계되었습니다. 이 플랫폼은 계획, 정리, 창작을 하나로 통합하며, 프라이버시를 중시하고 오픈 소스이며 사용자 정의가 가능합니다

주요 기능

  • GraphQL API: Affine-GraphQL은 AFFiNE의 데이터와 기능에 접근할 수 있는 GraphQL API를 제공합니다. 이를 통해 개발자는 다양한 애플리케이션과 서비스를 AFFiNE과 통합할 수 있습니다.
  • 오픈 소스: GitHub에서 소스 코드를 확인하고 기여할 수 있습니다.
  • 컨테이너화: Docker 이미지를 사용하여 쉽게 배포하고 관리할 수 있습니다.

 

[Docker] 도커의 모든 것, 도커 추천 이미지!!! (tistory.com)

 

[Docker] 도커의 모든 것, 도커 추천 이미지!!!

필자는 이때까지 docker로 구축한 모든 목록을 이 블로그에 담았다. 앞으로도 이 페이지는 필자가 도커를 구축할 때마다 업데이트하려고 하니, 즐겨찾기 해두면 나쁘지 않을 거 같다. 유용하게 사

betwe.tistory.com

 

docker-compose.yml 파일

docker-compose.yml
version: "3.8"
services:
  affine:
    image: ghcr.io/toeverything/affine-graphql:stable
    container_name: AFFINE
    healthcheck:
      test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3010' || exit 1
      interval: 10s
      timeout: 5s
      retries: 3
      start_period: 90s
    command:
      - sh
      - -c
      - node ./scripts/self-host-predeploy && node ./dist/index.js
    ports:
      - 3010:3010
      - 3020:3020
    depends_on:
      redis:
        condition: service_healthy
      postgres:
        condition: service_healthy
    volumes:
      - ./affine/config:/root/.affine/config:rw
      - ./affine/storage:/root/.affine/storage:rw
    logging:
      driver: json-file
      options:
        max-size: 1000m
    restart: on-failure:5
    environment:
      - NODE_OPTIONS="--import=./scripts/register.js"
      - AFFINE_CONFIG_PATH=/root/.affine/config
      - REDIS_SERVER_HOST=redis
      - DATABASE_URL=postgres://affineuser:affinepass@postgres:5432/affine?sslmode=disable
      - NODE_ENV=production
      - AFFINE_ADMIN_EMAIL=example@gmail.com
      - AFFINE_ADMIN_PASSWORD=admin
      - AFFINE_SERVER_HOST=affine.example.org
  redis:
    image: redis:latest
    container_name: AFFINE-REDIS
    restart: on-failure:5
    volumes:
      - ./affine/redis:/data:rw
    healthcheck:
      test:
        - CMD
        - redis-cli
        - --raw
        - incr
        - ping
      interval: 10s
      timeout: 5s
      retries: 5
  postgres:
    image: postgres:latest
    container_name: AFFINE-DB
    restart: on-failure:5
    volumes:
      - ./affine/db:/var/lib/postgresql/data:rw
    healthcheck:
      test:
        - CMD
        - pg_isready
        - -q
        - -d
        - affine
        - -U
        - affineuser
      interval: 10s
      timeout: 5s
      retries: 5
    environment:
      POSTGRES_DB: affine
      POSTGRES_USER: affineuser
      POSTGRES_PASSWORD: affinepass
      PGDATA: /var/lib/postgresql/data/pgdata

 

docker-compose 시작

docker-compose up -d

 

서비스 URL 접속

http://[서버 IP]:3010/admin

서비스 URL 접속
서비스 URL 접속
계정 생성 화면
계정 생성 화면
관리자 페이지 화면
관리자 페이지 화면

 

http://[서버 IP]:3010 접속 시 화면
http://[서버 IP]:3010 접속 시 화면
메인 화면 공개
메인 화면 공개

 

docker-comopse 중지

docker-compose down
728x90
반응형
LIST