Skip to content
Snippets Groups Projects
Select Git revision
  • 624f58aacac6058c90e08c34ef820ffd35e531c9
  • master default protected
  • th/caddy-wip
  • th/caddy
  • th/lego
  • th/acmebot
  • pyzabbix
  • th/keycloak
8 results

website.yml

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    website.yml 1.59 KiB
    ---
    
    - name: create a group
      group:
        name: "{{website.name}}"
        system: true
        state: present
    
    - name: create a user
      user:
        name: "{{website.name}}"
        group: "{{website.name}}"
        system: true
        home: "/var/www/{{website.name}}"
        shell: /bin/bash
        createhome: false
        state: present
    
    - name: create a home directory
      file:
        path: "/var/www/{{website.name}}"
        state: "directory"
        owner: "{{website.name}}"
        group: "{{website.group|default(website.name)}}"
        mode: "0775"
    
    - name: create an ssh directory
      file:
        path: "/var/www/{{website.name}}/.ssh"
        state: "directory"
        owner: "{{website.name}}"
        group: "{{website.name}}"
        mode: "0755"
      when: website.pubkey is defined
    
    - name: create a deploy directory
      file:
        path: "/var/www/{{website.name}}/deploy"
        state: "directory"
        owner: "{{website.name}}"
        group: "{{website.group|default(website.name)}}"
        mode: "0775"
    
    - name: authorize the deploy key
      template:
        src: "authorized_keys"
        dest: "/var/www/{{website.name}}/.ssh/authorized_keys"
        owner: "{{website.name}}"
        group: "{{website.name}}"
        mode: "0644"
      when: website.pubkey is defined
    
    - name: create deploy subdirectories
      file:
        path: "/var/www/{{website.name}}/deploy/{{item}}"
        state: "directory"
        owner: "{{website.name}}"
        group: "{{website.group|default(website.name)}}"
        mode: "0775"
      with_items: "{{website.subdirs|default([])}}"
    
    - name: create cron tasks
      cron:
        name: "{{item.name}}"
        special_time: "{{item.time}}"
        job: "{{item.command}}"
      with_items: "{{website.crontasks|default([])}}"