170 lines
3.7 KiB
JSON
170 lines
3.7 KiB
JSON
[
|
|
{
|
|
"name": "packages",
|
|
"become": true,
|
|
"ansible.builtin.apt": {
|
|
"update_cache": true,
|
|
"pkg": [
|
|
"curl",
|
|
"wget",
|
|
"gnupg",
|
|
"apt-transport-https",
|
|
"lsb-release",
|
|
"ca-certificates",
|
|
"imagemagick",
|
|
"ffmpeg",
|
|
"libpq-dev",
|
|
"libxml2-dev",
|
|
"libxslt1-dev",
|
|
"file",
|
|
"git-core",
|
|
"g++",
|
|
"libprotobuf-dev",
|
|
"protobuf-compiler",
|
|
"pkg-config",
|
|
"gcc",
|
|
"autoconf",
|
|
"bison",
|
|
"build-essential",
|
|
"libssl-dev",
|
|
"libyaml-dev",
|
|
"libreadline6-dev",
|
|
"zlib1g-dev",
|
|
"libncurses5-dev",
|
|
"libffi-dev",
|
|
"libgdbm-dev",
|
|
"nginx",
|
|
"nodejs",
|
|
"redis-server",
|
|
"redis-tools",
|
|
"postgresql",
|
|
"postgresql-contrib",
|
|
"certbot",
|
|
"python3-certbot-nginx",
|
|
"libidn11-dev",
|
|
"libicu-dev",
|
|
"libjemalloc-dev"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "user",
|
|
"become": true,
|
|
"ansible.builtin.user": {
|
|
"name": "{{var_mastodon_user}}",
|
|
"create_home": true,
|
|
"home": "{{var_mastodon_directory}}"
|
|
}
|
|
},
|
|
{
|
|
"name": "ruby_environment | 1",
|
|
"become": true,
|
|
"become_user": "{{var_mastodon_user}}",
|
|
"ansible.builtin.command": {
|
|
"cmd": "git clone https://github.com/rbenv/rbenv.git ~/.rbenv"
|
|
}
|
|
},
|
|
{
|
|
"name": "ruby_environment | 2",
|
|
"become": true,
|
|
"become_user": "{{var_mastodon_user}}",
|
|
"ansible.builtin.command": {
|
|
"cmd": "echo 'export PATH=\"$HOME/.rbenv/bin:$PATH\"' >> ~/.bashrc"
|
|
}
|
|
},
|
|
{
|
|
"name": "ruby_environment | 3",
|
|
"become": true,
|
|
"become_user": "{{var_mastodon_user}}",
|
|
"ansible.builtin.command": {
|
|
"cmd": "echo 'eval \"$(rbenv init -)\"' >> ~/.bashrc"
|
|
}
|
|
},
|
|
{
|
|
"name": "ruby_environment | 4",
|
|
"become": true,
|
|
"become_user": "{{var_mastodon_user}}",
|
|
"ansible.builtin.command": {
|
|
"cmd": "bash 'git clone https://github.com/rbenv/ruby-build.git \"$(rbenv root)\"/plugins/ruby-build'"
|
|
}
|
|
},
|
|
{
|
|
"name": "ruby_environment | 5",
|
|
"become": true,
|
|
"become_user": "{{var_mastodon_user}}",
|
|
"ansible.builtin.command": {
|
|
"cmd": "RUBY_CONFIGURE_OPTS='--with-jemalloc rbenv install 3.2.3' rbenv global 3.2.3"
|
|
}
|
|
},
|
|
{
|
|
"name": "ruby_environment | 6",
|
|
"become": true,
|
|
"become_user": "{{var_mastodon_user}}",
|
|
"ansible.builtin.command": {
|
|
"cmd": "gem install bundler --no-document"
|
|
}
|
|
},
|
|
{
|
|
"name": "setup | 1",
|
|
"become": true,
|
|
"become_user": "{{var_mastodon_user}}",
|
|
"ansible.builtin.command": {
|
|
"cmd": "git clone https://github.com/mastodon/mastodon.git live"
|
|
}
|
|
},
|
|
{
|
|
"name": "setup | 2",
|
|
"become": true,
|
|
"become_user": "{{var_mastodon_user}}",
|
|
"ansible.builtin.command": {
|
|
"chdir": "{{var_mastodon_directory}}/live",
|
|
"cmd": "git checkout $(git tag -l | grep '^v[0-9.]*$' | sort -V | tail -n 1)"
|
|
}
|
|
},
|
|
{
|
|
"name": "setup | 3",
|
|
"become": true,
|
|
"become_user": "{{var_mastodon_user}}",
|
|
"ansible.builtin.command": {
|
|
"chdir": "{{var_mastodon_directory}}/live",
|
|
"cmd": "bundle config deployment 'true'"
|
|
}
|
|
},
|
|
{
|
|
"name": "setup | 4",
|
|
"become": true,
|
|
"become_user": "{{var_mastodon_user}}",
|
|
"ansible.builtin.command": {
|
|
"chdir": "{{var_mastodon_directory}}/live",
|
|
"cmd": "bundle config without 'development test'"
|
|
}
|
|
},
|
|
{
|
|
"name": "setup | 5",
|
|
"become": true,
|
|
"become_user": "{{var_mastodon_user}}",
|
|
"ansible.builtin.command": {
|
|
"chdir": "{{var_mastodon_directory}}/live",
|
|
"cmd": "bundle install -j$(getconf _NPROCESSORS_ONLN)"
|
|
}
|
|
},
|
|
{
|
|
"name": "setup | 6",
|
|
"become": true,
|
|
"become_user": "{{var_mastodon_user}}",
|
|
"ansible.builtin.command": {
|
|
"chdir": "{{var_mastodon_directory}}/live",
|
|
"cmd": "yarn install --pure-lockfile"
|
|
}
|
|
},
|
|
{
|
|
"name": "setup | 7",
|
|
"become": true,
|
|
"become_user": "{{var_mastodon_user}}",
|
|
"ansible.builtin.command": {
|
|
"chdir": "{{var_mastodon_directory}}/live",
|
|
"cmd": "RAILS_ENV=production bundle exec rake mastodon:setup"
|
|
}
|
|
}
|
|
]
|