Just tested running `vagrant up --provider virtualbox` and it did not download the Ubuntu 14.04 base image, it downloaded xenial64, which is 16.04. Hopefully you will edit this :)
* Adding copy config step
As discussed in #591, docker will refuse to run the `mastodon:setup` step without some configuration file present.
* The secret generation part of docker installation process
As noticed in #6883, you need to generate the keys manually.
* Setting correct file owner is important even in the prebuilt-image case
... as evidenced by issue #6911
* This step should not be necessary -- let's fix the installation instead
As Mastodon temporaliry saves uploaded content to memory and disk (if
/tmp is a disk), unlimiting client max body size makes the server
vulnerable to DoS attack.
Without headless a lot of (for a server) unneeded dependencies needs be installed (on Debian stretch), like icon sets and x11-utils. Elasticsearch works without problems when you only install openjdk-8-jre-headless (that has much less dependencies).
Consolidated all basic configuration steps for the ideal case to top of document, moved all memory-related and "advanced" configuration to bottom. Removed remote Elasticsearch config from document entirely and replaced it with a link to ES documentation on the topic instead.
db:setup is used in all guides except Docker Guide, which uses db:migrate
to create the database. db:setup is actually superior over db:migrate for
the purpose in terms of performance and compatibility.
db:setup is performant because it does not perform redundant migrations.
db:migrate, on the other hand, executes migration code which will be
dismissed by later migrations. db:migrate also waits for seconds to allow
to interrupt migrations if it is not favorable to run them on a running
server, but db:setup is obviously executed on a instance which is not
running yet, and the wait is unnecessary.
db:migrate has a compatibility issue. It requires a compatibility layer
to keep it working, and such one may be broken, or not provided by
dependencies such as Paperclip.
This commit replaces db:migrate with db:setup in the building guide. The
procedure cannot be applied to migration from an older release, where
the old procedure could, but it is not problematic because it has
dedicated Updating section.
* Clarify Docker instructions for prebuilt images
Made clear there are two options for getting the Docker image: pulling the prebuilt image, or building your own. Using a prebuilt image is easier for anyone who hasn't made code changes on their instance.
* Fix errors in Docker prebuilt image instructions
* OpenBSD-specific development guide
The GNU/Linux setup works well but there are some OpenBSD-specific
considerations around default compilers, discovering third-party
libraries, and linker warnings.
* Fix typos