Heroku에서 Gotify를 사용하는 무료 Pushbullet 대안

7409 단어 godocker
여러 장치가 있고 Android 휴대폰에서 웹 브라우저로(또는 그 반대로) 알림을 받고 싶습니다.
REST API를 통해 알림을 보내고 싶을 수도 있습니다. 당신은 결국 개발자입니다. 알림을 보내는 흥미로운 방법을 생각할 수 있습니다.

Pushbullet이 떠오르지만 Google이나 Facebook에 가입하고 싶지는 않습니다. Google 서비스를 사용하고 싶지 않습니다.

메시지 송수신을 위한 오픈 소스 알림 서버인 Gotify 을 입력하십시오.

이 게시물에서는 Gotify 서버를 Heroku에 무료로 배포하는 방법을 보여드리겠습니다.

프리 티어에는 limitations이 있지만 Gotify를 사용해 보기에는 이상적입니다.

이 자습서를 마치면 무료 SSL 암호화를 사용하여 완벽하게 작동하는 알림 서버를 갖게 됩니다. 몇 분 밖에 걸리지 않습니다!

전제 조건



무료Heroku 계정이 필요하며 컴퓨터에 Heroku CLI이 설치되어 있어야 합니다.

Gotify는 Go로 작성되었지만 컴퓨터에는 필요하지 않습니다.

다음은 Gotify의 아키텍처 개요입니다.

헤로쿠와 도케로



Gotify는 우리가 사용할 수 있는 Docker image을 제공합니다.
안타깝게도 deploying Docker to Heroku의 일반적인 단계를 사용할 수 없습니다.

Heroku는 random port at runtime을 할당합니다. 해당 포트를 Gotify 런타임에 대한 환경 변수로 설정할 방법이 없습니다.

명령줄 플래그로 Gotify 바이너리를 구성할 수 있다면 쉽지만 we can't .

Dockhero을 사용하여 이 문제를 해결합니다.

Dockhero is an add-on which turns any Docker image into a microservice attached to your Heroku app.


가이드



  • 프로젝트의 새 디렉터리를 만듭니다.

     mkdir gotify-heroku && cd gotify-heroku
    




  • Heroku에 로그인하고 새 Heroku 앱을 만듭니다.

     heroku login
     heroku create
    




  • Dockhero용 추가 기능을 프로비저닝합니다.

     heroku addons:create dockhero
    




  • Dockhero용 CLI 플러그인을 설치합니다.

     heroku plugins:install dockhero
    




  • 샘플 프로젝트 생성:

     heroku dh:generate helloworld
    




  • 생성dockhero-compose.yml:

     version: '2'
    
     services:
       app:
         image: gotify/server
         environment:
           - GOTIFY_SERVER_PORT=30100
         restart: 'on-failure:10'
         volumes:
           - './gotify_data:/app/data'
         ports:
           - '80:30100'
    

    원하는 대로 포트를 조정할 수 있지만 아마도 더 높은 포트 번호가 필요할 것입니다. ports 설정도 조정하는 것을 잊지 마십시오. 바인딩의 첫 번째 포트는 80로 유지되어야 합니다. 이것은 Heroku가 수신하는 포트입니다.



  • 배포합니다.

     heroku dh:compose up -d
    




  • 로그를 참조하십시오.

     heroku logs -p dockhero --tail
    




  • Dockhero와 Heroku는 무료 SSL 인증서를 제공합니다. SSL 암호화 URL을 가져옵니다.

     heroku config:get DOCKHERO_FLEXIBLE_SSL_URL
    




  • 웹 사이트로 이동하여 기본 사용자 및 관리자를 변경하십시오.

    기본값은 모두 admin 입니다. 당신은 그것을 변경해야합니다.
    웹 서버는 Gotify의 클라이언트 역할을 합니다. 메시지를 수신하고 앱, 사용자 및 기타 클라이언트를 관리할 수 있습니다. 하지만 메시지를 보낼 수는 없습니다.

  • "앱"탭 아래에 새 애플리케이션을 추가합니다.

    예를 들어 컴퓨터에 Gotify CLI을 설치하고 다음과 같이 메시지를 보낼 수 있습니다.

      gotify push "my message"
    



  • 기계적 인조 인간



    Gotify에는 무료Android app가 있습니다.



    Android 앱은 Gotify 클라이언트(메시지 수신) 및 Gotify 애플리케이션(메시지 전송)의 역할을 할 수 있습니다.

    크롬 기반 브라우저



    웹 브라우저에서 메시지를 보내려면 다음 확장 프로그램을 설치할 수 있습니다: gotify/push .



    확장 프로그램은 dockhero-compose.yml에서 몇 가지 추가 설정이 필요합니다.

    environment:
      - GOTIFY_SERVER_CORS_ALLOWEDORIGINS="- chrome-extension://cbegkpikakpajcaoblfkeindhhikpfmd"
      - GOTIFY_SERVER_CORS_ALLOWMETHODS="- \"GET\"\n- \"POST\""
      - GOTIFY_SERVER_CORS_ALLOWHEADERS="- \"Authorization\"\n- \"content-type\""
      - GOTIFY_SERVER_STREAM_ALLOWEDORIGINS="cbegkpikakpajcaoblfkeindhhikpfmd"
    


    요약



    이제 Heroku에서 실행되는 무료 Gotify 인스턴스가 생겼습니다. 쉽지 않았나요?

    추가 자료


  • Gotify Documentation
  • Dockhero Documentation
  • Gotify Android
  • Gotify CLI
  • mskian/gotify-push
  • 좋은 웹페이지 즐겨찾기