- name: Deploy PlantUML Server
hosts: plantuml_server_hosts
become: true
vars:
app_root: /opt/plantuml-server
app_port: 8080
tasks:
- name: Install container runtime
ansible.builtin.package:
name:
- docker
- docker-compose-plugin
state: present
- name: Enable and start Docker
ansible.builtin.service:
name: docker
enabled: true
state: started
- name: Create app directory
ansible.builtin.file:
path: "{{ app_root }}"
state: directory
mode: "0755"
- name: Write compose file
ansible.builtin.copy:
dest: "{{ app_root }}/compose.yaml"
mode: "0644"
content: |
services:
plantuml-server:
image: plantuml/plantuml-server:jetty
restart: unless-stopped
ports:
- "{{ app_port }}:8080"
- name: Start stack
ansible.builtin.command: docker compose up -d
args:
chdir: "{{ app_root }}"