Ansible Role: Install Firefox
Install Firefox for Linux and Windows.
Work on
Ansible Galaxy style:
platforms:
- name: Fedora
versions:
- 31
- 30
- name: Ubuntu
versions:
- focal
- eoan
- disco
- cosmic
- bionic
- xenial
- trusty
- name: Debian
version:
- jessie
- stretch
- buster
- stable
- testing
- name: EL (CentOS)
versions:
- 8
- 7
- name: opensuse
vesrion:
- tumbleweed
- name: windows
version:
- 2008x64 (7 64bit)
- 2008x86 (7 32bit)
- 2019 (10 64bit)
Table style:
- ✔️ - work, tested, ok.
- 🚧 - TODO. Work in progress.
- ❌ - not work. Don't try.
. | Firefox stable | Firefox beta | Firefox nightly | Firefox developer | Firefox esr | . | Flatpak | Snap | msi | exe | tar | 32 bit | 64 bit |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OS | |||||||||||||
Windows | |||||||||||||
7 | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ❌ | ❌ | ✔️ | ✔️ | ❌ | ✔️ | ✔️ | |
10 | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ❌ | ❌ | ✔️ | ✔️ | ❌ | ✔️ | ✔️ | |
Ubuntu | |||||||||||||
focal | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
eoan | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
disco | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
cosmic | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
bionic | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
xenial | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
trusty | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
Debian | |||||||||||||
jessie | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
stretch | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
buster | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
stable | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
testing | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
EL (CentOS) | |||||||||||||
8 | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
7 | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
opensuse | |||||||||||||
tumbleweed | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ✔️ | ✔️ | ❌ | ❌ | 🚧 | ✔️ | ✔️ | |
Package manager | |||||||||||||
Flatpak | ✔️ | ❌ | ❌ | ❌ | ❌ | ||||||||
Snap | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ||||||||
msi | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ||||||||
exe | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ||||||||
tar | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | ||||||||
Architecture | |||||||||||||
32 | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 | ||||||||
64 | ✔️ | 🚧 | 🚧 | 🚧 | 🚧 |
Requirements
Role Variables
#--- Firefox Edition ---#
firefox_edition: stable
# firefox_edition: beta
# firefox_edition: nightly
# firefox_edition: developer
# firefox_edition: esr
#--- Firefox method install ---#
firefox_method_install: package-manager
# firefox_method_install: flatpak
# firefox_method_install: snap
# firefox_method_install: tar
#--- Firefox language ---#
# !!! Default value 4 Windows !!!:
firefox_lang: ru
# firefox_lang: en-US
#--- Firefox api urls ---#
firefox_versions_url: 'https://product-details.mozilla.org/1.0/firefox_versions.json'
firefox_available_languages_url: 'https://product-details.mozilla.org/1.0/languages.json'
#--- Firefox installer type. Windows only!!! ---#
firefox_win_installer_type: exe
# firefox_win_installer_type: msi
#--- Firefox install path. Windows only!!! ---#
firefox_win_install_path: '{{ ansible_env.ProgramFiles }}\Mozilla Firefox'
#--- Firefox path to firefox.exe. Windows only!!! ---#
firefox_win_path_to_exe: '{{ firefox_win_install_path }}\firefox.exe'
#--- Firefox local download path. ---#
firefox_windows_local_download_path: '{{ ansible_env.TMP }}\firefox'
firefox_linux_local_download_path: '/tmp/firefox'
Dependencies
If you want install over Flatpak:
Version one:
cd /path/to/you/ansible/roles
git clone https://github.com/don-rumata/ansible-role-install-flatpak
Version two:
ansible-galaxy install don_rumata.ansible_role_install_flatpak
If you want install over Snap:
Version one:
cd /path/to/you/ansible/roles
git clone https://github.com/don-rumata/ansible-role-install-snap
Version two:
ansible-galaxy install don_rumata.ansible_role_install_snap
If you want deploy to Windows 7 - download and install "Windows Management Framework 5.1":
https://www.microsoft.com/en-us/download/details.aspx?id=54616
HowTo
Quick config WinRM for Windows: https://ru.stackoverflow.com/a/949971/191416
Example Playbooks
Install latest stable Firefox on Windows or Linux with en-US
locale (for Windows) over package manager of you distro:
install-firefox.yml
:
- name: Install FireFox
hosts: all
strategy: free
serial:
- "100%"
roles:
- ansible-role-install-firefox
vars:
firefox_lang: en-US
tasks:
install-firefox-over-flatpak-v1.yml
:
- name: Install FireFox
hosts: all
strategy: free
serial:
- "100%"
roles:
- ansible-role-install-flatpak
- ansible-role-install-firefox
vars:
firefox_method_install: flatpak
tasks:
install-firefox-over-snap-v2.yml
:
- name: Install FireFox
hosts: all
strategy: free
serial:
- "100%"
roles:
- don_rumata.ansible_role_install_snap
- ansible-role-install-firefox
vars:
firefox_method_install: snap
tasks:
License
Apache License, Version 2.0
Author Information
TODO
- Add tests.