This guide provides a full Ansible playbook to install Beanstalkd with distro-aware package handling and baseline service configuration for Debian 10+, Ubuntu LTS, and RHEL 9+ compatible systems.
- name: Install Beanstalkd
hosts: beanstalkd
become: true
vars:
beanstalkd_config_dir: /etc/beanstalkd
beanstalkd_user: beanstalkd
beanstalkd_port: 11300
beanstalkd_listen_addr: "0.0.0.0"
tasks:
- name: Install Beanstalkd (Debian/Ubuntu)
apt:
name:
- beanstalkd
state: present
update_cache: true
when: ansible_os_family == "Debian"
- name: Install Beanstalkd (RHEL family)
dnf:
name:
- beanstalkd
state: present
enablerepo: epel
when: ansible_os_family == "RedHat"
- name: Create configuration directory
file:
path: "{{ beanstalkd_config_dir }}"
state: directory
mode: "0755"
owner: root
group: root
- name: Configure Beanstalkd (Debian/Ubuntu)
lineinfile:
path: /etc/default/beanstalkd
regexp: "^{{ item.key }}="
line: "{{ item.key }}={{ item.value }}"
loop:
- { key: 'START', value: 'yes' }
- { key: 'ADDR', value: '{{ beanstalkd_listen_addr }}' }
- { key: 'PORT', value: '{{ beanstalkd_port }}' }
when: ansible_os_family == "Debian"
- name: Enable and start Beanstalkd
service:
name: beanstalkd
state: started
enabled: true
- name: Verify Beanstalkd is running
command: "beanstalkd -h"
register: beanstalkd_version
changed_when: false
failed_when: false
- name: Show Beanstalkd help output
debug:
var: beanstalkd_version.stdout
ADDR to 0.0.0.0 for network access-b /var/lib/beanstalkd/binlog for job persistence| Variable | Default | Description |
|---|---|---|
beanstalkd_config_dir |
/etc/beanstalkd |
Configuration directory |
beanstalkd_user |
beanstalkd |
System user for Beanstalkd |
beanstalkd_port |
11300 |
Listening port |
beanstalkd_listen_addr |
0.0.0.0 |
Listen address |
Any questions?
Feel free to contact us. Find all contact information on our contact page.