Browse Source
+ refactored and solve some problems with mariadb and nginx playbook
+ refactored and solve some problems with mariadb and nginx playbook
+ apps playbooks - docker, caprover * simple refactore starter scripts + apt update debops playboook prepend launch by default * sury repo changed * database users locked to localhost only * phpmyadmin blowfish generate secret fixmaster
25 changed files with 228 additions and 64 deletions
-
2playbooks/apache-site.yml
-
17playbooks/apps/caprover.yml
-
33playbooks/apps/docker-debian.yml
-
29playbooks/apps/docker-ubuntu.yml
-
22playbooks/debops/apt.yml
-
2playbooks/debops/mariadb-custom-db.yml
-
2playbooks/debops/mariadb.yml
-
17playbooks/debops/mariadb_server.yml
-
23playbooks/debops/nginx.yml
-
8playbooks/debops/php-prod.yml
-
10playbooks/debops/php-wp.yml
-
10playbooks/debops/root_account.yml
-
1playbooks/nginx-only.yml
-
1playbooks/nginx-site-without-db-site.yml
-
3playbooks/nginx-site.yml
-
8playbooks/own/libgd3-fix-for-php8.yml
-
2playbooks/own/phpmyadmin-nginx-auth.yml
-
15playbooks/own/phpmyadmin.yml
-
9playbooks/own/yadm-update.yml
-
34playbooks/own/yadm.yml
-
1playbooks/root-account.yml
-
2run-lxc-playbook.sh
-
35run-playbook.sh
-
2run-site-playbook.sh
-
4vars/databases-example.yml
@ -0,0 +1,17 @@ |
|||
--- |
|||
- hosts: [ 'debian10' ] |
|||
tasks: |
|||
- name: Configure Firewall |
|||
shell: | |
|||
ufw allow 80,443,3000,996,7946,4789,2377/tcp; ufw allow 7946,4789,2377/udp; |
|||
|
|||
- name: Install caprover |
|||
shell: | |
|||
docker run -p 80:80 -p 443:443 -p 3000:3000 -e ACCEPTED_TERMS=true -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover |
|||
|
|||
- name: "Install npm caprover package (after that use: caprover serversetup)" |
|||
shell: | |
|||
export NVM_DIR="$HOME/.nvm" |
|||
. "$NVM_DIR/nvm.sh" |
|||
. "$NVM_DIR/bash_completion" |
|||
npm install -g caprover |
@ -0,0 +1,33 @@ |
|||
--- |
|||
- hosts: [ 'debian10' ] |
|||
tasks: |
|||
- name: Remove old packages |
|||
shell: | |
|||
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do apt-get remove $pkg; done |
|||
apt-get autoremove |
|||
|
|||
- name: Add APT repository |
|||
shell: | |
|||
# Add Docker's official GPG key: |
|||
apt-get update |
|||
apt-get install ca-certificates curl |
|||
install -m 0755 -d /etc/apt/keyrings |
|||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc |
|||
chmod a+r /etc/apt/keyrings/docker.asc |
|||
|
|||
# Add the repository to Apt sources: |
|||
echo \ |
|||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ |
|||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ |
|||
tee /etc/apt/sources.list.d/docker.list > /dev/null |
|||
|
|||
apt-get update |
|||
|
|||
- name: Install Docker |
|||
shell: | |
|||
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin |
|||
|
|||
- name: Test hello-world |
|||
shell: | |
|||
docker run hello-world |
|||
|
@ -0,0 +1,29 @@ |
|||
--- |
|||
- hosts: [ 'debian10' ] |
|||
tasks: |
|||
- name: Remove old packages |
|||
shell: | |
|||
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do apt-get remove $pkg; done |
|||
apt-get autoremove |
|||
|
|||
- name: Add APT repository |
|||
shell: | |
|||
apt-get update |
|||
apt-get install ca-certificates curl |
|||
install -m 0755 -d /etc/apt/keyrings |
|||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc |
|||
chmod a+r /etc/apt/keyrings/docker.asc |
|||
echo \ |
|||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ |
|||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ |
|||
tee /etc/apt/sources.list.d/docker.list > /dev/null |
|||
apt-get update |
|||
|
|||
- name: Install Docker |
|||
shell: | |
|||
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin |
|||
|
|||
- name: Test hello-world |
|||
shell: | |
|||
docker run hello-world |
|||
|
@ -0,0 +1,22 @@ |
|||
--- |
|||
|
|||
- name: Manage Advanced Package Manager |
|||
collections: [ 'debops.debops', 'debops.roles01', |
|||
'debops.roles02', 'debops.roles03' ] |
|||
hosts: [ 'debian10' ] |
|||
become: True |
|||
|
|||
environment: '{{ inventory__environment | d({}) |
|||
| combine(inventory__group_environment | d({})) |
|||
| combine(inventory__host_environment | d({})) }}' |
|||
|
|||
post_tasks: |
|||
|
|||
- name: Upgrade |
|||
ansible.builtin.apt: |
|||
upgrade: True |
|||
|
|||
roles: |
|||
|
|||
- role: apt |
|||
tags: [ 'role::apt', 'skip::apt' ] |
@ -1,5 +1,6 @@ |
|||
--- |
|||
- import_playbook: own/allow-releaseinfo-change.yml |
|||
- import_playbook: debops/apt.yml |
|||
- import_playbook: root-account.yml |
|||
- import_playbook: debops/pki.yml |
|||
- import_playbook: debops/system_users.yml |
|||
|
@ -1,4 +1,5 @@ |
|||
--- |
|||
- import_playbook: debops/apt.yml |
|||
- import_playbook: root-account.yml |
|||
- import_playbook: debops/pki.yml |
|||
- import_playbook: debops/system_users.yml |
@ -1,16 +1,18 @@ |
|||
--- |
|||
- name: Solve problem with libgd3 for php-gd |
|||
hosts: [ 'debian10' ] |
|||
when: (php_version != '7.4') |
|||
vars_files: |
|||
- ./../../vars/php.yml |
|||
tasks: |
|||
- copy: |
|||
- name: Set pin for libgd3 package |
|||
copy: |
|||
dest: '/etc/apt/preferences.d/libgd-pin100' |
|||
content: |- |
|||
Package: libgd3 |
|||
Pin-Priority: 100 |
|||
- shell: |- |
|||
|
|||
- name: Update apt cache policy and install libgd |
|||
shell: |- |
|||
apt update |
|||
apt install -t bullseye libgd3 -yy |
|||
apt-cache policy libgd3 |
|||
|
@ -0,0 +1,9 @@ |
|||
--- |
|||
- hosts: ['debian10'] |
|||
tasks: |
|||
- name: Update existing YADM install with remote ip-address plugin and replace own |
|||
shell: | |
|||
yadm remote set-url origin https://vcs.wpstudio.ru/gitea/dotfiles.git |
|||
rm -rf .tmux/plugins/tmux-ip-address |
|||
yadm pull |
|||
yadm checkout . |
@ -1,30 +1,40 @@ |
|||
--- |
|||
- hosts: [ 'debian10' ] |
|||
tasks: |
|||
- name: Install yadm |
|||
become_user: root |
|||
shell: | |
|||
command -v yadm || curl -sfLo /usr/local/bin/yadm https://github.com/TheLocehiliosan/yadm/raw/master/yadm && chmod a+x /usr/local/bin/yadm |
|||
|
|||
- name: Install direnv |
|||
become_user: root |
|||
shell: | |
|||
command -v direnv || curl -sfLo /usr/local/bin/direnv https://github.com/direnv/direnv/releases/download/v2.35.0/direnv.linux-amd64 && chmod a+x /usr/local/bin/direnv |
|||
command -v direnv > /dev/null || { |
|||
curl -sfLo /usr/local/bin/direnv https://github.com/direnv/direnv/releases/download/v2.35.0/direnv.linux-amd64 && \ |
|||
chmod a+x /usr/local/bin/direnv |
|||
} |
|||
|
|||
- name: Install Starship |
|||
become_user: root |
|||
shell: | |
|||
command -v starship || curl -sS https://starship.rs/install.sh | sh -s -- -f |
|||
command -v starship> /dev/null || { |
|||
curl -sS https://starship.rs/install.sh | sh -s -- -f |
|||
} |
|||
|
|||
- name: Clone dotfiles repo |
|||
- name: Install with init or update yadm |
|||
become_user: root |
|||
shell: | |
|||
yadm clone --bootstrap https://vcs.wpstudio.ru/gitea/dotfiles.git && yadm checkout ./ |
|||
command -v yadm && { |
|||
yadm remote set-url origin https://vcs.wpstudio.ru/gitea/dotfiles.git |
|||
rm -rf .tmux/plugins/tmux-ip-address |
|||
yadm pull && yadm checkout . |
|||
} || { |
|||
curl -sfLo /usr/local/bin/yadm https://github.com/TheLocehiliosan/yadm/raw/master/yadm && chmod a+x /usr/local/bin/yadm |
|||
yadm clone --bootstrap https://vcs.wpstudio.ru/gitea/dotfiles.git && yadm checkout . |
|||
} |
|||
|
|||
# For manual change: sed -i 's/#/\\$/g' ${HOME}/.config/starship.toml |
|||
- name: 'Change character for non-root user' |
|||
become: false |
|||
become_user: root |
|||
shell: | |
|||
sed -i 's/#/\\$/g' ${HOME}/.config/starship.toml |
|||
HOME_USER=$(ls /home) |
|||
test ! -z "${HOME_USER}" && su --login ${HOME_USER} -c 'yadm clone --bootstrap https://vcs.wpstudio.ru/gitea/dotfiles.git && yadm checkout .' |
|||
test ! -z "${HOME_USER}" && su --login ${HOME_USER} -c 'sed -i "s/#/\\$/g" ${HOME}/.config/starship.toml' |
|||
exit 0 |
|||
args: |
|||
executable: /bin/bash |
|||
executable: /bin/bash |
Write
Preview
Loading…
Cancel
Save
Reference in new issue