Created
February 3, 2021 14:36
-
-
Save codatory/de308a40cd8eea4c96599313584f1a71 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: "3" | |
services: | |
server: | |
image: openspeedtest/latest | |
container_name: openspeedtest | |
restart: always | |
ports: | |
- "80:8080" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Unit] | |
Description=iperf3 server | |
After=syslog.target network.target auditd.service | |
[Service] | |
ExecStart=/usr/bin/iperf3 -s | |
[Install] | |
WantedBy=multi-user.target |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- name: Applying speedtest configuration | |
hosts: speedtest.codatory.net | |
become: true | |
vars: | |
ansible_ssh_pipelining: true | |
tasks: | |
- name: Install HWE | |
apt: | |
name: linux-generic-hwe-20.04 | |
cache_valid_time: 3600 | |
- name: Remove multipath-tools | |
apt: | |
name: multipath-tools | |
state: absent | |
purge: yes | |
- name: Update all packages to their latest version | |
apt: | |
name: "*" | |
state: latest | |
cache_valid_time: 3600 | |
- name: Remove dependencies that are no longer required | |
apt: | |
autoremove: yes | |
- name: Reboot box if kernel/libs updated and requested by the system | |
shell: sleep 10 && /sbin/shutdown -r now 'Rebooting box to update system libs/kernel as needed' | |
args: | |
removes: /var/run/reboot-required | |
async: 300 | |
poll: 0 | |
ignore_errors: true | |
- name: Wait for system to become reachable again | |
wait_for_connection: | |
delay: 20 | |
timeout: 300 | |
- name: Configuring Sysctl Optimizations | |
ansible.posix.sysctl: | |
name: "{{ item[0] }}" | |
value: "{{ item[1] }}" | |
sysctl_file: /etc/sysctl.d/20-optimization.conf | |
sysctl_set: yes | |
loop: | |
- ['net.ipv4.tcp_slow_start_after_idle', 0] | |
- ['net.ipv4.ip_local_port_range', '49152 65535'] | |
- ['net.ipv4.tcp_fastopen', 3] | |
- ['net.core.rmem_default', 1048576] | |
- ['net.core.rmem_max', 16777216] | |
- ['net.core.somaxconn', 8192] | |
- ['net.core.netdev_max_backlog', 16384] | |
- ['net.core.wmem_default', 1048576] | |
- ['net.core.wmem_max', 16777216] | |
- ['net.core.optmem_max', '65536'] | |
- ['net.ipv4.tcp_rmem', '4096 1048576 2097152'] | |
- ['net.ipv4.tcp_wmem', '4096 65536 16777216'] | |
- ['net.ipv4.udp_rmem_min', '8192'] | |
- ['net.ipv4.udp_wmem_min', '8192'] | |
- ['net.core.default_qdisc', 'cake'] | |
- ['net.ipv4.tcp_congestion_control', 'bbr'] | |
- name: Install Docker Dependencies | |
apt: | |
name: ['apt-transport-https','ca-certificates','curl','gnupg-agent','software-properties-common','python3-pip'] | |
cache_valid_time: 3600 | |
- name: Install Docker Repository Key | |
apt_key: | |
url: https://download.docker.com/linux/ubuntu/gpg | |
state: present | |
- name: Install Docker Repository | |
apt_repository: | |
repo: deb https://download.docker.com/linux/ubuntu focal stable | |
state: present | |
- name: Install Docker | |
apt: | |
name: ['docker-ce', 'docker-ce-cli', 'containerd.io', 'docker-compose'] | |
- name: Install Docker-Compose PY Module | |
pip: | |
name: docker-compose | |
- name: Enable docker daemon | |
systemd: | |
state: started | |
enabled: yes | |
name: docker.service | |
- name: Enable containerd daemon | |
systemd: | |
state: started | |
enabled: yes | |
name: containerd.service | |
- name: Enable docker group | |
group: | |
name: docker | |
state: present | |
- name: Ensure ubuntu in docker group | |
user: | |
append: yes | |
groups: docker | |
name: ubuntu | |
- name: Copy compose file | |
copy: | |
src: docker-compose.yaml | |
dest: ~/docker-compose.yaml | |
owner: root | |
- name: Docker compose | |
shell: | |
cmd: docker-compose up --detach --no-color --quiet-pull --remove-orphans | |
chdir: ~/ | |
- name: Install iperf3 | |
apt: | |
name: iperf3 | |
- name: Install iperf3 Service | |
copy: | |
src: iperf3.service | |
dest: /etc/systemd/system/iperf3.service | |
owner: root | |
- name: Register and start iperf3 service | |
systemd: | |
state: restarted | |
daemon_reload: yes | |
enabled: yes | |
name: iperf3 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment