--- ############################################### # Prepare for docker container # https://github.com/shakg/g-systemctl ############################################### - name: set docker folder variable set_fact: docker_root: "/opt/cosmos/gsc" # clear folder first - name: gsc - delete old folder shell: "rm -R {{ docker_root }}" # Create docker Folder - name: g-systemctl - create docker_root folder file: path: "{{ docker_root }}" state: directory mode: '0755' owner: root group: root - name: g-systemctl - clone the git git: repo: "https://github.com/shakg/g-systemctl" dest: "{{ docker_root }}" ############################################### # Start docker container ############################################### - name: Replace golang version number ansible.builtin.replace: path: "{{ docker_root }}/backend/Dockerfile" regexp: '^FROM golang:.*-alpine as development' replace: 'FROM golang:1.24-alpine as development' # Replace g-systemctl docker-compose file - name: g-systemctl - replace docker-compose copy: dest: "{{ docker_root }}/docker-compose.yaml" content: | version: '3.8' services: frontend: container_name: gsc-frontend network_mode: bridge restart: always build: context: ./frontend target: production ports: - "80:80" backend: container_name: gsc-backend network_mode: bridge restart: always build: context: ./backend target: production ports: - "8080:8080" privileged: true - name: "g-systemctl - build and run containers" shell: "docker-compose -f {{ docker_root }}/docker-compose.yaml up -d" register: local_index_output - debug: | msg="{{ local_index_output.stdout_lines }}" msg="{{ local_index_output.stderr_lines }}" ...