Files in the top-level directory in any check-in
- .fossil-settings
- artworks
- documents
- setup_scripts
- unyohub
- unyohub_gui_tools
- LICENSE
- README.md
鉄道運用Hub
鉄道運用Hubはオープンソースのユーザー投稿型鉄道運用情報データベースアプリケーションです。
サーバへのインストール
アプリ本体の設置と設定
- nginxのwebサーバを用意します。このwebサーバには、SQLite3モジュールが有効化されたPHP(8.1以降)とPython 3の実行環境が必要です。nginxの設定ファイルは本リポジトリのdocumentsフォルダに含まれるサンプルファイルを参考に構成してください。
- アプリ名やアプリアイコンをカスタマイズする場合は以下の「カスタマイズ」の項目に記載の内容に従ってunyohubフォルダ内の各ファイルを編集してください。
- 同じくunyohubフォルダに含まれれるrobots.txtとconfigフォルダ内のmain.iniを使用環境に合わせて編集し、rules.txtには利用者のためのルールとポリシーを記述してください。
- ユーザー情報に使い捨てメールアドレスを登録できないようにする場合は、configフォルダ内のwakarana_email_domain_blacklist.confに使用禁止対象ドメインを各行1つずつ入力します。
- unyohubフォルダ内のファイルを全てサーバにアップロードします。
- GNU/Linuxの場合、鉄道運用Hubのメンテナンスに使用するOSアカウントのhomeフォルダにある.bashrcファイル(隠しファイル)に、以下の内容(パスは使用環境に合わせて読み替えてください)を追記して、unyohubフォルダ内のcommandsフォルダを環境変数PATHに追加します。コマンドライン上でこの操作を行った場合は、.bashrcの編集後、端末エミュレーターの再起動が必要です。
export PATH=$PATH:/unyohubフォルダをアップロードしたフォルダのパス/unyohub/commands
- commandsフォルダ内のファイルunyohubにchmodコマンド等で実行権限を追加します。
- 端末エミュレーターで以下のコマンド(ユーザーIDには半角英数字とアンダーバーが使用可能です)を順にサーバ上で実行します。1つ目のコマンドの実行時には管理者ユーザーの初期パスワードが表示されるため、これをメモしておいてください。
unyohub setup-libs 作成する管理者ユーザーのID
unyohub init-moderation-db
- 後述の「data」フォルダ、及び、その中の各路線系統のデータフォルダをサーバ上のunyohubフォルダ内にアップロードすれば、アプリが実行可能となります。
各路線系統のデータ作成
- ここからはサーバではなくPC上での作業となります。作業に使用するPCには事前にTkinterが使用可能なPython3の実行環境を用意してください。
- まずは、空のフォルダ「data」を作成し、その中に任意の名前(半角英数字とアンダーバーのみで構成することを推奨します)で路線系統のデータフォルダを作成してください。
- 「鉄道運用Hub用データ編集ツール」を開いてこのデータフォルダを作業フォルダとして選択し、「データベースのセットアップ」を実行するとrailroad.dbが生成されます。
- documentsフォルダ内のファイル構成資料とサンプルファイルを参考にして、データフォルダ内にrailroad_info.jsonとdiagram_revisions.txtを作成します。
- 任意の空フォルダに、その路線系統で使用する車両アイコン画像ファイル(拡張子はwebp、png、gifのいずれか)を作成します。それぞれの画像のファイル名(拡張子以外の部分)はアイコンIDとなるため、半角英数字とハイフンのみで構成することを推奨します。
- 「鉄道運用Hub用データ編集ツール」の「アイコン画像をファイルに埋め込み」でこのフォルダを選択してアイコン画像のエンコードを実施し、生成されたtrain_icons.jsonを路線系統のデータフォルダにコピーします。
- documentsフォルダ内の資料を参考にして、編成表をCSV形式のファイルとしてデータフォルダ内に作成します。
- データフォルダ内にダイヤ改正日名(「YYYY-MM-DD」形式)のフォルダを作成し、その中に、documentsフォルダ内の資料に従いながらdiagram_info.jsonを作成します。
- 同様に、各路線の時刻表、各ダイヤの運用表をCSV形式でダイヤ改正日名フォルダ内に作成し、それぞれ「鉄道運用Hub用データ編集ツール」でJSONファイルに変換します。
- 「data」フォルダ内の各フォルダをサーバにアップロードし、以下のコマンド(各路線系統ごとに実行する必要があります)を使用して、編成表の変換とデータベース書き込みを実行してください。
unyohub conv-formations 路線系統データフォルダ名
- 以下のコマンド(それぞれの路線系統で各ダイヤごとに実行する必要があります)を実行して、JSON化された運用表を全てrailroad.dbにインポートします。
unyohub update-operations 路線系統データフォルダ名 ダイヤ改正日名 ダイヤ識別名
- ここでwebブラウザからアプリにログインして、管理画面の「路線系統の追加・削除」から路線系統を有効化してください。
- 最後に、管理画面の「路線系統グループの編集」で路線系統を任意のグループに追加すると、路線系統が使用可能となります。
メンテナンス
- エンドユーザーから投稿された運用情報は全てrailroad.dbに蓄積されます。railroad.dbは定期的にバックアップしてください。
- 編成表や運用表を更新した場合は、その都度unyohubコマンドを実行してデータをrailroad.dbにインポートしてください。
カスタマイズ
鉄道運用Hubのアプリ名やアイコンは以下のファイルを編集することで変更可能です。
- manifest.json の変数値 name 及び short_name
- favicon.ico (同名のアイコンファイルに差し替え)
- apple-touch-icon.webp、maskable_icon.webp、splash_screen_image.webp (それぞれ同名のWebPファイルに差し替え)
このリポジトリについて
2pd.jpドメインのFossilリポジトリ(https://fossil.2pd.jp/unyohub/)以外は全てミラーです。リポジトリのクローンを行う場合はFossilリポジトリのご利用を推奨します。
また、このソフトウェアについてのご質問や不具合の報告はMidari Createへご連絡ください。