Sinatra使ってみた

仕事で簡易的で良いので取引先にファイルをダウンロードさせたいという要望があったのでSinatraでファイル配布用のWebアプリを書いてみた。

FileDistribute

f:id:i2bs:20130607223117p:plain

管理者ユーザの作成とかあった方がよい機能もたくさんあるけど一応現在運用中です。

インストールはGitHub pagesに記載した通りで、settings.ymlのrootユーザ名とパスワードを変更してbundle exec rake setupすると必要なディレクトリとSQLiteのDBが作成されます。
あとはbundle exec rackupするなり、Passenger使うなりで動かせます。
Webアプリ上からファイルを削除するとDBのレコードだけ消してファイルの削除はしないのでbundle exec rake cleanをcronか何かで動かす必要があります。
また現状はアップロードしたファイルが同じディレクトリに作成されるので大量のファイルをアップロードすると多分1000ファイルを超えたあたりでかなり重くなると思います。