このプロジェクトについて

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で、個人利用とセルフホストは無料です。