Linux初心者でエンジニアってありですか?

自宅にNAS(SAMBA)を立てられれば大体満足している。

個人WikiにとりあえずGROWI!

久しぶりにそこそこサーバイジリをしたのでちゃんと残しておこうかと
備忘録なので細かいところは抜きですが

GROWIとは

MarkDown形式で簡単に書けるWikiサービス

growi.org

HackMDと連携して色々書けるってことで便利そうだなと

構築の流れ

楽そうという理由でまだまだ詳しくもないDockerを使ってみる

  1. ESXi上にUbuntuServer(18.04)を適当に構築
  2. DockerCE/docker-composeインストール
  3. mydnsでドメインを取得
  4. GROWIを入れてみる
  5. HackMDを入れてみる
  6. https-portalHTTPS

1.2.は飛ばして
3.はゾーン設定について 4.5.6.メイン

mydnsの設定

Free Dynamic DNS (DDNS) for Home Server and VPS etc | MyDNS.JP

  • Domain
    • dev-hideaki.live-on.net
ラベル レコード リリースデータ
www A
wiki CNAME www
hackmd CNAME www

どちらかというとmydnsの場合はちゃんとレコード更新し続ける仕組みが重要ですね。 私の場合は自宅のQNAP NASにcronを仕込んでます。

*/5 * * * * /share/cron/mydns.sh > /share/cron/cron.log

cronの中身は公式の"LET'S TRY"にあるのでそこを参照

GROWI × HackMD × https-portal

急に現れたhttps-portal…元々組み込もうと思っていたんですがなんとGROWI側でテンプレートまで用意されていた!これはその通りやればいけるのでは?

と安易にやったらまる一日死んだ… その結果が以下のconfig

  • docker-compose.yml
    ports:
      - 3000:3000    # localhost only by default
    links:
~~~~~~~~~~~~~~~~~~
      - ELASTICSEARCH_URI=http://elasticsearch:9200/growi
      - PASSWORD_SEED=changeme
      # - FILE_UPLOAD=mongodb   # activate this line if you use MongoDB GridFS rather than AWS
      - FILE_UPLOAD=local     # activate this line if you use local storage of server rather than AWS
      # - MATHJAX=1             # activate this line if you want to use MathJax
      # - PLANTUML_URI=http://  # activate this line and specify if you use your own PlantUML server rather than public plantuml.com
      - HACKMD_URI=https://hackmd.dev-hideaki.live-on.net    # activate this line and specify HackMD server URI which can be accessed from GROWI client browsers
      - HACKMD_URI_FOR_SERVER=http://hackmd:3000  # activate this line and specify HackMD server URI which can be accessed from this server container
      # - can be accessed from this server container
  • docker-compose.override.yml
version: '3'

services:
  ##
  # HackMD(CodiMD) container
  # see https://github.com/hackmdio/codimd#configuration
  #
  hackmd:
    build:
      context: ./hackmd
    environment:
      - GROWI_URI=https://wiki.dev-hideaki.live-on.net
      - HMD_DB_URL=mysql://hackmd:hackmdpass@mariadb:3306/hackmd
      - HMD_CSP_ENABLE=false
    ports:
      - 3100:3000   # localhost only by default
    depends_on:
      - mariadb
    restart: unless-stopped

  ##
  # MariaDB
  # see https://hub.docker.com/_/mariadb/
  mariadb:
    image: mariadb:10.3
    command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci
    environment:
      - MYSQL_USER=hackmd
      - MYSQL_PASSWORD=hackmdpass
      - MYSQL_DATABASE=hackmd
      - MYSQL_RANDOM_ROOT_PASSWORD=true
    restart: unless-stopped
    volumes:
      - mariadb_data:/var/lib/mysql

  # a fully automated HTTPS server powered by Nginx, Let's Encrypt
  # see https://github.com/SteveLTN/https-portal
  https-portal:
    image: steveltn/https-portal:1
    ports:
      - '80:80'
      - '443:443'
    links:
      - app:app
      # - hackmd:hackmd
    environment:
      DOMAINS: 'wiki.dev-hideaki.live-on.net -> http://app:3000,
                hackmd.dev-hideaki.live-on.net -> http://dockerhost:3100'
      # STAGE: 'local'
      # STAGE: 'staging'
      STAGE: 'production'
      FORCE_RENEW: 'true'
      WEBSOCKET: 'true'
      CLIENT_MAX_BODY_SIZE: 0
    restart: unless-stopped
    volumes:
      - https-portal_data:/var/lib/https-portal

volumes:
  mariadb_data:
  https-portal_data:

docker-compose.overirde.ymlはexample内のhttps-portalとintegrate-with-hackmdから拝借してひとまとめ

これで一通り動いた…と思ったんですが…
hackmdも動いている…様に見えてたんですが…
hackmdでの編集が反映されない…

誰か教えてーーーー

f:id:easyToGo:20190428182519p:plain
メモページ

こんな風になページをHackMDで開き直してみても

f:id:easyToGo:20190428182740p:plain
hackmd on growi

完全に初期状態… どう同期させるんだろう??