Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
- Always run apt update before any other apt command. (This fixes
incremental builds failing if a remote package is updated.)
- Only copy dependency lists before installing dependencies. (This means
editing code doesn't force all dependencies to be re-downloaded.)
- Delete cache in the same layer that it is created. (Otherwise,
deleting cache *increases* the size of the image on non-squashed
builds.)
- Move the installation of some static dependencies to *before* Mastodon
code is imported to Docker.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
system memory help (#8842)
|
|
* Revert "update vagrant configs (#8706)"
This reverts commit 8971bb8cf29ce940345cf306725dd3f71e8ffded.
* Revert "Updated ruby/node images (#8700)"
This reverts commit 5aae71cf60ba436579e61a330d9cb5d9807ccdd2.
|
|
|
|
* Dockerfile: run asset precompilation as a build step
* Replace OTP_SECRET and SECRET_KEY_BASE with placeholders
|
|
|
|
|
|
|
|
|
|
https://www.ruby-lang.org/en/news/2018/03/28/ruby-2-4-4-released/
> This release includes some bug fixes and some security fixes.
>
> - CVE-2017-17742: HTTP response splitting in WEBrick
> - CVE-2018-6914: Unintentional file and directory creation with directory traversal in tempfile and tmpdir
> - CVE-2018-8777: DoS by large request in WEBrick
> - CVE-2018-8778: Buffer under-read in String#unpack
> - CVE-2018-8779: Unintentional socket creation by poisoned NUL byte in UNIXServer and UNIXSocket
> - CVE-2018-8780: Unintentional directory traversal by poisoned NUL byte in Dir
> - Multiple vulnerabilities in RubyGems
|
|
Fix #6809
I don't know why, either
|
|
Fix 6734
|
|
Yarn was manually installed to meet the Yarn version requirement of
webpacker. Today, Alpine Linux 3.7 provides Yarn new enough.
|
|
It is no longer necessary since commit
be9bab171dc2b1fe43bc742decb71f64541ca347.
|
|
|
|
|
|
Fix #6605
|
|
Both of yarn and npm are used in Mastodon, but the combined usage requires
a redundant dependency and may lead to data inconsistency.
Considering that yarn has autoclean feature which npm does not have,
this change replaces all npm usage with yarn.
This change requires documentation update. Most notably, the following
command must be executed before assets precompilation if any system
dependency of node-sass has changed:
yarn install --force --pure-lockfile
|
|
When volumes are declared, but the corresponding directories don't exist, permissions for those directories will be root:root instead of mastodon:mastodon..
This changes makes sure the permissions of the volume directories are as expected.
|
|
|
|
* Set Docker permissions during the build process
* Remove docker_entrypoint.sh and use COPY with chown
|
|
|
|
when starting the container.
|
|
|
|
|
|
* Reduce container size with clean yarn
* Merge trouble
|
|
* Update Yarn to version 1.1.0
* remove hard-coding
|
|
* Bump ruby version to 2.4.2
https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-4-2-released/
Gemfile.lock is also updated.
TODO
- [ ] Update Dockerfile with Alpine release of ruby-2.4.2
* Revert jwt version
It seems that jwt 2.0.0 fails in some environment.
ref. https://github.com/zaru/webpush/issues/42
* Bump Ruby version on docker image
|
|
|
|
* Let make and bundler use multiple cores
* Adds -j option to bundle install instead of bundle config
|
|
System default libiconv of Alpine Linux only supports some charset (e.g. UTF-8).
Therefore, the preview card of the page which is not UTF-8 will be broken in the Docker environment.
Using GNU libiconv!
|
|
|
|
|
|
|
|
* Specs for language detection
* Use CharlockHolmes instead of NKF
* Correct mistakes
* Correct style
* Set hint_enc instead of falling back and strip_tags
* Improve specs
* Add dependencies
|
|
- improve docker_entrypoint.sh
- serve static files with puma by default
- sort packages list
- use virtual package for build deps
- show how to assign UID/GID
|
|
|
|
Compact Language Detector v3 (CLD3) is the successor of CLD2, which was
used in the previous implementation. CLD3 includes improvements since CLD2,
and supports newer compilers. On the other hand, it has additional
requirements and cld3-ruby, the FFI of CLD3 for Ruby, is still new and may
be still inmature.
Though CLD3 is named after CLD2, it is implemented with a neural network
model, different from the old implementation, which is based on a Naïve
Bayesian classifier.
CLD3 supports newer compilers, such as GCC 6. CLD2 is not compatible with
GCC 6 because it assigns negative values to varibales typed unsigned.
(see internal/cld_generated_cjk_uni_prop_80.cc) The support for GCC 6 and
newer compilers are essential today, when some server operating system
such as Ubuntu Server 16.10 has GCC 6 by default.
On the one hand, CLD3 requires C++11 support. Environments with old
compilers such as Ubuntu Server 14.04 needs to update the system or install
a newer compiler.
CLD3 needs protocol buffers as a new dependency. However,it is not
considered problematic because major server operating systems, CentOS and
Ubuntu Server provide them.
The FFI cld3-ruby was written by me (Akihiko Odaki) for use in Mastodon.
It is still new and may be inmature, but confirmed to pass existing tests.
|