Files
rogaining_srv/rogaining_autoprint
2025-08-20 19:15:19 +09:00
..
2025-08-20 19:15:19 +09:00
2025-08-20 19:15:19 +09:00
2025-08-20 19:15:19 +09:00
2025-08-20 19:15:19 +09:00
2025-08-20 19:15:19 +09:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

システム管理

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アクセスログを監視
印刷ジョブの異常を検知して通知
エラーログの定期チェック