Files
Internal-apps/ansible-playbook.yml

171 lines
3.6 KiB
YAML
Executable File

---
- hosts: internal-apps
become: true
vars_files:
- ./vars.yml
tasks:
- name: Update Packages
ansible.builtin.dnf:
update_cache: yes
- name: Install Packages
ansible.builtin.dnf:
name:
- vim
- podman
- fail2ban
- python3-libdnf5
state: present
- name: Create directories
file:
path: "{{ item }}"
state: directory
mode: '0755'
loop: "{{ directories }}"
- name: Create Jellyfin directories
file:
path: "{{ item }}"
state: directory
mode: '0777'
loop: "{{ directories_jellyfin }}"
- name: Create internal podman network
containers.podman.podman_network:
name: npm_internal
ip_range: 10.10.0.128/25
subnet: 10.10.0.0/24
gateway: 10.10.0.1
state: present
- name: pull images
containers.podman.podman_image:
name: "{{ item }}"
loop: "{{ images }}"
- name: Deploy Nginx Proxy Manager
containers.podman.podman_container:
image: "docker.io/jc21/nginx-proxy-manager:latest"
name: npm
restart_policy: always
recreate: true
state: started
ports:
- "80:80"
- "81:81"
- "443:443"
volumes:
- "/opt/apps/npm:/data:z"
- "/opt/apps/letsencrypt:/etc/letsencrypt:z"
network:
- npm_internal
ip: '10.10.0.19'
- name: Deploy Gitea
containers.podman.podman_container:
image: docker.gitea.com/gitea:nightly
name: gitea
env:
USER_UID: 1000
USER_GID: 1000
restart_policy: always
recreate: true
state: started
volumes:
- /opt/apps/gitea:/data:z
- /usr/share/zoneinfo/America/Denver:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
network:
- npm_internal
ip: '10.10.0.25'
ports:
# - "3000:3000"
- "222:22"
- name: Deploy Jellyfin
containers.podman.podman_container:
image: lscr.io/linuxserver/jellyfin:latest
name: jellyfin
env:
USER_UID: 1000
USER_GID: 1000
JELLYFIN_PublishedServerUrl: http://jellyfin.boxswapper.io
restart_policy: always
recreate: true
state: started
volumes:
- /opt/apps/jellyfin/config:/config:z
- /opt/apps/jellyfin/tvseries:/data/tvshows:z
- /opt/apps/jellyfin/movies:/data/movies:z
- /usr/share/zoneinfo/America/Denver:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
network:
- npm_internal
ip: '10.10.0.30'
# ports:
# - 8096:8096
# - 8920:8920 #optional
# - 7359:7359/udp #optional
# - 1900:1900/udp #optional
#----N8N deployment, no GPU avail for deployment ------#
# - name: Deploy n8n
# containers.podman.podman_container:
# image: docker.n8n.io/n8nio/n8n
# name: n8n
# env:
# N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: true
# N8N_RUNNERS_ENABLED: true
# restart_policy: always
# recreate: true
# state: started
# volumes:
# - /opt/apps/n8n/data:/home/node/.n8n:z
# - /opt/apps/n8n/files:/files:z
# - /usr/share/zoneinfo/America/Denver:/etc/timezone:ro
# - /etc/localtime:/etc/localtime:ro
# network:
# - npm_internal
# ip: '10.10.0.35'
# # ports:
# # - 5678:5678