このプロジェクトについて
AllisWellは、タスク、プロジェクト、ノート、リマインダーをカバーするオープンソースのセルフホスト型生産性アプリケーションで、Todoist、Things 3、TickTick、Appleリマインダー、Notionの無料代替として位置づけられています。クライアントはiOS、Android、Web、macOS、Windows、Linuxを対象とする単一のFlutterコードベースです。バックエンドはNode.js/Fastifyサービスで、正規ストアとしてMySQL(またはMariaDB)を使用し、キューとリアルタイムファンアウトにRedis、添付ファイルにS3互換オブジェクトストレージ(Cloudflare R2または任意のS3)を使用します。
READMEに記載されている主な機能:
- タスクとプロジェクト: タスクはプロジェクトに属し、説明、タグ、サブタスク、色、添付ファイルを持ちます。プロジェクトバッジはビュー間でタスクに追従します。プロジェクトは色、お気に入り、アーカイブ、プロジェクトごとのタスク/ノート/ファイルタブをサポートします。
- ノート: GitHub Flavored Markdown(テーブル、タスクリスト、脚注、コールアウト、KaTeX数式、シンタックスハイライトされたコード、Mermaid図)をレンダリングするMarkdownワークスペースで、閲覧、リッチエディタ、ソースの各ビューがあります。外部の.mdファイルを開いて編集し保存し直すことができ、明示的な競合処理があり、サイレント自動保存はありません。
- リマインダー: 緊急タスクはアラーム級の配信を使用し、サイレントモードと集中モードを貫通して鳴ることを意図しており、確認されるまで再通知し、次の鳴動時刻を明示するスヌーズプリセットを提供します。アラームログはOSレベルの干渉を記録します。
- 繰り返し: ルールには毎日/毎週/毎月/毎年、月末、第n曜日、オフセットが含まれ、「次の5回」プレビューと12か月分の実体化されたタスク行があります。毎月のルールは短い月にクランプされ(例: 31日は2月28日になる)、スキップされません。
- カレンダー同期: GoogleカレンダーとAppleカレンダーとの双方向同期は、オプションではなく常時有効と説明されています。
- 検索: デバイス上のレプリカに対するローカルで大文字小文字とアクセントを区別しない検索で、タイトル、タグ、本文でランク付けされ、オフラインで動作します。
- 同期: ローカルファーストアーキテクチャで、ミューテーションアウトボックス、リビジョンログ、冪等プッシュ、フィールドレベルの最終書き込み優先、クロスデバイス更新用のSocket.IOチャネルを備えています。
- ファイル: タスク、ノート、プロジェクトへの添付ファイルに加え、ネスト可能なフォルダを持つグローバルなファイルセクションがあり、APIがバイトをプロキシしないよう署名付きURLで保存されます。
- ウィジェット: iPhone、iPad、Android、Mac向けのホーム画面ウィジェットがホームバケットをミラーし、ワンタップ完了、オプションのプロジェクト単位スコープ、iPhoneでのロック画面サポート、ライブクロックを備えています。
- サインイン: メール/パスワードに加え、オプションのGoogleおよびAppleサインインがあり、アカウントは引き続きインスタンス自身のデータベースが所有します。
- オプションのAI: 自分のキーを持ち込むプロバイダーと、Claude/ChatGPT用のMCPコネクタが言及されています。
- ローカライズ: 英語とトルコ語で、追加言語はJSONファイルで追加されます。
デプロイ: APIとWebアプリ用の公開Dockerイメージ(linux/amd64およびlinux/arm64)により、提供されたdocker-composeファイルでセルフホストできます。APIは起動時にスキーマを作成およびマイグレーションし、データは名前付きボリュームに保存されます。開発にはNode.js 22+、Docker、Flutter 3.44+が必要で、デモシードスクリプトが利用可能です。
READMEは制限事項も率直に述べています: 位置情報やメッセージングベースのリマインダーはなく、招待/RSVP/空き時間処理はなく(カレンダープロバイダーに委任)、共有UIのないワークスペースモデルです。ライセンスはPolyForm Noncommercialで、個人利用とセルフホストは無料です。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.