Ansible для Factorio

This commit is contained in:
B4D_US3R 2025-05-31 18:56:19 +05:00
commit 389c516b2b
9 changed files with 805 additions and 0 deletions

View file

@ -0,0 +1,7 @@
- name: Update cache
ansible.builtin.apt:
update_cache: true
- name: Upgrade ubuntu
ansible.builtin.apt:
upgrade: "full"

View file

@ -0,0 +1,53 @@
- name: Install ca-certificates and curl
ansible.builtin.apt:
package:
- ca-certificates
- curl
- python3-requests
- name: Get keys
ansible.builtin.get_url:
dest: /etc/apt/keyrings/docker.asc
url: https://download.docker.com/linux/ubuntu/gpg
mode: 644
- name: Add docker repository
ansible.builtin.apt_repository:
repo: "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable"
- name: Install docker
ansible.builtin.apt:
package:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
- name: SystemD enable docker
ansible.builtin.systemd_service:
name: docker
enabled: true
state: "started"
- name: Download local-persist
ansible.builtin.get_url:
dest: /usr/bin/docker-volume-local-persist
url: https://github.com/MatchbookLab/local-persist/releases/download/v1.3.0/local-persist-linux-amd64
mode: "755"
- name: Download local-persist SystemD service
ansible.builtin.get_url:
dest: /etc/systemd/system/docker-volume-local-persist.service
url: https://raw.githubusercontent.com/MatchbookLab/local-persist/refs/heads/master/init/systemd.service
mode: "644"
- name: Reload SystemD daemon
ansible.builtin.systemd:
daemon_reload: true
- name: Start local-persist service
ansible.builtin.systemd_service:
name: docker-volume-local-persist
enabled: true
state: "started"

View file

@ -0,0 +1,17 @@
- name: Create /opt/beget/factorio
ansible.builtin.file:
path: /opt/beget/factorio/factorio_data
state: directory
mode: "700"
recurse: true
- name: Copy template to server
ansible.builtin.template:
src: docker-compose.yml.j2
dest: /opt/beget/factorio/docker-compose.yml
mode: "600"
- name: Start factorio server
community.docker.docker_compose_v2:
project_src: /opt/beget/factorio
state: present

View file

@ -0,0 +1,19 @@
version: "3.8"
volumes:
factorio_data:
driver: local-persist
driver_opts:
mountpoint: /opt/beget/factorio/factorio_data
services:
factorio:
image: factoriotools/factorio:stable
restart: always
environment:
DLC_SPACE_AGE: "false"
ports:
- "34197:34197/udp"
- "27015:27015/tcp"
volumes:
- factorio_data:/factorio