Hasura on Dokku
DokkuでHasuraを構築
Hasuraアプリ作成
dokku apps:create hasura
ドメイン設定
dokku domains:add hasura hasura.[your.domain.com]
DB作成
# sudo dokku plugin:install https://github.com/dokku/dokku-postgres.git dokku postgres:create hasura-db dokku postgres:link hasura-db hasura
Hasura settings
dokku config:set hasura HASURA_GRAPHQL_DATABASE_URL=$(dokku postgres:info hasura-db --dsn) HASURA_GRAPHQL_ADMIN_SECRET="your_secret_password" HASURA_GRAPHQL_ENABLE_CONSOLE="true" dokku proxy:ports-set hasura http:80:8080 docker pull hasura/graphql-engine:latest && dokku git:from-image hasura hasura/graphql-engine:latest
HTTPS化
# sudo dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git dokku config:set --no-restart hasura DOKKU_LETSENCRYPT_EMAIL=[your-email@your.domain.com] dokku letsencrypt:enable hasura dokku letsencrypt:cron-job --add
Vultr on Dokku
Vultr + Dokku
Vultr
- Cloud Compute
- Tokyo region
- OS: Ubuntu 20.04 x64
- $5/month
Login
ssh root@[ip_address]
Swap space
cat /proc/swaps # Filename Type Size Used Priority # create a folder for swap mkdir /var/swap # create 2GB swap file dd if=/dev/zero of=/var/swap/swap0 bs=1M count=2048 # Set permission chmod 600 /var/swap/swap0 # Setup swap configuration mkswap /var/swap/swap0 swapon /var/swap/swap0 echo '/var/swap/swap0 swap swap defaults 0 0' >> /etc/fstab cat /proc/swaps
Install Dokku
wget https://raw.githubusercontent.com/dokku/dokku/v0.26.6/bootstrap.sh sudo DOKKU_TAG=v0.26.6 bash bootstrap.sh
Domain settings
Vultr DNS
- ip_address
- mydomain
Google domains
- カスタムネームサーバー
- ns1.vultr.com
- ns2.vultr.com
Setup SSH key and Virtualhost Settings
# usually your key is already available under the current user's `~/.ssh/authorized_keys` file cat ~/.ssh/authorized_keys | dokku ssh-keys:add admin # you can use any domain you already have access to dokku domains:set-global [mydomain]
Firewall
sudo ufw allow http sudo ufw allow https
HTTPS
# Dokkuホスト上で # letsencryptプラグインをインストールする # プラグインのインストールにはrootが必要なので、ユーザを変更してください sudo dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git # プラグインの設定を行う dokku config:set --global DOKKU_LETSENCRYPT_EMAIL=[your@email.tld] # アプリケーション用に独自のカスタムドメインを設定する dokku domains:set [app_name] [app_name].[mydomain] # letsencryptを有効にする dokku letsencrypt:enable [app_name] # 自動更新を有効にする dokku letsencrypt:cron-job --add
PWA対応したシンプルな時計を表示するWebページを作りました
最近、iPad用に卓上スタンドを購入しました。
https://amzn.to/3mVG1Txamzn.to
iPadに表示する用のシンプルな時計を探しましたがあまり良さそうなものがなく、 時計を表示するWebサイトはあったんですが、PWA対応がされてなかったりしました。 あっても文字サイズが小さかったりしたので、自作しました。
PWA対応したシンプルな時計
https://nextjs-clock.vercel.app/
ソースコード
技術
- Next.js(React)
- Chakra UI
気になったサービス・技術 2021/10/09
Supabase
Firebaseの代替え?
Render
Herokuの代替え?
MeiliSearch
Algoliaの代替え?
Marp
マークダウンでスライドづくり
Slidev
同じくマークダウンでスライドづくり
DbGate
データベースクライアントアプリ