mastodon
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
mastodon [2024/02/09 17:04] – [Installing Pre-Requirements] domele | mastodon [2024/02/10 16:26] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | FIXME | ||
- | {{tag> | ||
~~~NOCACHE~~~ | ~~~NOCACHE~~~ | ||
- | Howto Install Mastodon: | + | FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME |
+ | < | ||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | </ | ||
+ | How-to | ||
===== Debian: ===== | ===== Debian: ===== | ||
- | |||
- | |||
* This will be a rapid and dirty Tutorial to gain the maximum afford. | * This will be a rapid and dirty Tutorial to gain the maximum afford. | ||
+ | * Moreover i would suggest to install on the host apt-cacher-ng and add the the VM: | ||
+ | * < | ||
* I assume you use a fresh, not used System. | * I assume you use a fresh, not used System. | ||
+ | * If we need to compile, we use ccache here to speed up due it might a 50/50 chance of a failure ;-) | ||
+ | * I also assume that this is a VM/ | ||
+ | * We Assume, you use Debian 12 - if you use i.e. debian 11 use this before: | ||
+ | * < | ||
+ | OLDDISTRI=bullseye | ||
+ | sed -i ' | ||
+ | sed -i ' | ||
- | ====== Installing Pre-Requirements ====== | ||
- | * < | + | ===== Installing Pre-Requirements ====== |
- | apt -qy update | + | |
- | apt install -qy curl gnupg2 ca-certificates lsb-release debian-archive-keyring sudo git build-essentials | + | |
- | </ | + | |
- | ===== Adding Sources ===== | + | * < |
+ | INSTALLPATH=/ | ||
+ | apt install -qy curl gnupg2 ca-certificates lsb-release debian-archive-keyring sudo git build-essential etckeeper | ||
- | * < | ||
sudo curl https:// | sudo curl https:// | ||
sudo curl -fsSL https:// | sudo curl -fsSL https:// | ||
- | sudo install | + | echo "deb [signed-by=/ |
+ | curl -fsSL https:// | ||
+ | echo "deb http:// | ||
+ | echo " | ||
sudo curl -fsSL https:// | sudo curl -fsSL https:// | ||
sudo chmod a+r / | sudo chmod a+r / | ||
+ | sudo sh -c 'echo "deb https:// | ||
+ | wget --quiet -O - https:// | ||
sudo echo \ | sudo echo \ | ||
"deb [arch=$(dpkg --print-architecture) signed-by=/ | "deb [arch=$(dpkg --print-architecture) signed-by=/ | ||
$(. / | $(. / | ||
- | sudo tee / | + | sudo tee / |
- | + | ||
- | * < | + | |
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done | for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done | ||
- | sudo apt -qy update && apt -qy dist-upgrade | + | sudo apt -qy update && |
+ | sudo update-ccache-symlinks | ||
+ | echo PATH="/ | ||
+ | PATH="/ | ||
+ | sudo install -m 0755 -d / | ||
</ | </ | ||
- | ===== Adding Debian Backports (optional) ===== | ||
- | | + | |
- | * < | + | |
- | deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware | + | ===== Downloading Sources ===== |
- | deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware | + | INSTALLPATH=/ |
+ | git clone https:// | ||
+ | git clone https:// | ||
+ | cd ~/.rbenv && src/ | ||
+ | echo ' | ||
+ | echo 'eval " | ||
+ | source ~/.bashrc | ||
+ | cd $INSTALLPATH | ||
+ | gem install bundler | ||
+ | git clone https:// | ||
+ | git clone https:// | ||
+ | cd $INSTALLPATH && rbenv install 3.2.3 | ||
+ | cd $INSTALLPATH && rbenv global 3.2.3 | ||
+ | |||
+ | |||
+ | ===== Setup Mastodon: User and Repository Cloning ===== | ||
+ | FIXME | ||
+ | | ||
+ | INSTALLPATH=/opt/mastodon | ||
+ | INSTALLUSER=mastodon | ||
+ | sudo adduser $INSTALLUSER | ||
+ | sudo adduser $INSTALLUSER docker | ||
+ | sudo usermod --home=$INSTALLPATH $INSTALLUSER | ||
+ | sudo usermod -g $INSTALLUSER www-data | ||
+ | sudo usermod -g www-data $INSTALLUSER | ||
+ | sudo chown -R $INSTALLUSER: | ||
+ | sudo chmod 755 $INSTALLPATH | ||
+ | su - $INSTALLUSER -c "cp $INSTALLPATH/.env.production.sample $INSTALLPATH/.env.production" | ||
+ | su - $INSTALLUSER -c "sed -i ' | ||
+ | | ||
+ | |||
+ | |||
+ | ===== Setup Mastodon: .env.production ===== | ||
+ | |||
+ | | ||
+ | * Follow up the configuration Guide. You don't need to compile your own Stuff. REALLY NOT. Save the Time :-) | ||
+ | * Thats why we removed the build lines above. | ||
+ | * Trust me its a pain in the Backside and waste your time... ;-D | ||
+ | | ||
+ | |||
+ | * OPTIONAL: Pre-Compile all Assets. | ||
+ | * < | ||
+ | |||
+ | |||
+ | ===== Setup Mastodon: NGINX ===== | ||
+ | |||
+ | * We need to create and add some information for NGINX to use it | ||
+ | * Hint: If you need to use a other Reverse-Proxy in front of it, its untested and my not work | ||
+ | * < | ||
+ | INSTALLPATH=/opt/ | ||
+ | sudo mkdir / | ||
+ | sudo cp $INSTALLPATH/ | ||
+ | sudo ln -s / | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Setup Mastodon: systemd ===== | ||
+ | |||
+ | * We Link the service-files to auto-update them | ||
+ | * < | ||
+ | INSTALLPATH=/opt/mastodon | ||
+ | INSTALLUSER=mastodon | ||
+ | sudo ln -s $INSTALLPATH/ | ||
+ | sudo ln -s $INSTALLPATH/dist/ | ||
+ | sudo ln -s $INSTALLPATH/ | ||
+ | sudo systemctl daemon-reload && sudo systemctl enable --now mastodon.service </ | ||
+ | |||
+ | * We Check if it was successfull: | ||
+ | * < | ||
+ | INSTALLPATH=/ | ||
+ | watch docker compose -f $INSTALLPATH/ | ||
</ | </ | ||
- | ===== Cloning Repositories ===== | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | ===== Editing docker-compose.yml ===== | + | == References: |
+ | |||
+ | ~~REFNOTES~~ | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * FIXME |
mastodon.1707498273.txt.gz · Last modified: 2024/02/09 17:04 by domele