ご質問・お見積り等お気軽にご相談ください
お問い合わせ

メモをLinkwardenで作ってみた

メモをLinkwardenで作ってみた

システム開発部の前野です。いつもウェブネーションのコーポレートサイトへご訪問頂きありがとうございます。

先週水曜日は久々に体調を崩してしまいリモートワークをしていました。朝起きたら頭痛がひどく、珍しく二日酔いかと思いきや体温を計ったら36度を切っていたので低体温のような症状でしょうか?朝の血圧は普段から100/60前後と低めなので、体調が戻るまで大人しくするしかありません。普段なら低気圧が近づいた時に体調を崩しがちですが、今回は連日雨からの快晴に体がついていけなかったようです。

さてリモートワークということで今日は通勤時間がなくなりましたが、普段はバス・電車・地下鉄と乗り継いで家から職場までドア・ツー・ドアで1時間半の通勤時間と職場では時間がかかる分類に位置する通勤者の私ですが、特に心がけているのが長時間移動では極力座席に座ることをポリシーとしています。

移動時間が長いので体力を使うということもありますが、月20日間の往復通勤時間って意外にも重なると結構な時間になるのものです。仮に1日1時間の時間を何かに活用できた場合、月で20時間、年間で240時間なので、グロスで見ると半端ない時間数だったりします。そこで、乗る予定の電車の車両数が長いかどうかをチェックして、なるべく座れる電車を選んでいます。

行きの電車はほぼ固定ですが、問題は帰りの電車。仕事の忙しさで帰宅時間はバラバラになりがちな上に、春のダイヤ改正も加わって人手不足の影響か車両数が短い電車が帰宅ラッシュの時間帯に交じるようになりました。

実際に見ているサイトになります。この画像はNotionです。

そこで便利なツールが指定サイトをクロールしてNotionのページを生成してくれるNotion Web Clipperです。収集したサイトはNotionで見れるのが便利ですが、先週はNotionが連日障害で落ちてしまい、帰宅時間を直撃して座れそうな電車の時間を探すのに手間取ったので、Linkwardenというオープンソースソフトウェアに乗り換えました。

Linkwardenはブックマークを管理するツールですが、ブックマークを登録すると同時にサイトがオフラインでも読めるようテキスト形式、スクリーンショット形式、PDF形式でも保存してくれるスグレモノです。

導入方法も簡単でgitからソースを落として.envファイルに必要設定を書き、docker-composeで立ち上げるだけです。データベースはPostgreSQLで管理されており、docker-composeにデータ永続化の設定がされているので、不意に落ちても安心です。

# ソースコードの取得
$ git clone https://github.com/linkwarden/linkwarden.git

# フォルダの移動
$ cd linkwarden

# 設定ファイルの作成
$ vi .env
========================================
NEXTAUTH_SECRET=ランダムのコード
NEXTAUTH_URL=http://100.81.181.89:3000/api/v1/auth
NEXT_PUBLIC_CREDENTIALS_ENABLED=true
DATABASE_URL=postgresql://user:password@localhost:5432/linkwarden
POSTGRES_PASSWORD=ランダムのパスワード
========================================

# Dockerで立ち上げ
$ sudo docker-compose up -d
実際の画面、自宅にあるraspiにtailscale経由でアクセスして使っています。レスポンシブ対応でスマホからもアクセスできます。

まだ登場してからそこまで経っていないソフトウェアなのと、時々日本語サイトのクロールに失敗して文字化けすることもあり、個人的な完成度としては今のところ50%と厳しめです。

主要な機能使用例
ユーザー管理(IDとパスワードを使って複数人で利用可能)
カテゴリ機能「オープンソース」とカテゴリ管理が可能
サブカテゴリ機能「オープンソース」→「Github」と階層構造で管理が可能
タグ機能「# PostgreSQL」の形で、リンク先ごとにタグの設定
API機能iOSのショートカットと連携し、
シェア→Save to Linkwardenが利用可
Linkwardenの主要機能

基本的な機能は上記の通りですが、オープンソース(カテゴリ)→Github(サブカテゴリ)の中にブックマークを追加して細分化したり、タグ付け機能で#PostgreSQLと設定をすることで、カテゴリを横断して指定タグに該当するブックマークを抽出することができます。

今回ツールの移行を気に内容を大幅に整理しましたが、普段から技術情報はチェックしているので、Qiitaの記事や技術情報のRSSを見て良さそうな情報は片っ端から登録をしていたりするので、用途ごとに分けれるカテゴリや内容ごとに分けれるタグ機能は便利だと感じました。

一方で点数が低い理由はスマホ対応がまだ弱くアプリ版がない(PWAには対応)ことや、iOSのショートカット機能からAPIを叩いてブックマークを登録できますが、Androidには非対応なので、Android向けの改善も望まれるところです。

Dockerの登場でGithubに公開されているオープンソースソフトウェアを立ち上げるのも楽になり、Tailscaleを使うことで、グローバルIPアドレスやDDNS、ルータから内部のサーバーを公開せずにクローズドでセキュアにサービスを作ることも簡単になりました。皆さんも活用してみてください!

この記事を書いた人
大樹前野
maeno
株式会社ウェブネーションの取締役です。ある時はうどん屋の皿洗い、ある時はサービス運営チームのメンバー、ある時はクラウド環境の設計を担当するバランス型なキャラですが、唯一プログラミングだけ苦手です。3度の飯よりドライブが好きで、週末に安心してドライブを楽しむために日々自動化の技術に取り組んでいます。