LAN内のKawpaaで使う証明書をいい感じにする

2022-04-04

LAN内に自宅鯖があってそっちで動かしてる、とかだと便利。

本日の9割

BenMorel/dev-certificates: Create development certificates the easy way!

  1. git clone https://github.com/BenMorel/dev-certificates
  2. READMEを読んでその通りに必要なルート証明書とサーバー証明書を用意する
  3. クライアント側にルート証明書をインストールしておく

残りの1割

Kawpaaはオレオレ証明書を適当に作ってるみたいだけど、無視して先程作ったものを使わせるようにする。

要は、先程作った証明書を適当な場所に置いてvolumesを使う。

cd
cp ~/dev-certificates/{domain}.key ~/Kawpaa/keys/server.key
cp ~/dev-certificates/{domain}.crt ~/Kawpaa/keys/server.crt

Kawpaa/.dockerignore

data
build
node_modules
bower_components
logs
shells
- keys
+ #keys
volume
.env

Kawpaa/Dockerfile

COPY .env.docker ./.env

- RUN mkdir keys
- RUN cd ./keys && \
-     openssl genrsa 2048 > server.key && \
-     openssl req -new -nodes -subj "/CN=xxx/O=xxx/ST=xxx/C=JP" -key server.key > server.csr && \
-     openssl x509 -in server.csr -days 365 -req -signkey server.key > server.crt

EXPOSE 9021

RUN npm run build

Kawpaa/docker-compose.yml

  kawpaa-app:
    container_name: kawpaa-app
    restart: always
    build: .
    ports:
      - '9021:9021'
    links:
      - kawpaa-redis
      - kawpaa-mongo:mongodb
    depends_on:
      - kawpaa-redis
      - kawpaa-mongo
    volumes:
      - ./volume/app/data:/var/www/myapp/data
+     - ./keys:/var/www/myapp/keys
    environment:
      TZ: Asia/Tokyo
      WAIT_HOSTS: kawpaa-redis:6379, kawpaa-mongo:27017

ここまででできること

  • ブラウザに怒られずに https://{domain}:9021 が叩けるようになる

やり損ねたこと

  • ポート番号の変更
    • Twitter APIのCallback URLとかも全部変えることになるので今回はパスで
  • nginxを使う
dockerkawpaacertificate

@jack

hentai nerd