--- - name: Set shadowsocks base directory fact set_fact: shadowsocks_dir: "/srv/shadowsocks-rust" - name: Ensure shadowsocks base directory exists file: path: "{{ shadowsocks_dir }}" state: directory owner: "{{ ssh_user }}" group: "{{ deploy_group }}" mode: '0755' become: yes - name: Ensure proxy configuration directories exist file: path: "{{ shadowsocks_dir }}/config_ssp_{{ item.value.local_port }}" state: directory owner: "{{ ssh_user }}" group: "{{ deploy_group }}" mode: '0755' loop: "{{ shadowsocks_proxies | default({}) | dict2items }}" loop_control: label: "{{ item.key }}" become: yes when: shadowsocks_proxies is defined - name: Template proxy configuration files template: src: "config.json.j2" dest: "{{ shadowsocks_dir }}/config_ssp_{{ item.value.local_port }}/config.json" owner: "{{ ssh_user }}" group: "{{ deploy_group }}" mode: '0644' loop: "{{ shadowsocks_proxies | default({}) | dict2items }}" loop_control: label: "{{ item.key }}" become: yes when: shadowsocks_proxies is defined - name: Template docker-compose file for proxies template: src: "docker-compose.proxies.yaml.j2" dest: "{{ shadowsocks_dir }}/docker-compose.proxies.yaml" owner: "{{ ssh_user }}" group: "{{ deploy_group }}" mode: '0644' become: yes when: shadowsocks_proxies is defined - name: Create symlink for docker-compose.yaml file: src: "{{ shadowsocks_dir }}/docker-compose.proxies.yaml" dest: "{{ shadowsocks_dir }}/docker-compose.yaml" state: link force: yes owner: "{{ ssh_user }}" group: "{{ deploy_group }}" become: yes when: shadowsocks_proxies is defined