Bladeren bron

Initial Commit

Mike 1 jaar geleden
commit
eee88a4078
8 gewijzigde bestanden met toevoegingen van 204 en 0 verwijderingen
  1. BIN
      .playbook-install_software.yml.swp
  2. 4 0
      TG-portainer
  3. 14 0
      docker-compose.yml
  4. 2 0
      inventory
  5. 6 0
      playbook-01.yml
  6. 61 0
      playbook-docker.yml
  7. 109 0
      playbook-install_software.yml
  8. 8 0
      playbook-update.yml

BIN
.playbook-install_software.yml.swp


+ 4 - 0
TG-portainer

@@ -0,0 +1,4 @@
+[TG-portainer]
+Title=Custom port for Portainer - TG Software
+description=Portainer
+ports=8000,9000/tcp

+ 14 - 0
docker-compose.yml

@@ -0,0 +1,14 @@
+version: "2.0"
+
+services:
+  portainer:
+    image: portainer/portainer-ce
+    container_name: portainer
+    restart: always
+#    volumes:
+#      - "/etc/localtime:/etc/localtime:ro"
+#      - "/raid/docker/portainer/data:/data"
+#      - "/var/run/docker.sock:/var/run/docker.sock"
+    ports:
+      - 9000:9000
+      - 8000:8000

+ 2 - 0
inventory

@@ -0,0 +1,2 @@
+[server]
+192.168.122.89

+ 6 - 0
playbook-01.yml

@@ -0,0 +1,6 @@
+---
+- hosts: all
+  tasks:
+    - name: Print Message
+      debug:
+        msg: Hello World

+ 61 - 0
playbook-docker.yml

@@ -0,0 +1,61 @@
+---
+- hosts: all
+  become: true
+  vars:
+    container_count: 4
+    default_container_name: docker
+    default_container_image: ubuntu
+    default_container_command: sleep 1
+
+  tasks:
+    - name: Install aptitude
+      apt:
+        name: aptitude
+        state: latest
+        update_cache: true
+
+    - name: Install required system packages
+      apt:
+        pkg:
+          - apt-transport-https
+          - ca-certificates
+          - curl
+          - software-properties-common
+          - python3-pip
+          - virtualenv
+          - python3-setuptools
+        state: latest
+        update_cache: true
+
+    - name: Add Docker GPG apt Key
+      apt_key:
+        url: https://download.docker.com/linux/ubuntu/gpg
+        state: present
+
+    - name: Add Docker Repository
+      apt_repository:
+        repo: deb https://download.docker.com/linux/ubuntu jammy stable
+        state: present
+
+    - name: Update apt and install docker-ce
+      apt:
+        name: docker-ce
+        state: latest
+        update_cache: true
+
+#    - name: Install Docker Module for Python
+#      pip:
+#        name: docker
+
+    - name: Pull default Docker image
+      community.docker.docker_image:
+        name: "{{ default_container_image }}"
+        source: pull
+
+    - name: Create default containers
+      community.docker.docker_container:
+        name: "{{ default_container_name }}{{ item }}"
+        image: "{{ default_container_image }}"
+        command: "{{ default_container_command }}"
+        state: present
+      with_sequence: count={{ container_count }}

+ 109 - 0
playbook-install_software.yml

@@ -0,0 +1,109 @@
+---
+- hosts: all
+  become: true
+  tasks:
+#    - name: Update Server
+#      apt:
+#        upgrade: true
+#        update-cache: true
+#        cache_valid_time: 3600
+
+    - name: Install Core Server Utils
+      apt:
+        pkg:
+          - curl
+          - python3
+          - ufw
+          - samba
+          - smbclient
+          - cifs-utils
+          - apt-transport-https
+          - ca-certificates
+          - curl
+          - software-properties-common
+          - python3-pip
+          - virtualenv
+          - python3-setuptools
+          - rsync
+
+        state: present
+#        update_cache: true
+        cache_valid_time: 3600
+
+    - name: Add Docker GPG apt Key
+      apt_key:
+        url: https://download.docker.com/linux/ubuntu/gpg
+        state: present
+
+    - name: Add Docker Repository
+      apt_repository:
+        repo: deb https://download.docker.com/linux/ubuntu focal stable
+        state: present
+
+    - name: Update apt and install docker-ce
+      apt:
+        name:
+          - docker-ce
+          - containerd.io
+          - docker-compose
+        state: latest
+#        update_cache: true
+#
+#    - name: Install Docker Containers
+#      community.docker.docker_container:
+#        name: portainer
+#        image: portainer/portainer-ce
+
+    - name: Create Portainer Directory
+      file:
+        path: /home/mike/docker/portainer
+        state: directory
+      become_user: mike
+
+    - name: Create UFW directory
+      file:
+        path: /home/mike/ufw/applications.d
+        state: directory
+      become_user: mike
+
+    - name: Sync Portainer docker-compose file
+      synchronize:
+        src: docker-compose.yml
+        dest: /home/mike/docker/portainer
+      become_user: mike
+
+    - name: Install UFW config files
+      synchronize:
+        src: TG-portainer
+        dest: /home/mike/ufw/applications.d
+      become_user: mike
+
+    - name: Move UFW files to proper directory
+      command: mv /home/mike/ufw/applications.d/TG-portainer /etc/ufw/applications.d/TG-portainer
+       ### Need to change ownership to root ###
+
+    - name: Start Portainer
+      docker_compose:
+        project_src: /home/mike/docker/portainer
+        state: present
+
+    - name: Configure UFW - allow OpenSSH, samba, and TG-portainer
+      ufw:
+        rule: allow
+        name: "{{ item }}"
+      with_items:
+        - OpenSSH
+        - samba
+        - TG-portainer
+
+    - name: Configure UFW - delete default allow 22
+      ufw:
+        rule: allow
+        port: 22
+        proto: tcp
+        delete: yes
+
+    - name: Configure UFW - deny all else
+      ufw:
+        state: enabled
+        policy: deny

+ 8 - 0
playbook-update.yml

@@ -0,0 +1,8 @@
+---
+- hosts: all
+  tasks:
+    - name: Update Server
+      become: true
+      apt:
+        upgrade: yes
+        update_cache: yes