rsshub / scripts /ansible /rsshub.yaml
asemxin
Initial commit for HF Spaces
bf48b89
- name: Install RSSHub
hosts: localhost
become: true
vars_prompt:
- name: domain_name
prompt: What is the domain name (without www, e.g. rsshub.example.com)? Use "http://localhost" for development in Vagrant VM.
private: no
tasks:
- name: Check OS
fail:
msg: This playbook can only be run on Ubuntu 20.04 at this moment
when: ansible_distribution != 'Ubuntu' or ansible_distribution_version !='20.04'
- name: Install GPG keys for repos
apt_key:
url: '{{ item }}'
state: present
with_items:
- https://deb.nodesource.com/gpgkey/nodesource.gpg.key
- https://download.docker.com/linux/ubuntu/gpg
- https://dl.cloudsmith.io/public/caddy/stable/cfg/gpg/gpg.155B6D79CA56EA34.key
- name: Install repos
apt_repository:
repo: '{{ item }}'
state: present
update_cache: yes
with_items:
- deb https://deb.nodesource.com/node_12.x focal main
- deb https://download.docker.com/linux/ubuntu focal stable
- deb https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main
- name: Install prerequisites
apt:
name:
- nodejs
- build-essential
- python-is-python2
- redis-server
- docker-ce
- python3-pip
- virtualenv
- python3-setuptools
- caddy
state: present
update_cache: yes
- name: Install python module for docker
pip:
name: docker
- name: Pull docker image for browserless
docker_image:
name: browserless/chrome
source: pull
- name: Start redis
systemd:
state: restarted
enabled: yes
name: redis
daemon_reload: yes
- name: Copy caddy configuration
template:
src: rsshub.Caddyfile
dest: /etc/caddy/Caddyfile
- name: Start caddy
systemd:
state: restarted
enabled: yes
name: caddy
daemon_reload: yes
- name: Create and start browserless container
docker_container:
name: browserless
image: browserless/chrome
state: started
restart_policy: always
published_ports:
- '3000:3000'
- name: Create the user
user:
name: rsshub
create_home: true
shell: /bin/bash
- name: Clone the repo
git:
repo: https://github.com/DIYgod/RSSHub.git
dest: /home/rsshub/app
update: yes
- name: Install repo dependencies
command: yarn install --production
args:
chdir: /home/rsshub/app
environment:
PUPPETEER_SKIP_DOWNLOAD: true
- name: Copy configuration
copy:
src: rsshub.env
dest: /home/rsshub/app/.env
- name: Own repo to the user
file:
path: /home/rsshub/app
owner: rsshub
group: rsshub
recurse: yes
- name: Install the systemd unit
copy:
src: rsshub.service
dest: /etc/systemd/system/rsshub.service
- name: Start the systemd service
systemd:
state: restarted
enabled: yes
name: rsshub
daemon_reload: yes