homelab/roles/staticweb/tasks/main.yml
2023-07-20 00:26:25 -04:00

38 lines
1.2 KiB
YAML

- name: Create nginx root
ansible.builtin.file:
path: "{{ nginx_root }}"
state: directory
- name: Generate deploy keys
community.crypto.openssh_keypair:
path: "{{ nginx_repo_key }}"
state: present
- name: Clone static website files
ansible.builtin.git:
repo: "{{ nginx_repo_url }}"
dest: "{{ nginx_html }}"
version: "{{ nginx_repo_branch }}"
key_file: "{{ nginx_repo_key }}"
separate_git_dir: "{{ nginx_repo_dest }}"
- name: Start nginx container
community.general.docker_container:
name: "{{ nginx_name }}"
image: nginx:{{ nginx_version }}
state: started
restart_policy: always
networks_cli_compatible: true
networks:
- name: traefik
volumes:
- "{{ nginx_html }}:/usr/share/nginx/html:ro"
labels:
traefik.http.routers.nginx.rule: "Host(`{{ nginx_domain }}`)"
#traefik.http.middlewares.nginxauth.basicauth.users: "{{ nginx_auth }}"
traefik.http.routers.nginx.entrypoints: websecure
#traefik.http.routers.nginx.tls.certresolver: letsencrypt
#traefik.http.routers.nginx.middlewares: "securehttps@file,nginxauth"
traefik.docker.network: traefik
traefik.enable: "true"