en:mastodon
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:mastodon [2024/02/10 11:05] – domele | en:mastodon [2024/02/10 16:26] (current) – domele | ||
---|---|---|---|
Line 15: | Line 15: | ||
===== 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 ;-) | * 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 | + | INSTALLPATH=/ |
- | apt install -qy curl gnupg2 ca-certificates lsb-release debian-archive-keyring sudo \ | + | apt install -qy curl gnupg2 ca-certificates lsb-release debian-archive-keyring sudo git build-essential etckeeper |
- | git build-essential etckeeper | + | |
- | file git-core g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf | + | sudo curl https:// |
- | bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev | + | sudo curl -fsSL https:// |
- | libncurses5-dev libffi-dev libgdbm3 libgdbm-dev nginx libidn11-dev | + | echo "deb [signed-by=/ |
- | libicu-dev ccache libgdm1 libgdm-dev patch rustc libgmp-dev | + | curl -fsSL https:// |
- | libgdbm6 libdb-dev uuid-dev git nano | + | echo "deb http:// |
+ | echo " | ||
+ | sudo curl -fsSL https:// | ||
+ | sudo chmod a+r / | ||
+ | sudo sh -c 'echo "deb https:// | ||
+ | wget --quiet -O - https:// | ||
+ | sudo echo \ | ||
+ | "deb [arch=$(dpkg --print-architecture) signed-by=/ | ||
+ | $(. / | ||
+ | sudo tee / | ||
+ | for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done | ||
+ | sudo apt -qy update && sudo apt -qy dist-upgrade | ||
+ | sudo update-ccache-symlinks | ||
+ | echo PATH="/ | ||
+ | PATH="/ | ||
+ | sudo install -m 0755 -d / | ||
</ | </ | ||
- | ===== Setup Mastodon: User and Repository Cloning ===== | ||
- | FIXME | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | ===== Adding Sources ===== | ||
- | + | ===== Downloading Sources ===== | |
- | * < | + | INSTALLPATH=/opt/mastodon/mastodon |
- | sudo update-ccache-symlinks | + | git clone https://github.com/tootsuite/mastodon.git $INSTALLPATH |
- | cp /usr/bin/ccache / | + | |
- | echo PATH="/usr/lib/ccache: | + | |
git clone https:// | git clone https:// | ||
cd ~/.rbenv && src/ | cd ~/.rbenv && src/ | ||
Line 61: | Line 69: | ||
echo 'eval " | echo 'eval " | ||
source ~/.bashrc | source ~/.bashrc | ||
- | cd ~/live | + | cd $INSTALLPATH |
gem install bundler | gem install bundler | ||
git clone https:// | git clone https:// | ||
git clone https:// | git clone https:// | ||
- | rbenv install 3.2.3 | + | cd $INSTALLPATH && |
- | rbenv global 3.2.3 | + | cd $INSTALLPATH && |
- | ln -s ccache / | + | |
- | ln -s ccache / | + | |
- | sudo curl https:// | + | |
- | curl -fsSL https:// | + | |
- | echo "deb [signed-by=/ | + | |
- | sudo curl -fsSL https:// | + | |
- | sudo install -m 0755 -d / | + | |
- | sudo curl -fsSL https:// | + | |
- | sudo chmod a+r / | + | |
- | sudo sh -c 'echo "deb https:// | + | |
- | wget --quiet -O - https:// | + | |
- | sudo echo \ | + | |
- | "deb [arch=$(dpkg --print-architecture) signed-by=/ | + | |
- | $(. / | + | |
- | sudo tee / | + | |
- | * < | + | |
- | for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done | + | |
- | sudo apt -qy update && sudo apt -qy dist-upgrade | + | |
- | </ | + | |
- | ===== Adding Debian Backports (optional) ===== | ||
- | |||
- | * < | ||
- | * < | ||
- | deb http:// | ||
- | deb-src http:// | ||
- | </ | ||
+ | ===== Setup Mastodon: User and Repository Cloning ===== | ||
+ | FIXME | ||
+ | * < | ||
+ | INSTALLPATH=/ | ||
+ | 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/ | ||
+ | su - $INSTALLUSER -c "sed -i ' | ||
+ | </ | ||
===== Setup Mastodon: .env.production ===== | ===== Setup Mastodon: .env.production ===== | ||
- | * Short Info: don't edit the file, it will be overwritten by the next command. | + | * Short Info: You don' |
* Follow up the configuration Guide. You don't need to compile your own Stuff. REALLY NOT. Save the Time :-) | * 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 | * Trust me its a pain in the Backside and waste your time... ;-D | ||
* < | * < | ||
Line 110: | Line 108: | ||
===== Setup Mastodon: NGINX ===== | ===== Setup Mastodon: NGINX ===== | ||
- | * We need to create and add some informations | + | * We need to create and add some information |
* Hint: If you need to use a other Reverse-Proxy in front of it, its untested and my not work | * Hint: If you need to use a other Reverse-Proxy in front of it, its untested and my not work | ||
- | * < | + | * < |
- | * < | + | INSTALLPATH=/ |
- | * < | + | sudo mkdir / |
+ | sudo cp $INSTALLPATH/ | ||
+ | sudo ln -s / | ||
+ | </ | ||
Line 120: | Line 121: | ||
* We Link the service-files to auto-update them | * We Link the service-files to auto-update them | ||
- | * < | + | * < |
- | * < | + | INSTALLPATH=/ |
- | * < | + | INSTALLUSER=mastodon |
- | * We reload the systemd daemon | + | sudo ln -s $INSTALLPATH/ |
- | * < | + | sudo ln -s $INSTALLPATH/ |
- | * < | + | sudo ln -s $INSTALLPATH/ |
+ | sudo systemctl daemon-reload | ||
* We Check if it was successfull: | * We Check if it was successfull: | ||
- | * < | + | * < |
+ | INSTALLPATH=/ | ||
+ | watch docker compose -f $INSTALLPATH/ | ||
+ | </ | ||
en/mastodon.1707563148.txt.gz · Last modified: by domele