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
-
32playbooks/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: own/allow-releaseinfo-change.yml |
||||
|
- import_playbook: debops/apt.yml |
||||
- import_playbook: root-account.yml |
- import_playbook: root-account.yml |
||||
- import_playbook: debops/pki.yml |
- import_playbook: debops/pki.yml |
||||
- import_playbook: debops/system_users.yml |
- import_playbook: debops/system_users.yml |
||||
|
@ -1,4 +1,5 @@ |
|||||
--- |
--- |
||||
|
- import_playbook: debops/apt.yml |
||||
- import_playbook: root-account.yml |
- import_playbook: root-account.yml |
||||
- import_playbook: debops/pki.yml |
- import_playbook: debops/pki.yml |
||||
- import_playbook: debops/system_users.yml |
- import_playbook: debops/system_users.yml |
@ -1,16 +1,18 @@ |
|||||
--- |
--- |
||||
- name: Solve problem with libgd3 for php-gd |
- name: Solve problem with libgd3 for php-gd |
||||
hosts: [ 'debian10' ] |
hosts: [ 'debian10' ] |
||||
when: (php_version != '7.4') |
|
||||
vars_files: |
vars_files: |
||||
- ./../../vars/php.yml |
- ./../../vars/php.yml |
||||
tasks: |
tasks: |
||||
- copy: |
|
||||
|
- name: Set pin for libgd3 package |
||||
|
copy: |
||||
dest: '/etc/apt/preferences.d/libgd-pin100' |
dest: '/etc/apt/preferences.d/libgd-pin100' |
||||
content: |- |
content: |- |
||||
Package: libgd3 |
Package: libgd3 |
||||
Pin-Priority: 100 |
Pin-Priority: 100 |
||||
- shell: |- |
|
||||
|
|
||||
|
- name: Update apt cache policy and install libgd |
||||
|
shell: |- |
||||
apt update |
apt update |
||||
apt install -t bullseye libgd3 -yy |
apt install -t bullseye libgd3 -yy |
||||
apt-cache policy libgd3 |
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' ] |
- hosts: [ 'debian10' ] |
||||
tasks: |
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 |
- name: Install direnv |
||||
become_user: root |
become_user: root |
||||
shell: | |
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 |
- name: Install Starship |
||||
become_user: root |
become_user: root |
||||
shell: | |
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: | |
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 |
# For manual change: sed -i 's/#/\\$/g' ${HOME}/.config/starship.toml |
||||
- name: 'Change character for non-root user' |
- name: 'Change character for non-root user' |
||||
become: false |
|
||||
become_user: root |
become_user: root |
||||
shell: | |
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: |
args: |
||||
executable: /bin/bash |
executable: /bin/bash |
Write
Preview
Loading…
Cancel
Save
Reference in new issue