diff --git a/Annotation 2020-02-11 003613.png b/Annotation 2020-02-11 003613.png new file mode 100644 index 0000000..530f948 Binary files /dev/null and b/Annotation 2020-02-11 003613.png differ diff --git a/multipass.md b/multipass.md index 360a7dd..90d5b1f 100644 --- a/multipass.md +++ b/multipass.md @@ -5,5 +5,97 @@ snap install multipass --classic (apparently this option is required and allows https://multipass.run/ +launch an instance: +* `multipass launch --name ubuntu-lts` +* `multipass stop ubuntu-lts` +* `multipass delete ubuntu-lts-custom` +* `multipass purge` +* `multipass find` + +you have to `sudo multipass shell` to get a sudo-able shell +setup +``` +sudo apt update +sudo apt upgrade +wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - +echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list +sudo apt update +sudo apt -y install postgresql-12 postgresql-client-12 + +sudo apt install nginx +sudo apt install nodejs +sudo apt install redis +sudo apt install npm +sudo npm install -g n +n lts + +sudo su root +curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - +echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list +exit + +sudo apt update + +apt install -y \ + imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \ + g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf \ + bison build-essential libssl-dev libyaml-dev libreadline6-dev \ + zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev \ + nginx redis-server redis-tools postgresql postgresql-contrib \ + certbot python-certbot-nginx yarn libidn11-dev libicu-dev libjemalloc-dev +``` + +install mastodon +``` +adduser --disabled-login mastodon +sudo su - mastodon +git clone https://github.com/rbenv/rbenv.git ~/.rbenv +cd ~/.rbenv && src/configure && make -C src +echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc +echo 'eval "$(rbenv init -)"' >> ~/.bashrc +exec bash +git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build + +RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 2.6.5 +rbenv global 2.6.5 +gem update --system +gem install bundler --no-document +exit + +sudo -u postgres psql +CREATE USER mastodon CREATEDB; +\q + +git clone https://github.com/tootsuite/mastodon.git live && cd live +git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1) + + +bundle install \ + -j$(getconf _NPROCESSORS_ONLN) \ + --deployment --without development test +yarn install --pure-lockfile +``` + +need to set database credentials before the env file is built +``` +sudo su postgres +psql +alter role mastodon password 'mastodon'; +\q + +sudo vim //etc/redis/redis.conf +requirepass password +``` + + +``` +RAILS_ENV=production bundle exec rake mastodon:setup +``` +this will prompt a bunch of setting, after a while mail from localhost = no +this will prompt smtp setup +``` + +compilation failed, complained about memory +