mirror of
https://github.com/phfroidmont/self-hosting.git
synced 2025-12-25 05:36:59 +01:00
Migrate to bigger Hetzner server
This commit is contained in:
parent
d77f2ef548
commit
86fb8e71c1
32 changed files with 294 additions and 226 deletions
|
|
@ -1,107 +1,94 @@
|
|||
---
|
||||
- name: Docker installation for Ubuntu distribution
|
||||
block:
|
||||
- name: Ensure docker packages are not present
|
||||
apt:
|
||||
state: absent
|
||||
name: ['docker', 'docker-engine', 'docker.io']
|
||||
|
||||
- name: Ensure docker packages are not present
|
||||
apt:
|
||||
state: absent
|
||||
name: ['docker', 'docker-engine', 'docker.io']
|
||||
- name: Install docker package dependencies
|
||||
apt:
|
||||
state: latest
|
||||
name: ['apt-transport-https', 'ca-certificates']
|
||||
update_cache: yes
|
||||
cache_valid_time: 86400
|
||||
register: result
|
||||
retries: 3
|
||||
until: result is success
|
||||
|
||||
- name: Install docker package dependencies
|
||||
apt:
|
||||
state: latest
|
||||
name: ['apt-transport-https', 'ca-certificates', 'curl', 'software-properties-common']
|
||||
update_cache: yes
|
||||
cache_valid_time: 86400
|
||||
register: result
|
||||
retries: 3
|
||||
until: result is success
|
||||
- name: Adding Docker official gpg key
|
||||
apt_key:
|
||||
url: "{{ docker_apt_key }}"
|
||||
id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
|
||||
state: present
|
||||
|
||||
- name: Adding Docker official gpg key
|
||||
apt_key:
|
||||
url: "{{ docker_apt_key }}"
|
||||
state: present
|
||||
- name: Setting Docker repository depending on arch
|
||||
set_fact:
|
||||
docker_repository: "deb [arch={{ item.apt_arch }}] {{ docker_apt_repository }} {{ ansible_distribution_release }} {{ docker_apt_channel }}"
|
||||
when: ansible_architecture == item.system_arch
|
||||
with_items:
|
||||
- { system_arch: 'x86_64', apt_arch: 'amd64' }
|
||||
- { system_arch: 'arm', apt_arch: 'armhf' }
|
||||
|
||||
- name: Setting Docker repository depending on arch
|
||||
set_fact:
|
||||
docker_repository: "deb [arch={{ item.apt_arch }}] {{ docker_apt_repository }} {{ ansible_distribution_release }} {{ docker_apt_channel }}"
|
||||
when: ansible_architecture == item.system_arch
|
||||
with_items:
|
||||
- { system_arch: 'x86_64', apt_arch: 'amd64' }
|
||||
- { system_arch: 'arm', apt_arch: 'armhf' }
|
||||
- name: Printing Docker repository
|
||||
debug:
|
||||
var: docker_repository
|
||||
|
||||
- name: Printing Docker repository
|
||||
debug:
|
||||
var: docker_repository
|
||||
- name: Adding Docker repository
|
||||
apt_repository:
|
||||
repo: "{{ docker_repository }}"
|
||||
state: present
|
||||
update_cache: true
|
||||
|
||||
- name: Adding Docker repository
|
||||
apt_repository:
|
||||
repo: "{{ docker_repository }}"
|
||||
state: present
|
||||
filename: 'docker'
|
||||
- name: Install Docker.
|
||||
package:
|
||||
name: docker-ce
|
||||
state: present
|
||||
notify: restart docker
|
||||
|
||||
- name: Explicitly create docker0
|
||||
shell: |
|
||||
ip link add name docker0 type bridge || true
|
||||
ip addr add dev docker0 172.17.0.1/16 || true
|
||||
changed_when: no
|
||||
- name: Ensure containerd service dir exists.
|
||||
file:
|
||||
path: /etc/systemd/system/containerd.service.d
|
||||
state: directory
|
||||
|
||||
- name: Install docker-ce
|
||||
apt:
|
||||
name: docker-ce={{ docker_version }}
|
||||
update_cache: yes
|
||||
register: result
|
||||
retries: 3
|
||||
until: result is success
|
||||
- name: Add shim to ensure Docker can start in all environments.
|
||||
template:
|
||||
src: override.conf.j2
|
||||
dest: /etc/systemd/system/containerd.service.d/override.conf
|
||||
register: override_template
|
||||
|
||||
- name: Pin docker-ce release
|
||||
copy:
|
||||
dest: /etc/apt/preferences.d/docker-ce
|
||||
content: |
|
||||
Package: docker-ce
|
||||
Pin: version {{ docker_version }}
|
||||
Pin-Priority: 1002
|
||||
- name: Reload systemd daemon if template is changed.
|
||||
systemd:
|
||||
daemon_reload: true
|
||||
when: override_template is changed
|
||||
|
||||
- name: Fixing systemd unit for Docker config file
|
||||
template:
|
||||
src: docker.service.j2
|
||||
dest: /lib/systemd/system/docker.service
|
||||
notify: reload systemd
|
||||
- name: Ensure Docker is started and enabled at boot.
|
||||
service:
|
||||
name: docker
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
- name: Create docker config directory
|
||||
file:
|
||||
path: /etc/docker
|
||||
mode: 0700
|
||||
recurse: yes
|
||||
- name: Ensure handlers are notified now to avoid firewall conflicts.
|
||||
meta: flush_handlers
|
||||
|
||||
- name: Templating /etc/docker/daemon.json
|
||||
template:
|
||||
src: daemon.json.j2
|
||||
dest: /etc/docker/daemon.json
|
||||
notify: restart docker
|
||||
- name: Install python3-pip
|
||||
apt:
|
||||
name: python3-pip
|
||||
state: latest
|
||||
cache_valid_time: 86400
|
||||
register: result
|
||||
retries: 3
|
||||
until: result is success
|
||||
|
||||
- name: Flushing handlers 2
|
||||
meta: flush_handlers
|
||||
|
||||
- name: Getting Docker version
|
||||
shell: "docker --version"
|
||||
register: docker_version
|
||||
changed_when: no
|
||||
- name: Install docker-compose package dependencies
|
||||
apt:
|
||||
state: latest
|
||||
name: python3-setuptools
|
||||
update_cache: yes
|
||||
cache_valid_time: 86400
|
||||
register: result
|
||||
retries: 3
|
||||
until: result is success
|
||||
|
||||
- name: Install python3-pip
|
||||
apt:
|
||||
name: python3-pip
|
||||
state: latest
|
||||
cache_valid_time: 3600
|
||||
register: result
|
||||
retries: 3
|
||||
until: result is success
|
||||
|
||||
- name: Install docker-compose
|
||||
pip:
|
||||
name: docker-compose
|
||||
|
||||
- name: Printing Docker version
|
||||
debug: var=docker_version
|
||||
|
||||
when: ansible_distribution == "Ubuntu"
|
||||
- name: Install docker-compose
|
||||
pip:
|
||||
name: docker-compose
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue