引用元:MOONGIFT
DanbooruはRuby on Rails製のオープンソース・ソフトウェア。pixivに代表されるイラストコミュニティは昔から人気が高い。自分の作品を手軽に発表したり、誰かの作品にコメントしたりして楽しめる。二次創作の分野も活発だ。

そんなイラストコミュニティサイトを自分でも作ってみたいと思ったらDanbooruを使ってみるのが良さそうだ。インタフェースはシンプルだが、機能は十分に備えている。クローンサイトも多数あり、分野を限ったりしてイラストコミュニティサイトを立ち上げてみると面白そうだ。
(MOONGIFT)
画像をアップロードし、タグで分類することができたサイト。現在本家 Danbooru は運営を停止している。

しかしソースコードを配布しており、クローンサイトが多数ある。
(はてなキーワード)
日頃ネットで拾う画像の整理と重複チェック用途にnconvertとmysqlとmd5あたりを使った管理CGIを作りたいなぁ…と思っていた(ほんとに思っていただけ)矢先、某サイトのアクセスログ経由で知ったdanbooru。萌え板CMSとでも言うのでしょうか。画像等を貼り付けて、tagでジャンル分け。ハッシュで画像の重複投稿チェック。コメント記入可。Wiki装備。RSS&atom出力。
(mikoto)

最新ソースのホストされている Githubには、taggable image board(タグ付け可能な画像掲示板)と説明文が書かれています。

設定の難しいオープンソースアプリケーションも、Walbrixなら設定済みの「仮想アプライアンス」を選択してダウンロードするだけ。仮想アプライアンスとは »

Danbooruの利用

技術メモ by Walbrixの中の人

公式サイトで公表されている Subversionリポジトリが何のアナウンスもなく死んでいたので、ああこのプロジェクトはもう死んでいるのかなと思ったら実は Githubで生きていました。オープンソースは滅びぬ、何度でも蘇るさ、という感じでしょうか。

Rails製アプリケーションの例に漏れず依存関係が非常にタイトです。とはいえ最近は必要な gemsを自動でインストールしてくれる仕組みがあるようなので以前よりも導入がしやすく・・・なっているのかこれは?なっているのか?どうせアプリケーションごとに独自の gem空間が必要(バージョン合わせのため)なのであれば、いっそのこと Javaみたいにライブラリまで全部含めて配布してしまう形態にしてはどうかとも思いますが、Javaでいうところの jarファイルみたいにひとつのライブラリが1個のファイルにまとまっていてとてもわかりやすい仕組み(クラスパスの意味をわかっておく必要がある点はさておき)も無いですし、だからこそいっそのこと Walbrixみたいなもので OS環境ごとパッケージングしてしまえという話になるわけですね。

Danbooruではアップロードした画像はバックグラウンドで変換処理されることになっているんですが、passengerを普通に Danbooruにつないでやっただけだと永遠に変換処理が開始されず画面のリロードを繰り返すことになります。Webの仕組みというものは基本的にリクエストで始まってレスポンスで終わる同期処理しかないわけなので、非同期に物事を実行するためには「それ用の何か」が他に必要なのです。これはそれなりに経験を積んでいればすぐにわかります。わかって、ああめんどくさいなあとつぶやきます。だいたいそういうのは cron実行の設定が必要かそれ用のデーモンを立ち上げておく必要があります。サンプルのインストールスクリプトからはそれについての設定が読めなかったので仕方なくソースを追った所、Danbooruの場合は delayed_job というものが使われてて、バックグラウンドで画像の変換処理をちゃんと走らせるには「それ用のデーモン」を立ち上げてやる必要があるとわかりました。ほらやっぱりな。

Danbooruはアップロードされた画像をパーミッション600で保存しやがられますので、WebサーバもWebアプリケーションもバックグラウンド処理用のデーモンも全員同じUIDで起動してやる必要がありとても鬱陶しいですが過ぎたことなので忘れます。せめて 640にしておいてくれたらよかったんですが。

(中の人)