Danbooru

From Bibliotheca Anonoma

This guide is for RHEL/CentOS only. If you need Debian tips, use the official install script.

Dependencies[edit]

From the Moebooru guide:

sudo yum install -y patch autoconf patch automake libtool bison sqlite-devel bzip2 zlib-devel libyaml-devel readline-devel openssl-devel patch autoconf libtool sqlite-devel gcc gcc-c++ ImageMagick jhead libxslt-devel git libyaml-devel pcre-devel

you also need ffmpeg, sendmail, and postgresql devel

Our Danbooru Local Config[edit]

Don't forget to change the password salt at the very least.

    # The name of this Danbooru.
    def app_name
      "Eikonos"
#      if CurrentUser.safe_mode?
#        "Eikonos"
#      else
#        "Eikonos (NSFW)"
#      end
    end

    def description
      "Image tag database for Internet Folklife (4chan, tumblr, reddit, etc.)"
    end

    # The canonical hostname of the site.
    def hostname
      Socket.gethostname
    end

    # The list of all domain names this site is accessible under.
    # Example: %w[danbooru.donmai.us sonohara.donmai.us hijiribe.donmai.us safebooru.donmai.us]
    def hostnames
      [img.bibanon.org eikonos.org booru.eikonos.org]
    end

    # Contact email address of the admin.
    def contact_email
      "webmaster@#{server_host}"
    end

    # System actions, such as sending automated dmails, will be performed with this account.
    def system_user
      User.find_by_name("DanbooruBot") || User.admins.first
    end

    def upload_feedback_topic
      ForumTopic.where(title: "Upload Feedback Thread").first
    end

    def upgrade_account_email
      contact_email
    end

    def source_code_url
      "https://github.com/bibanon/danbooru"
    end

    def commit_url(hash)
      "#{source_code_url}/commit/#{hash}"
    end

    def releases_url
      "#{source_code_url}/releases"
    end

    def issues_url
      "#{source_code_url}/issues"
    end

    # Stripped of any special characters.
    def safe_app_name
      app_name.gsub(/[^a-zA-Z0-9_-]/, "_")
    end

    # The default name to use for anyone who isn't logged in.
    def default_guest_name
      "Anonymous"
    end

    # This is a salt used to make dictionary attacks on account passwords harder.
    def password_salt
      "john-freeman"
    end

    # Set the default level, permissions, and other settings for new users here.
    def customize_new_user(user)
      # user.level = User::Levels::MEMBER
      # user.can_approve_posts = false
      # user.can_upload_free = false
      # user.is_super_voter = false
      #
      # user.base_upload_limit = 10
      # user.comment_threshold = -1
      # user.blacklisted_tags = ["spoilers", "guro", "scat", "furry -rating:s"].join("\n")
      # user.default_image_size = "large"
      # user.per_page = 20
      # user.disable_tagged_filenames = false
      true
    end