ansible portainer and auto-update
This commit is contained in:
@@ -46,6 +46,7 @@ apt install git -y
|
||||
curl -fsSL https://get.docker.com -o get-docker.sh && sh ./get-docker.sh
|
||||
docker run hello-world && docker info
|
||||
apt install sshfs
|
||||
apt install ansible
|
||||
```
|
||||
|
||||
## fstab
|
||||
@@ -88,12 +89,8 @@ docker volume create --driver local --opt type=none --opt device=/ --opt o=bind
|
||||
```
|
||||
|
||||
### Portainer
|
||||
for more information [check](https://git.limbosolutions.com/kb/portainer)
|
||||
|
||||
#### Setup & Update
|
||||
``` bash
|
||||
services/portainer/docker-run.sh
|
||||
```
|
||||
|
||||
mantained by ansible [myInfra.dev.homesrv01 role](ansible/roles/myInfra.dev.homesrv01/README.md)
|
||||
|
||||
### Promtail
|
||||
|
||||
|
||||
0
ansible/roles/myInfra.dev.homesrv01/README.md
Normal file
0
ansible/roles/myInfra.dev.homesrv01/README.md
Normal file
@@ -0,0 +1,60 @@
|
||||
- name: Check /etc/homesrv01/auto-update
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: /etc/homesrv01/auto-update
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: Check /etc/homesrv01/auto-update/tasks
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: /etc/homesrv01/auto-update/tasks
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: copy /tasks/docker/portainer.yml
|
||||
become: true
|
||||
ansible.builtin.copy:
|
||||
dest: "/etc/homesrv01/auto-update/tasks/portainer.yml"
|
||||
src: "tasks/docker/portainer.yml"
|
||||
|
||||
- name: setup auto-update.yml
|
||||
become: true
|
||||
copy:
|
||||
dest: "/etc/homesrv01/auto-update/site.yml"
|
||||
content: |
|
||||
# file maintained by myInfra.dev.homesrv01 ansible role
|
||||
---
|
||||
- name: "auto update system"
|
||||
hosts: localhost
|
||||
tasks:
|
||||
- name: Include portainer update
|
||||
import_tasks: "tasks/portainer.yml"
|
||||
|
||||
|
||||
- name: setup auto-update executable
|
||||
become: true
|
||||
copy:
|
||||
dest: "/usr/local/bin/auto-update"
|
||||
content: |
|
||||
# file maintained by myInfra.dev.homesrv01 ansible role
|
||||
ansible-playbook /etc/homesrv01/auto-update/site.yml
|
||||
|
||||
- name: setup auto-update executable
|
||||
become: true
|
||||
file: dest=/usr/local/bin/auto-update mode=a+x
|
||||
|
||||
- name: setup auto-update cron
|
||||
become: true
|
||||
file: dest=/usr/local/bin/auto-update mode=a+x
|
||||
|
||||
- name: setup auto-update daily cron file
|
||||
become: true
|
||||
ansible.builtin.cron:
|
||||
user: root
|
||||
name: auto-update
|
||||
weekday: "*"
|
||||
minute: "0"
|
||||
hour: "0"
|
||||
job: "/usr/local/bin/auto-update"
|
||||
cron_file: myInfra_auto-update
|
||||
@@ -0,0 +1,2 @@
|
||||
---
|
||||
- include_tasks: portainer.yml
|
||||
@@ -0,0 +1,14 @@
|
||||
- name: Portainer - Docker Container Setup
|
||||
become: true
|
||||
community.docker.docker_container:
|
||||
name: portainer
|
||||
image: portainer/portainer-ce
|
||||
state: started
|
||||
restart_policy: unless-stopped
|
||||
pull: yes
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- portainer:/data
|
||||
ports:
|
||||
- "9443:9443"
|
||||
- "8000:8000"
|
||||
3
ansible/roles/myInfra.dev.homesrv01/tasks/main.yml
Normal file
3
ansible/roles/myInfra.dev.homesrv01/tasks/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
- include_tasks: docker/main.yml
|
||||
- include_tasks: auto-update.setup.yml
|
||||
@@ -1,5 +0,0 @@
|
||||
#! /bin/bash
|
||||
docker pull portainer/portainer-ce
|
||||
docker stop portainer
|
||||
docker rm portainer
|
||||
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer:/data portainer/portainer-ce
|
||||
Reference in New Issue
Block a user