server-debian/_install.sh

163 lines
2.8 KiB
Bash
Executable File

#!/bin/sh
# latest git
add-apt-repository -y \
ppa:git-core/ppa
# core apps and utils
apt-get upgrade -y
apt-get install -y \
build-essential \
certbot \
clang \
curl \
ffmpeg \
g++ \
ghostscript \
git\
graphicsmagick \
imagemagick \
jpegoptim \
lynx \
make \
nginx \
pkg-config \
pngcrush \
pngquant \
postgresql \
postgresql-contrib \
rdfind \
sshfs \
ufw \
unzip \
wget \
zsh
# oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# python3 & co
apt-get install -y \
python-is-python3 \
python3 \
python3-pip
ln -s /usr/bin/pip3 \
/usr/local/bin/pip
pip install pipupgrade
pipupgrade -y --pip --ignore-error
# nodejs
rm -rf \
/usr/local/bin/node* \
/usr/local/bin/npm \
/usr/local/include/node* \
/usr/local/lib/node* \
/usr/local/share/man/man1/node* \
~/.npm
apt-get purge -y \
nodejs npm
apt-get autoremove -y
VER='18.18.1'
wget 'https://nodejs.org/dist/v$VER/node-v$VER-linux-x64.tar.xz'
tar -xf 'node-v$VER-linux-x64.tar.xz'
rm 'node-v$VER-linux-x64.tar.xz'
mv node-v$VER-linux-x64/bin/* \
/usr/local/bin/
mv node-v$VER-linux-x64/lib/node_modules/ \
/usr/local/lib/
npm i -g npm
npm i -g n svgo
# rust
apt-get install -y \
openssl libssl1.1 libssl-dev \
libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev
curl --proto '=https' \
--tlsv1.2 -sSf 'https://sh.rustup.rs' \
| sh
source $HOME/.cargo/env
rustup toolchain install nightly \
--allow-downgrade \
--profile minimal \
--component clippy
rustup default nightly
env LIBSSH2_SYS_USE_PKG_CONFIG='' \
cargo install \
cargo-update
## cargo apps
cargo install \
xh bat exa fd-find \
broot jql sd \
xargo
# mail
apt-get install -y \
apt-transport-https ca-certificates \
gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| apt-key add -
apt-key fingerprint 0EBFCD88
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
apt-get update -y
apt-get install -y \
docker-ce docker-ce-cli containerd.io
docker pull analogic/poste.io
docker run \
--detach \
--restart always \
--name 'mailserver' \
--hostname 'mail.dym.sh' \
--publish 25:25 \
--publish 465:465 \
--publish 587:587 \
--publish 993:993 \
--publish 4190:4190 \
--publish 12080:80 \
--publish 12443:443 \
--volume /etc/localtime:/etc/localtime:ro \
--volume /var/mail/data:/data \
--tty analogic/poste.io
# # hypercore
# npm i -g @hyperspace/cli
# hyp daemon start
# echo "`crontab -l`
# @reboot /usr/local/bin/hyp daemon start
# " | crontab -
# assign hostname
hostname 'dym.sh'
echo 'dym.sh' > /etc/hostname
# no logs
systemctl stop rsyslog.service
systemctl disable rsyslog.service