Compare commits
7 Commits
experiment
...
4677b84a29
| Author | SHA1 | Date | |
|---|---|---|---|
|
4677b84a29
|
|||
|
7008ec36b7
|
|||
|
f2d41885af
|
|||
|
9972fc6d9d
|
|||
|
f7ef85aad9
|
|||
|
3043a41365
|
|||
|
47c1e6d40b
|
4
.dockerignore
Normal file
4
.dockerignore
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
.git
|
||||||
|
.gitignore
|
||||||
|
.dockerignore
|
||||||
|
README.md
|
||||||
27
Dockerfile
Normal file
27
Dockerfile
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
FROM ubuntu:22.04
|
||||||
|
|
||||||
|
RUN apt update && \
|
||||||
|
apt -y install \
|
||||||
|
apt-transport-https \
|
||||||
|
apt-utils \
|
||||||
|
bsdmainutils \
|
||||||
|
curl \
|
||||||
|
dialog \
|
||||||
|
grep \
|
||||||
|
make \
|
||||||
|
man \
|
||||||
|
sudo \
|
||||||
|
wget
|
||||||
|
|
||||||
|
RUN adduser ivan \
|
||||||
|
--quiet \
|
||||||
|
--home=/home/ivan \
|
||||||
|
--ingroup=sudo \
|
||||||
|
--disabled-password \
|
||||||
|
--disabled-login
|
||||||
|
|
||||||
|
COPY ./ /home/ivan/my-env
|
||||||
|
RUN echo "ivan ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
||||||
|
|
||||||
|
USER ivan
|
||||||
|
WORKDIR /home/ivan/my-env
|
||||||
7
Makefile
7
Makefile
@@ -1,7 +1,8 @@
|
|||||||
# Autogenerated at 04.07.2022 22:11 using ./gen-makefile.sh
|
# Autogenerated at 04.07.2022 23:25 using ./gen-makefile.sh
|
||||||
|
|
||||||
##lamp: Apache + php + mariadb
|
##lamp: Apache + php + mariadb
|
||||||
lamp: apache php mariadb
|
lamp: apache php mariadb
|
||||||
|
|
||||||
##apache: Install apache2 (latest)
|
##apache: Install apache2 (latest)
|
||||||
apache:
|
apache:
|
||||||
./install/apache
|
./install/apache
|
||||||
@@ -109,6 +110,6 @@ help: Makefile
|
|||||||
@echo "Available goals:"
|
@echo "Available goals:"
|
||||||
@sed -n 's/^##//p' $< | column -t -s ':' | sed -e "s/^/\t/"
|
@sed -n 's/^##//p' $< | column -t -s ':' | sed -e "s/^/\t/"
|
||||||
|
|
||||||
##<goal>_: Same as 'cat ./install/<goal>.sh'
|
##<goal>_: Same as 'cat ./install/<goal>'
|
||||||
%_:
|
%_:
|
||||||
@cat ./install/$*.sh
|
@cat ./install/$*
|
||||||
|
|||||||
18
README.md
18
README.md
@@ -30,6 +30,9 @@ make help
|
|||||||
./gen-makefile.sh
|
./gen-makefile.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> I do not recomend to run `make` without arguments.
|
||||||
|
> Use `make help` to look around.
|
||||||
|
|
||||||
### Selective straightforward installation
|
### Selective straightforward installation
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
@@ -72,3 +75,18 @@ mypackY: goalA goalB
|
|||||||
where:
|
where:
|
||||||
* `mypack*` is the pack name
|
* `mypack*` is the pack name
|
||||||
* `goal*` are script names in `./install`
|
* `goal*` are script names in `./install`
|
||||||
|
|
||||||
|
## Testing in docker
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# switch to repo dir
|
||||||
|
cd my-env
|
||||||
|
|
||||||
|
# build and run container
|
||||||
|
docker build -t myenv . && docker run -it myenv
|
||||||
|
|
||||||
|
# oneliner
|
||||||
|
docker run -it $(docker build -q .)
|
||||||
|
```
|
||||||
|
|
||||||
|
Now you can play around with scripts.
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
echo
|
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing flatpak and its software..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
sudo apt install -y --autoremove \
|
|
||||||
flatpak \
|
|
||||||
gnome-software-plugin-flatpak
|
|
||||||
|
|
||||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
echo
|
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing oci8..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
# https://www.oracle.com/cis/database/technologies/instant-client/downloads.html
|
|
||||||
|
|
||||||
#check for
|
|
||||||
# wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linuxx64.zip
|
|
||||||
# wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basiclite-linuxx64.zip -- only libociicus.so
|
|
||||||
# wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-sqlplus-linuxx64.zip
|
|
||||||
# wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-tools-linuxx64.zip
|
|
||||||
# wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-sdk-linuxx64.zip
|
|
||||||
#unzip
|
|
||||||
|
|
||||||
sudo mkdir /opt/oracle/
|
|
||||||
sudo mv ~/Downloads/instant_client/ /opt/oracle/
|
|
||||||
|
|
||||||
sudo sh -c "echo /opt/oracle/instant_client > /etc/ld.so.conf.d/oracle-instantclient.conf"
|
|
||||||
sudo ldconfig
|
|
||||||
|
|
||||||
sudo apt install -y --autoremove \
|
|
||||||
php-dev \
|
|
||||||
php-pear \
|
|
||||||
build-essential \
|
|
||||||
libaio1 \
|
|
||||||
default-jdk
|
|
||||||
sudo pecl channel-update pecl.php.net
|
|
||||||
sudo pecl install oci8 # php8
|
|
||||||
#sudo pecl install oci8-2.2.0 # php7
|
|
||||||
|
|
||||||
#sh -c "echo '; priority=10' > /etc/php/7.4/mods-available/oci8.ini"
|
|
||||||
# sudo sh -c "echo 'extension=oci8.so' >> /etc/php/7.4/mods-available/oci8.ini"
|
|
||||||
# sudo chmod 0644 /etc/php/7.4/mods-available/oci8.ini
|
|
||||||
sudo phpenmod oci8
|
|
||||||
php -i | grep oci8
|
|
||||||
|
|
||||||
# instantclient,/opt/oracle/instant_client
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# https://pecl.php.net/package/oci8
|
|
||||||
#sudo pecl install oci8-2.2.0
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
echo
|
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing phpstorm-url-handler..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
installed() {
|
|
||||||
command -v "$1" >/dev/null 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://github.com/rozwell/phpstorm-url-handler/
|
|
||||||
# https://askubuntu.com/a/1023143
|
|
||||||
# https://askubuntu.com/a/919825
|
|
||||||
# https://medium.com/swlh/custom-protocol-handling-how-to-8ac41ff651eb
|
|
||||||
# https://www.linuxquestions.org/questions/linux-desktop-74/xdg-open-doesn%27t-recognize-custom-protocol-4175433062/#post4809984
|
|
||||||
|
|
||||||
sudo rm -rf /usr/bin/phpstorm-url-handler >/dev/null
|
|
||||||
sudo rm -rf ~/.local/share/applications/phpstorm-url-handler.desktop >/dev/null
|
|
||||||
sudo rm -rf /usr/share/applications/phpstorm-url-handler.desktop >/dev/null
|
|
||||||
if installed "git"; then
|
|
||||||
sudo git clone https://github.com/rozwell/phpstorm-url-handler.git /usr/src/phpstorm-url-handler
|
|
||||||
else
|
|
||||||
sudo wget https://github.com/rozwell/phpstorm-url-handler/archive/master.zip -O /tmp/phpstorm-url-handler.zip
|
|
||||||
sudo unzip /tmp/phpstorm-url-handler.zip -d /usr/src/phpstorm-url-handler
|
|
||||||
sudo rm -f /tmp/phpstorm-url-handler.zip
|
|
||||||
fi
|
|
||||||
|
|
||||||
info "Copy .desktop"
|
|
||||||
sudo cp /usr/src/phpstorm-url-handler/phpstorm-url-handler.desktop /usr/share/local/applications/phpstorm-url-handler.desktop
|
|
||||||
|
|
||||||
info "Symlink bin"
|
|
||||||
sudo cp /usr/src/phpstorm-url-handler/phpstorm-url-handler /usr/bin/phpstorm-url-handler
|
|
||||||
|
|
||||||
info "desktop-file-install"
|
|
||||||
sudo desktop-file-install phpstorm-url-handler.desktop
|
|
||||||
|
|
||||||
info "update-desktop-database"
|
|
||||||
sudo update-desktop-database -v 2>&1 | grep -E "^(.+)\/phpstorm-url-handler.desktop(.+)$"
|
|
||||||
|
|
||||||
info "xdg-mime"
|
|
||||||
xdg-mime default phpstorm-url-handler.desktop x-scheme-handler/phpstorm
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
echo
|
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing samp-server v03svr_R2-1..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
# https://sampwiki.blast.hk/wiki/Linux_Server
|
|
||||||
# https://team.sa-mp.com/wiki/Server.cfg_RU.html
|
|
||||||
|
|
||||||
cd $HOME
|
|
||||||
wget -qO - https://files.sa-mp.com/samp03svr_R2-1.tar.gz | tar -zxf -
|
|
||||||
# sudo dpkg --add-architecture i386
|
|
||||||
# sudo apt update
|
|
||||||
# sudo apt install -y libc6:i386
|
|
||||||
apt-get install ia32-libs
|
|
||||||
|
|
||||||
echo "echo Executing Server Config...
|
|
||||||
lanmode 0
|
|
||||||
rcon 1
|
|
||||||
language Russian
|
|
||||||
rcon_password bootsector
|
|
||||||
maxplayers 50
|
|
||||||
port 7777
|
|
||||||
hostname My Server
|
|
||||||
gamemode0 bare 1
|
|
||||||
filterscripts base gl_actions gl_property gl_realtime
|
|
||||||
announce 1
|
|
||||||
query 1
|
|
||||||
weburl
|
|
||||||
maxnpc 0
|
|
||||||
onfoot_rate 40
|
|
||||||
incar_rate 40
|
|
||||||
weapon_rate 40
|
|
||||||
stream_distance 800.0
|
|
||||||
stream_rate 1000
|
|
||||||
timestamp 1
|
|
||||||
output 0
|
|
||||||
" > $HOME/samp03/server.cfg
|
|
||||||
|
|
||||||
ln -s $HOME/samp03/samp03svr /usr/local/bin/samp
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "Success! Now run via 'samp &'"
|
|
||||||
echo
|
|
||||||
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
echo
|
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing wkhtmltopdf..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
# не тестировалось
|
|
||||||
|
|
||||||
wget "https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb" -O /tmp/wkhtmltopdf.deb
|
|
||||||
sudo dpkg -i /tmp/wkhtmltopdf.deb
|
|
||||||
rm /tmp/wkhtmltopdf.deb
|
|
||||||
@@ -4,6 +4,7 @@ echo -e "# Autogenerated at $(date +'%d.%m.%Y %H:%M') using ${BASH_SOURCE[0]}\n"
|
|||||||
|
|
||||||
for file in ./packs/*; do
|
for file in ./packs/*; do
|
||||||
cat ${file} >> Makefile
|
cat ${file} >> Makefile
|
||||||
|
echo >> Makefile
|
||||||
done;
|
done;
|
||||||
|
|
||||||
for file in ./install/*; do
|
for file in ./install/*; do
|
||||||
@@ -22,12 +23,11 @@ help: Makefile
|
|||||||
@echo "Available goals:"
|
@echo "Available goals:"
|
||||||
@sed -n 's/^##//p' $< | column -t -s ':' | sed -e "s/^/\t/"
|
@sed -n 's/^##//p' $< | column -t -s ':' | sed -e "s/^/\t/"
|
||||||
|
|
||||||
##<goal>_: Same as 'cat ./install/<goal>.sh'
|
##<goal>_: Same as 'cat ./install/<goal>'
|
||||||
%_:
|
%_:
|
||||||
@cat ./install/\$*.sh
|
@cat ./install/\$*
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|
||||||
echo "New ./Makefile has been generated!"
|
echo "New ./Makefile has been generated!"
|
||||||
echo "Old one has been saved as ./Makefile.bak"
|
echo "Old one has been saved as ./Makefile.bak"
|
||||||
echo
|
echo
|
||||||
|
|||||||
@@ -7,6 +7,6 @@ echo "Installing apache2..."
|
|||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
sudo apt install -y --autoremove apache2
|
sudo apt install -y --autoremove apache2 && \
|
||||||
sudo service apache2 restart
|
sudo systemctl restart apache2 && \
|
||||||
apache2 -v
|
apache2 -v
|
||||||
|
|||||||
72
install/apt
72
install/apt
@@ -7,54 +7,56 @@ echo "Installing software from apt..."
|
|||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
sudo apt update && sudo apt upgrade -y --autoremove
|
sudo apt update && \
|
||||||
sudo apt install -y --autoremove \
|
sudo apt upgrade -y --autoremove
|
||||||
|
|
||||||
|
sudo apt install -y \
|
||||||
|
alien \
|
||||||
apt-transport-https \
|
apt-transport-https \
|
||||||
ca-certificates \
|
|
||||||
curl \
|
|
||||||
make \
|
|
||||||
cmake \
|
|
||||||
dialog \
|
|
||||||
build-essential \
|
build-essential \
|
||||||
software-properties-common \
|
ca-certificates \
|
||||||
libaio1 \
|
cmake \
|
||||||
libssl-dev \
|
curl \
|
||||||
libghc-zlib-dev \
|
dconf-editor \
|
||||||
libcurl4-gnutls-dev \
|
default-jdk \
|
||||||
libexpat1-dev \
|
dialog \
|
||||||
gettext \
|
gettext \
|
||||||
gnupg \
|
gnupg \
|
||||||
ubuntu-restricted-extras \
|
|
||||||
unzip \
|
|
||||||
mc \
|
|
||||||
htop \
|
|
||||||
nano \
|
|
||||||
neofetch \
|
|
||||||
default-jdk \
|
|
||||||
terminator \
|
|
||||||
dconf-editor \
|
|
||||||
alien \
|
|
||||||
meld \
|
|
||||||
vlc \
|
|
||||||
gparted \
|
gparted \
|
||||||
hardinfo \
|
hardinfo \
|
||||||
|
htop \
|
||||||
|
libaio1 \
|
||||||
|
libcurl4-gnutls-dev \
|
||||||
|
libexpat1-dev \
|
||||||
|
libghc-zlib-dev \
|
||||||
libreoffice \
|
libreoffice \
|
||||||
pulseeffects \
|
libssl-dev \
|
||||||
lsp-plugins \
|
|
||||||
lsb-release \
|
lsb-release \
|
||||||
|
lsp-plugins \
|
||||||
|
make \
|
||||||
|
mc \
|
||||||
|
meld \
|
||||||
|
nano \
|
||||||
|
neofetch \
|
||||||
net-tools \
|
net-tools \
|
||||||
nmap \
|
nmap \
|
||||||
p7zip-full \
|
p7zip-full \
|
||||||
sqlitebrowser
|
pulseeffects \
|
||||||
# gnome-software \
|
software-properties-common \
|
||||||
# minder \
|
sqlitebrowser \
|
||||||
# redshift \
|
terminator \
|
||||||
# redshift-gtk \
|
ubuntu-restricted-extras \
|
||||||
# nodejs \
|
unzip \
|
||||||
|
vlc \
|
||||||
|
# at \
|
||||||
# compiz \
|
# compiz \
|
||||||
# compizconfig-settings-manager \
|
# compizconfig-settings-manager \
|
||||||
|
# deepin-screenshot \
|
||||||
# earlyoom \
|
# earlyoom \
|
||||||
# etckeeper \
|
# etckeeper \
|
||||||
# deepin-screenshot \
|
|
||||||
# geoclue-2.0 \
|
# geoclue-2.0 \
|
||||||
# at
|
# gnome-software \
|
||||||
|
# minder \
|
||||||
|
# nodejs \
|
||||||
|
# redshift \
|
||||||
|
# redshift-gtk
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ echo
|
|||||||
|
|
||||||
# https://t.me/axenov_blog/251
|
# https://t.me/axenov_blog/251
|
||||||
|
|
||||||
# sudo snap install chromium
|
wget "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" -O /tmp/google-chrome-stable_current_amd64.deb && \
|
||||||
wget "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" -O /tmp/google-chrome-stable_current_amd64.deb
|
sudo dpkg -i /tmp/google-chrome-stable_current_amd64.deb && \
|
||||||
sudo dpkg -i /tmp/google-chrome-stable_current_amd64.deb
|
|
||||||
rm /tmp/google-chrome-stable_current_amd64.deb
|
rm /tmp/google-chrome-stable_current_amd64.deb
|
||||||
|
|||||||
@@ -11,17 +11,20 @@ installed() {
|
|||||||
command -v "$1" >/dev/null 2>&1
|
command -v "$1" >/dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
if installed "php"; then
|
!installed "php" && echo "WARNING: You need to have php installed"
|
||||||
|
|
||||||
if installed "composer"; then
|
if installed "composer"; then
|
||||||
echo "WARNING: You already have composer installed - removing to install actual version"
|
echo "WARNING: Removing current composer to install its actual version"
|
||||||
sudo apt remove -y --autoremove composer
|
sudo apt remove -y --autoremove composer
|
||||||
sudo rm -f /bin/composer
|
sudo rm -f /bin/composer
|
||||||
sudo rm -f /usr/bin/composer
|
sudo rm -f /usr/bin/composer
|
||||||
sudo rm -f /usr/local/bin/composer
|
sudo rm -f /usr/local/bin/composer
|
||||||
sudo rm -rf /usr/src/composer
|
sudo rm -rf /usr/src/composer
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo mkdir -m 0777 -p /usr/src/composer
|
sudo mkdir -m 0777 -p /usr/src/composer
|
||||||
cd /usr/src/composer
|
cd /usr/src/composer
|
||||||
|
|
||||||
# https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md
|
# https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md
|
||||||
EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
|
EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
|
||||||
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
||||||
@@ -36,21 +39,3 @@ if installed "php"; then
|
|||||||
cd - >/dev/null
|
cd - >/dev/null
|
||||||
sudo rm -rf /usr/src/composer/
|
sudo rm -rf /usr/src/composer/
|
||||||
installed "composer" && composer --version
|
installed "composer" && composer --version
|
||||||
else
|
|
||||||
echo "WARNING: You need to have php installed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# title "Installing composer.phar in home dir..."
|
|
||||||
# cd ~
|
|
||||||
# EXPECTED_SIGNATURE="$(wget -q -O - https://composer.github.io/installer.sig)"
|
|
||||||
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
|
||||||
# ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
|
|
||||||
# if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]
|
|
||||||
# then
|
|
||||||
# >&2 echo 'ERROR: Invalid installer signature'
|
|
||||||
# rm composer-setup.php
|
|
||||||
# exit 1
|
|
||||||
# fi
|
|
||||||
# php composer-setup.php --quiet
|
|
||||||
# RESULT=$?
|
|
||||||
# rm composer-setup.php
|
|
||||||
|
|||||||
Reference in New Issue
Block a user