Divide nginx role into proxy and webserver tasks
This commit is contained in:
		@@ -1,37 +1,7 @@
 | 
				
			|||||||
- name: Create nginx root
 | 
					- import_tasks: proxy.yml
 | 
				
			||||||
  file:
 | 
					  tags: proxy
 | 
				
			||||||
    path: "{{ nginx_root }}"
 | 
					  when: proxy is defined
 | 
				
			||||||
    state: directory
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: Generate deploy keys
 | 
					- import_tasks: webserver.yml
 | 
				
			||||||
  openssh_keypair:
 | 
					  tags: nginx
 | 
				
			||||||
    path: "{{ nginx_repo_key }}"
 | 
					  when: nginx_domain is defined
 | 
				
			||||||
    state: present
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- name: Clone static website files
 | 
					 | 
				
			||||||
  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
 | 
					 | 
				
			||||||
  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"
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										0
									
								
								roles/nginx/tasks/proxy.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								roles/nginx/tasks/proxy.yml
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										37
									
								
								roles/nginx/tasks/webserver.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								roles/nginx/tasks/webserver.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
				
			|||||||
 | 
					- name: Create nginx root
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: "{{ nginx_root }}"
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Generate deploy keys
 | 
				
			||||||
 | 
					  openssh_keypair:
 | 
				
			||||||
 | 
					    path: "{{ nginx_repo_key }}"
 | 
				
			||||||
 | 
					    state: present
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Clone static website files
 | 
				
			||||||
 | 
					  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
 | 
				
			||||||
 | 
					  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"
 | 
				
			||||||
		Reference in New Issue
	
	Block a user