- name: Generate JWT Secret command: openssl rand -hex 32 register: nitter_jwt_secret_result - set_fact: nitter_jwt_secret: "{{ nitter_jwt_secret_result.stdout }}" - name: Set up nitter conf template: src: "conf/nitter/nitter.conf.j2" dest: "{{ docker_dir }}/nitter/nitter.conf" owner: 1000 group: 1000 mode: 0755 - name: Copy about.md copy: src: "nitter/about.md" dest: "{{ docker_dir }}/nitter/about.md" owner: 1000 group: 1000 mode: 0755 - name: Copy about.html copy: src: "nitter/about.html" dest: "{{ docker_dir }}/nitter/about.html" owner: 1000 group: 1000 mode: 0755 # -------------------------------------------------------------------------------------------------- - name: Create nginx directory file: path: "{{ docker_dir }}/nitter/nginx" state: directory owner: 1000 group: 1000 mode: 0775 - name: Touch nitter_error.log file: path: "{{ docker_dir }}/nitter/nginx/nitter_error.log" state: touch owner: 1000 group: 1000 mode: 0775 - name: Set up nginx.conf.j2 template: src: "conf/nitter/nginx.conf.j2" dest: "{{ docker_dir }}/nitter/nginx/nginx.conf" owner: 1000 group: 1000 mode: 0755 - name: Set up nginx template: src: "conf/nitter/nginx.j2" dest: "{{ docker_dir }}/nitter/nginx/nginx" owner: 1000 group: 1000 mode: 0755 - name: Create shared_cache.conf copy: dest: "{{ docker_dir }}/nitter/nginx/shared_cache.conf" content: | proxy_buffers 64 16k; proxy_buffer_size 4k; expires 90d; access_log off; resolver 127.0.0.11; set $backend "nitter"; proxy_pass http://$backend:8080; - name: Create shared_static.conf copy: dest: "{{ docker_dir }}/nitter/nginx/shared_static.conf" content: | expires 90d; access_log off; root /src/public; - name: Clone nitter repo to /tmp git: repo: https://github.com/zedeus/nitter.git dest: "/tmp/nitter" single_branch: true version: guest_accounts - name: Copy the public folder to the specified directory command: "cp -r /tmp/nitter/public {{ docker_dir }}/nitter/nginx/" # -------------------------------------------------------------------------------------------------- - name: Create fail2ban directory file: path: "{{ docker_dir }}/nitter/fail2ban" state: directory owner: 1000 group: 1000 mode: 0775 - name: Set up jail.local template: src: "conf/nitter/jail.local.j2" dest: "{{ docker_dir }}/nitter/fail2ban/jail.local" owner: 1000 group: 1000 mode: 0755 # -------------------------------------------------------------------------------------------------- - name: Curl guest_accounts.jsonl shell: curl -s '{{ twitterminator_url }}' > {{ docker_dir }}/nitter/guest_accounts.jsonl ignore_errors: true - name: Chmod guest_accounts.jsonl command: chmod 0777 {{ docker_dir }}/nitter/guest_accounts.jsonl - name: Chown guest_accounts.jsonl command: chown 1000:1000 {{ docker_dir }}/nitter/guest_accounts.jsonl