Faxocr system は、Ruby on Rails の Web application と、Cron による定期的なFAXメール送受信、MySQL によるデータベースから構成されています。
ここで紹介する方法は、開発や動作確認を行うための手順になります。実際の運用ではKubernetesなどで動かすことをお勧めします。
以下のサイトよりDockerのインストールを行ってください。
- Docker Desktop for Windows
https://hub.docker.com/editions/community/docker-ce-desktop-windows/ - Docker Desktop for Mac
https://hub.docker.com/editions/community/docker-ce-desktop-mac/ - Ubuntu
https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-engine---community-1
docker network create some-network
dockerhub から mysql:5.6 を使用します。必ず 5.6 を使用してください。
docker run --name some-mysql --network some-network -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.6 --character-set-server=utf8 --collation-server=utf8_unicode_ci
以下のコマンドは Faxocr がインストールされたコンテナの起動となります。Web Application や Cron は起動しません。
docker run -ti --network some-network -p 3000:3000 -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_HOST=some-mysql -e SERVER_TYPE=docker -e POP3HOST=outlook.office365.com -e POP3PORT=995 -e [email protected] -e POP3PASSWORD=xxxxx -e POP3SSL=true -e FAXSENDTYPE=messageplus -e SMTPHOST=smtp.office365.com -e SMTPPORT=587 -e SMTPAUTH=true -e [email protected] -e SMTPPASSWORD=xxxxx -e SMTPSSL=true -e [email protected] -e FAXTODOMAIN=mailfax.everynet.jp -e [email protected] -e FAXUSER= -e FAXPASS= kekekekenta/faxocr
Ruby on Railsの Web Application を起動する場合、以下のコマンドで実行してください。実行したら Docker をホストするデスクトップのブラウザで、 http://localhost:3000/faxocr/ にアクセスしてください。初期管理者は admin、初期パスワードは admin です。
cd /home/faxocr/rails
rake db:create
rake db:migration
rake db:seed
script/server
実際の運用では、共有ボリュームを用意して、Faxocrコンテナを、Web Application用とCron用に分けて起動することをお勧めします。なお、これらの設定は、環境変数などで行います。
Ruby on Rails Web Applicaiton が使用する MySQL の接続設定
- MYSQL_HOST
使用するMySQLコンテナの名前を設定します。 - MYSQL_ROOT_PASSWORD
MySQLにアクセスするためのパスワードを設定します。
以下のFaxocr設定を行う場合は、SERVER_TYPE環境変数をdockerとして下さい。
- SERVER_TYPE
docker と設定する
Faxocr Fax受信時に使用されるメールサーバの POP3 インタフェース設定
- POP3HOST
受信時にFaxサービスからTIFF画像が送られてくるメールサーバのPOP3サーバの指定 - POP3PORT
POP3HOSTのPOP3インタフェースのポート番号 - POP3USER
POP3HOSTのユーザ名 - POP3PASSWORD
POP3HOSTのパスワード - POP3SSL
POP3HOSTにSSL接続する場合はtrueを入力。SSL不必要な場合はfalse。
Faxocr Fax送信時に使用されるメールサーバのSMTPインタフェース設定
- SMTPHOST
FAX送信時に使用するメールサーバのSMTPサーバホストの指定 - SMTPPORT
SMTPHOSTのSMTPインターフェースのポート番号 - SMTPAUTH
SMTPHOSTにSMTP認証が必要な場合はtrueを入力。認証が不必要な場合はfalse。 - SMTPUSER
SMTPHOSTのSMTPユーザ名 - SMTPPASSWORD
SMTPHOSTのパスワード - SMTPSSL
SMTPHOSTにSSL接続する場合はtrueを入力。SSL不必要な場合はfalse - SMTPFROM
メール送信時のFromアドレス
Fax送信時に使用されるFaxサービス向けのメール設定
- FAXTODOMAIN
FAX送信する宛先FAXサービスのメールのドメイン名 - FAXFROMADDR
FAX送信する送信元アドレス - FAXUSER
認証用ユーザ名(FAXサービスが NTT Communications iFAX の場合に使用される) - FAXPASS
認証用パスワード(FAXサービスが NTT Communications iFAX の場合に使用される)
例: Fax送受信に使うメールサーバとしてhotmailを利用。Faxサービスは、faximoを利用
SERVER_TYPE=docker
POP3HOST=pop3.live.com
POP3PORT=995
[email protected]
POP3PASSWORD=xxxxxxxxxxx
POP3SSL=true
SMTPHOST=smtp.live.com
SMTPPORT=25
SMTPAUTH=true
[email protected]
SMTPPASSWORD=xxxxxxxxxxx
SMTPSSL=true
[email protected]
FAXTODOMAIN=ml.faximo.jp
[email protected]
FAXUSER=
FAXPASS=