This guide provides a full Ansible playbook to deploy Pagure on Fedora/RHEL hosts using traditional installation. Pagure is primarily designed for Fedora/RHEL ecosystems.
- name: Deploy Pagure
hosts: pagure
become: true
vars:
pagure_config: /etc/pagure/pagure.cfg
app_port: 5000
tasks:
- name: Install Pagure and dependencies (Fedora/RHEL)
dnf:
name:
- pagure
- pagure-webhook
- pagure-ev
- git
- redis
- postgresql
- postgresql-contrib
state: present
when: ansible_os_family == "RedHat"
- name: Enable and start Redis
systemd:
name: redis
enabled: true
state: started
- name: Enable and start PostgreSQL
systemd:
name: postgresql
enabled: true
state: started
- name: Create Pagure database
become_user: postgres
command: createdb pagure
args:
creates: /var/lib/pgsql/data/pagure
- name: Create Pagure database user
become_user: postgres
command: createuser pagure
args:
creates: /var/lib/pgsql/data/pagure-user
- name: Create Pagure configuration directory
file:
path: /etc/pagure
state: directory
mode: "0755"
- name: Initialize Pagure configuration
command: cp /usr/share/doc/pagure/pagure.cfg.example {{ pagure_config }}
args:
creates: "{{ pagure_config }}"
- name: Initialize Pagure database schema
command: pagure-admin db-create {{ pagure_config }}
become_user: pagure
- name: Enable Pagure services
systemd:
name: "{{ item }}"
enabled: true
loop:
- pagure-worker
- pagure-message
- pagure-webhook
- name: Start Pagure services
systemd:
name: "{{ item }}"
state: started
loop:
- pagure-worker
- pagure-message
- pagure-webhook
/etc/pagure/pagure.cfgFor non-RHEL systems or newer versions:
- name: Install Pagure via pip
pip:
name: pagure
executable: pip3
Any questions?
Feel free to contact us. Find all contact information on our contact page.