システム管理 1. 環境変数の設定 必要な環境変数: envCopyAWS_ACCESS_KEY_ID=your_access_key AWS_SECRET_ACCESS_KEY=your_secret_key AWS_REGION=us-west-2 S3_BUCKET_NAME=sumasenrogaining LOCATION=美濃加茂 PRINTER_NAME=Brother_HL_L3240CDW_series 2.プリンター設定 3.1 CUPSの設定 # CUPSの状態確認 systemctl status cups # CUPSが動いていない場合は起動 sudo systemctl start cups sudo systemctl enable cups # プリンター一覧の確認 lpstat -p -d 3.2 プリンターの権限設定 # プリンターデバイスの確認 ls -l /dev/usb/lp* # プリンターデバイスの権限設定 sudo chmod 666 /dev/usb/lp0 3.3 ネットワークプリンターの場合 config.yamlのprinterセクションを以下のように設定: yamlCopyprinter: name: ipp://192.168.1.100:631/ipp/port1 4. Dockerイメージのビルドと起動 4.1 イメージのビルド bashCopy# イメージのビルド docker-compose build 4.2 コンテナの起動 bashCopy# コンテナの起動(バックグラウンド) docker-compose up -d # ログの確認 docker-compose logs -f 5. 動作確認 5.1 ログの確認 bashCopy# アプリケーションログの確認 tail -f logs/app.log # エラーログの確認 tail -f logs/error.log 5.2 テスト印刷 bashCopy# テスト用PDFファイルをS3にアップロード aws s3 cp test.pdf s3://sumasenrogaining/美濃加茂/scoreboard/test.pdf 5.3 プロセスの確認 bashCopy# コンテナの状態確認 docker-compose ps # コンテナ内のプロセス確認 docker-compose exec printer ps aux 6. トラブルシューティング 6.1 印刷できない場合 CUPSの状態確認 bashCopydocker-compose exec printer lpstat -t プリンターの権限確認 bashCopydocker-compose exec printer ls -l /dev/usb/lp0 プリンター接続の確認 bashCopydocker-compose exec printer lpinfo -v 6.2 S3接続エラーの場合 認証情報の確認 bashCopydocker-compose exec printer env | grep AWS S3バケットへのアクセス確認 bashCopydocker-compose exec printer python3 -c " import boto3 s3 = boto3.client('s3') response = s3.list_objects_v2(Bucket='sumasenrogaining') print(response) " 6.3 ログの確認方法 bashCopy# 直近のエラーログ docker-compose exec printer tail -f /logs/error.log # アプリケーションログ docker-compose exec printer tail -f /logs/app.log 7. 運用とメンテナンス 7.1 定期的なメンテナンス bashCopy# ログローテーション確認 ls -l logs/ # ディスク使用量確認 du -sh data/ logs/ # 古いPDFファイルの削除 find data/files -name "*.pdf" -mtime +30 -delete 7.2 バックアップ bashCopy# 設定ファイルのバックアップ tar czf config-backup-$(date +%Y%m%d).tar.gz .env config.yaml # 処理済みファイルログのバックアップ cp data/${LOCATION}.filelog data/${LOCATION}.filelog.bak 7.3 アップデート手順 bashCopy# コンテナの停止 docker-compose down # 新しいイメージのビルド docker-compose build --no-cache # コンテナの再起動 docker-compose up -d 8. セキュリティ考慮事項 8.1 認証情報の管理 .envファイルのパーミッションを600に設定 AWSアクセスキーは定期的にローテーション 本番環境では.envファイルをgitにコミットしない 8.2 ネットワークセキュリティ コンテナネットワークは必要最小限の公開 プリンターアクセスは内部ネットワークに制限 AWS S3へのアクセスは特定のIPに制限 8.3 モニタリング CloudWatchなどでS3アクセスログを監視 印刷ジョブの異常を検知して通知 エラーログの定期チェック