diff --git a/config/ansible/tasks/servers/server.yml b/config/ansible/tasks/servers/server.yml index cc1038b..a9ac14f 100644 --- a/config/ansible/tasks/servers/server.yml +++ b/config/ansible/tasks/servers/server.yml @@ -33,3 +33,5 @@ enabled: true - name: uptime-kuma enabled: true + - name: factorio + enabled: true diff --git a/config/ansible/tasks/servers/services/caddy/Caddyfile.j2 b/config/ansible/tasks/servers/services/caddy/Caddyfile.j2 index f3da826..bd432d8 100644 --- a/config/ansible/tasks/servers/services/caddy/Caddyfile.j2 +++ b/config/ansible/tasks/servers/services/caddy/Caddyfile.j2 @@ -42,3 +42,8 @@ of.mvl.sh { } tls {{ caddy_email }} } + +fsm.mvl.sh { + reverse_proxy factorio-server-manager:5080 + tls {{ caddy_email }} +} diff --git a/config/ansible/tasks/servers/services/factorio/docker-compose.yml.j2 b/config/ansible/tasks/servers/services/factorio/docker-compose.yml.j2 new file mode 100644 index 0000000..f4a8b70 --- /dev/null +++ b/config/ansible/tasks/servers/services/factorio/docker-compose.yml.j2 @@ -0,0 +1,19 @@ +services: + server-manager: + image: "ofsm/ofsm:latest" + container_name: "factorio-server-manager" + restart: "unless-stopped" + environment: + - PUID=1000 + - PGID=100 + - "FACTORIO_VERSION=stable" + - "RCON_PASS=458fc84534" + ports: + - "5080:80" + - "34197:34197/udp" + volumes: + - {{ factorio_data_dir }}/fsm-data:/opt/fsm-data + - {{ factorio_data_dir }}/factorio-data/saves:/opt/factorio/saves + - {{ factorio_data_dir }}/factorio-data/mods:/opt/factorio/mods + - {{ factorio_data_dir }}/factorio-data/config:/opt/factorio/config + - {{ factorio_data_dir }}/factorio-data/mod_packs:/opt/fsm/mod_packs diff --git a/config/ansible/tasks/servers/services/factorio/factorio.yml b/config/ansible/tasks/servers/services/factorio/factorio.yml new file mode 100644 index 0000000..f280025 --- /dev/null +++ b/config/ansible/tasks/servers/services/factorio/factorio.yml @@ -0,0 +1,28 @@ +--- +- name: Deploy Factorio service + block: + - name: Set Factorio directories + ansible.builtin.set_fact: + factorio_service_dir: "{{ ansible_env.HOME }}/services/factorio" + factorio_data_dir: "/mnt/object_storage/services/factorio" + + - name: Create Factorio directory + ansible.builtin.file: + path: "{{ factorio_service_dir }}" + state: directory + mode: "0755" + + - name: Deploy Factorio docker-compose.yml + ansible.builtin.template: + src: docker-compose.yml.j2 + dest: "{{ factorio_service_dir }}/docker-compose.yml" + mode: "0644" + register: factorio_compose + + - name: Stop Factorio service + ansible.builtin.command: docker compose -f "{{ factorio_service_dir }}/docker-compose.yml" down --remove-orphans + when: factorio_compose.changed + + - name: Start Factorio service + ansible.builtin.command: docker compose -f "{{ factorio_service_dir }}/docker-compose.yml" up -d + when: factorio_compose.changed diff --git a/vscode/settings.json b/vscode/settings.json index bcfbf0a..11fef38 100755 --- a/vscode/settings.json +++ b/vscode/settings.json @@ -64,6 +64,7 @@ "makefile.configureOnOpen": false, "workbench.colorTheme": "Default Light+", "dart.debugExternalPackageLibraries": true, - "dart.debugSdkLibraries": false, - "dart.warnWhenEditingFilesOutsideWorkspace": false + "dart.debugSdkLibraries": true, + "dart.warnWhenEditingFilesOutsideWorkspace": false, + "window.confirmSaveUntitledWorkspace": false } \ No newline at end of file