# update redmine - hosts: its_servers become: true become_method: sudo environment: "{{ proxy_env }}" vars: redmine_path: /srv/redmine tasks: - name: check facts fail: msg: "Not compatible with [{{ ansible_os_family }}] \ {{ ansible_distribution }} \ {{ ansible_distribution_major_version }}." when: > ansible_os_family != 'RedHat' or ansible_distribution_major_version|int < 7 - name: check redmine stat: path={{ redmine_path }} register: result01 - fail: msg: "pb_its_server-redmine.yml has been executed yet." when: result01.stat.exists == false - name: pull images shell: | podman pull docker.io/library/redmine:4-passenger podman pull docker.io/library/memcached podman pull docker.io/library/mysql:8 - name: stop redmine-pod systemd: name: pod-redmine-pod state: stopped - name: remove containers shell: | podman rm redmine podman rm memcached podman rm mysql - name: create containers shell: | export $(cat .env | xargs) podman run -d --pod redmine-pod --name mysql \ -e TZ=${TZ} \ -e MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} \ -e MYSQL_DATABASE=${REDMINE_DB_DATABASE} \ -e MYSQL_USER=${REDMINE_DB_USERNAME} \ -e MYSQL_PASSWORD=${REDMINE_DB_PASSWORD} \ -v /var/lib/mysql:/var/lib/mysql:Z \ -v {{ redmine_path }}/../mysql/conf.d/redmine.cnf:/etc/mysql/conf.d/redmine.cnf:Z \ docker.io/library/mysql:8 podman run -d --pod redmine-pod --name memcached docker.io/library/memcached podman run -d --pod redmine-pod --name redmine \ -e TZ=${TZ} \ -e REDMINE_DB_MYSQL=${REDMINE_DB_MYSQL} \ -e REDMINE_DB_DATABASE=${REDMINE_DB_DATABASE} \ -e REDMINE_DB_USERNAME=${REDMINE_DB_USERNAME} \ -e REDMINE_DB_PASSWORD=${REDMINE_DB_PASSWORD} \ -e REDMINE_DB_ENCODING=${REDMINE_DB_ENCODING} \ -v {{ redmine_path }}/config/additional_environment.rb:/usr/src/redmine/config/additional_environment.rb:Z \ -v {{ redmine_path }}/config/configuration.yml:/usr/src/redmine/config/configuration.yml:Z \ -v {{ redmine_path }}/Gemfile.local:/usr/src/redmine/Gemfile.local:Z \ -v {{ redmine_path }}/files:/usr/src/redmine/files:Z \ -v {{ redmine_path }}/log:/usr/src/redmine/log:Z \ -v {{ redmine_path }}/plugins:/usr/src/redmine/plugins:Z \ -v {{ redmine_path }}/public/themes:/usr/src/redmine/public/themes:Z \ -v /var/lib/svn:/var/lib/svn:z \ -v /var/lib/git:/var/lib/git:z \ docker.io/library/redmine:4-passenger args: chdir: "{{ redmine_path }}" - name: stop containers shell: | podman stop redmine podman stop memcached podman stop mysql - name: podman re-generate systemd shell: podman generate systemd -n -f redmine-pod args: chdir: /etc/systemd/system/ - name: systemd enable redmine-pod systemd: name: pod-redmine-pod state: started daemon_reload: yes enabled: yes # - name: remove dangling images # shell: | # podman image prune -f