diff --git a/.gitmodules b/.gitmodules index bf4ac7d..e69de29 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +0,0 @@ -[submodule "infrastructure/services/minecraft-server"] - path = infrastructure/services/minecraft-server - url = git@github.com:bensuperpc/docker-minecraft-server.git -[submodule "infrastructure/services/7daystodie"] - path = infrastructure/services/7daystodie-server - url = git@github.com:bensuperpc/docker-7daystodie.git -[submodule "infrastructure/services/satisfactory"] - path = infrastructure/services/satisfactory-server - url = git@github.com:bensuperpc/docker-satisfactory.git diff --git a/Makefile b/Makefile index 4afa41b..87130e2 100644 --- a/Makefile +++ b/Makefile @@ -24,8 +24,8 @@ PROJECT_DIRECTORY := infrastructure CONFIG_DIRECTORY := presets -# 7dtd minecraft -CONFIGS := satisfactory +# 7dtd minecraft satisfactory +CONFIGS := 7dtd #DOCKER_PROFILES := include DockerCompose.mk diff --git a/infrastructure/docker-compose.yml b/infrastructure/docker-compose.yml index edfd998..acee10b 100644 --- a/infrastructure/docker-compose.yml +++ b/infrastructure/docker-compose.yml @@ -42,10 +42,10 @@ include: # open-webui - services/open-webui/docker-compose.open-webui.yml # Minecraft - - services/minecraft-server/minecraft-server/docker-compose.yml + - services/minecraft-server/docker-compose.yml # 7daystodie - - services/7daystodie-server/7daystodie-server/docker-compose.yml + - services/7daystodie-server/docker-compose.yml # Satisfactory - - services/satisfactory-server/satisfactory-server/docker-compose.yml + - services/satisfactory-server/docker-compose.yml # Team Fortress 2 - - services/teamfortress2-server/teamfortress2-server/docker-compose.yml + - services/teamfortress2-server/docker-compose.yml diff --git a/infrastructure/services/7daystodie-server b/infrastructure/services/7daystodie-server deleted file mode 160000 index 7cb13da..0000000 --- a/infrastructure/services/7daystodie-server +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7cb13da66167166b33e1faeb58c608e66aa87a3e diff --git a/infrastructure/services/7daystodie-server/7daystodie/docker-compose.7daystodie.yml b/infrastructure/services/7daystodie-server/7daystodie/docker-compose.7daystodie.yml new file mode 100644 index 0000000..6c9eeb3 --- /dev/null +++ b/infrastructure/services/7daystodie-server/7daystodie/docker-compose.7daystodie.yml @@ -0,0 +1,54 @@ +services: + # 7 days to die server + 7daystodie_server: + image: vinanrra/7dtd-server:latest + container_name: 7daystodie_server + profiles: + - 7daystodie_server + restart: on-failure:5 + ports: + - "26900:26900" + - "26901:26901" + - "26902:26902" +# - "8080:8080" # WEBADMIN +# - "8081:8081" # TELNET +# - "8082:8082" # WEBSERVER + volumes: + - 7daystodie_server_save:/home/sdtdserver/.local/share/7DaysToDie # 7 Days To Die world saves + - 7daystodie_server_config_lgsm:/home/sdtdserver/lgsm/config-lgsm/sdtdserver # LGSM config folder + - 7daystodie_server_file:/home/sdtdserver/serverfiles # Optional - serverfiles folder + - 7daystodie_server_log:/home/sdtdserver/log + networks: + - infra-network + env_file: + - ./env/7daystodie.env + environment: + - PUID=${PUID:-1000} + - PGID=${PGID:-1000} + # security_opt: + # - no-new-privileges:true + # cap_drop: + # - SYS_ADMIN + deploy: + resources: + limits: + memory: 16G + reservations: + memory: 4G + +volumes: + 7daystodie_backup: + name: 7daystodie_backup + 7daystodie_server_save: + name: 7daystodie_server_save + 7daystodie_server_config_lgsm: + name: 7daystodie_server_config_lgsm + 7daystodie_server_file: + name: 7daystodie_server_file + 7daystodie_server_log: + name: 7daystodie_server_log + +networks: + infra-network: + driver: bridge + name: infra-network diff --git a/infrastructure/services/7daystodie-server/7daystodie/env/7daystodie.env b/infrastructure/services/7daystodie-server/7daystodie/env/7daystodie.env new file mode 100644 index 0000000..76cb4d6 --- /dev/null +++ b/infrastructure/services/7daystodie-server/7daystodie/env/7daystodie.env @@ -0,0 +1,7 @@ +START_MODE=3 +VERSION=stable +TimeZone=Europe/Paris +BACKUP=NO +BACKUP_HOUR=2 +BACKUP_MAX=7 +MONITOR=NO \ No newline at end of file diff --git a/infrastructure/services/teamfortress2-server/teamfortress2-server/backup/env/teamfortress2_backup.env b/infrastructure/services/7daystodie-server/7daystodie/env/7daystodie_backup.env similarity index 100% rename from infrastructure/services/teamfortress2-server/teamfortress2-server/backup/env/teamfortress2_backup.env rename to infrastructure/services/7daystodie-server/7daystodie/env/7daystodie_backup.env diff --git a/infrastructure/services/7daystodie-server/backup/docker-compose.backup.yml b/infrastructure/services/7daystodie-server/backup/docker-compose.backup.yml new file mode 100644 index 0000000..1756558 --- /dev/null +++ b/infrastructure/services/7daystodie-server/backup/docker-compose.backup.yml @@ -0,0 +1,33 @@ +services: + 7daystodie_backup: + image: mazzolino/restic:latest + container_name: 7daystodie_backup + profiles: + - 7daystodie_backup + depends_on: + - 7daystodie_server + restart: on-failure:5 + env_file: + - ./env/7daystodie_backup.env + volumes: + - 7daystodie_backup:/mnt/restic + - 7daystodie_server_save:/data:ro + security_opt: + - no-new-privileges:true + network_mode: none + cap_drop: + - NET_ADMIN + - NET_RAW + - SYS_ADMIN + +volumes: + 7daystodie_backup: + name: 7daystodie_backup + 7daystodie_server_save: + name: 7daystodie_server_save + 7daystodie_server_config_lgsm: + name: 7daystodie_server_config_lgsm + 7daystodie_server_file: + name: 7daystodie_server_file + 7daystodie_server_log: + name: 7daystodie_server_log diff --git a/infrastructure/services/7daystodie-server/backup/env/7daystodie_backup.env b/infrastructure/services/7daystodie-server/backup/env/7daystodie_backup.env new file mode 100644 index 0000000..4df6131 --- /dev/null +++ b/infrastructure/services/7daystodie-server/backup/env/7daystodie_backup.env @@ -0,0 +1,14 @@ +#RUN_ON_STARTUP=true +RESTIC_REPOSITORY=/mnt/restic +RESTIC_BACKUP_SOURCES=/data +RESTIC_PASSWORD=SCY5cmu12Odca302EXabPA9jXYkCb2NN +# Backup (exuclusive with Check and Prune) +BACKUP_CRON=*/15 * * * * +RESTIC_BACKUP_ARGS=--tag docker-volumes --verbose +#RESTIC_FORGET_ARGS=--prune --keep-last 8 --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --keep-yearly 4 +# Check (exuclusive with Check and Prune) +#CHECK_CRON=*/15 * * * * +#RESTIC_CHECK_ARGS=--read-data-subset=40% +# Prune (exuclusive with Check and Prune) +#PRUNE_CRON=*/15 * * * * +#RESTIC_PRUNE_ARGS= \ No newline at end of file diff --git a/infrastructure/services/7daystodie-server/docker-compose.yml b/infrastructure/services/7daystodie-server/docker-compose.yml new file mode 100644 index 0000000..a011012 --- /dev/null +++ b/infrastructure/services/7daystodie-server/docker-compose.yml @@ -0,0 +1,7 @@ +include: +# 7 days to die server + - 7daystodie/docker-compose.7daystodie.yml +# OpenSSH server + - openssh/docker-compose.openssh.yml +# Backup server + - backup/docker-compose.backup.yml diff --git a/infrastructure/services/teamfortress2-server/teamfortress2-server/openssh/config/authorized_keys/id_ed25519.pub b/infrastructure/services/7daystodie-server/openssh/config/authorized_keys/id_ed25519.pub similarity index 100% rename from infrastructure/services/teamfortress2-server/teamfortress2-server/openssh/config/authorized_keys/id_ed25519.pub rename to infrastructure/services/7daystodie-server/openssh/config/authorized_keys/id_ed25519.pub diff --git a/infrastructure/services/7daystodie-server/openssh/docker-compose.openssh.yml b/infrastructure/services/7daystodie-server/openssh/docker-compose.openssh.yml new file mode 100644 index 0000000..a5d14a4 --- /dev/null +++ b/infrastructure/services/7daystodie-server/openssh/docker-compose.openssh.yml @@ -0,0 +1,45 @@ +services: + # openssh + 7daystodie_openssh: + image: linuxserver/openssh-server:latest + container_name: 7daystodie_openssh + profiles: + - 7daystodie_openssh + depends_on: + - 7daystodie_server + restart: on-failure:5 + env_file: + - ./env/openssh.env + environment: + - PUID=${PUID:-1000} + - PGID=${PGID:-1000} + volumes: + - 7daystodie_openssh_config:/config + - ./config/authorized_keys:/authorized_ssh_keys:ro + - 7daystodie_backup:/7daystodie_backup + - 7daystodie_server_save:/7daystodie_server_save + - 7daystodie_server_config_lgsm:/7daystodie_server_config_lgsm + - 7daystodie_server_file:/7daystodie_server_file + - 7daystodie_server_log:/7daystodie_server_log + networks: + - infra-network + security_opt: + - no-new-privileges:false + cap_drop: + - SYS_ADMIN + ports: + - 2222:2222 + +volumes: + 7daystodie_openssh_config: + name: 7daystodie_openssh_config + 7daystodie_backup: + name: 7daystodie_backup + 7daystodie_server_save: + name: 7daystodie_server_save + 7daystodie_server_config_lgsm: + name: 7daystodie_server_config_lgsm + 7daystodie_server_file: + name: 7daystodie_server_file + 7daystodie_server_log: + name: 7daystodie_server_log diff --git a/infrastructure/services/7daystodie-server/openssh/env/openssh.env b/infrastructure/services/7daystodie-server/openssh/env/openssh.env new file mode 100644 index 0000000..758f741 --- /dev/null +++ b/infrastructure/services/7daystodie-server/openssh/env/openssh.env @@ -0,0 +1,15 @@ +TZ=Etc/UTC +SUDO_ACCESS=true +PASSWORD_ACCESS=false +DOCKER_MODS=linuxserver/mods:openssh-server-rsync +#PUBLIC_KEY_URL=https://github.com/bensuperpc.keys +PUBLIC_KEY_DIR=/authorized_ssh_keys +USER_NAME=admin +USER_PASSWORD=e7rIZrOW7NypN1w10dmig88gK55MIGOv + +#PUBLIC_KEY=yourpublickey +#PUBLIC_KEY_FILE=/path/to/file +#PUBLIC_KEY_DIR=/path/to/directory/containing/_only_/pubkeys +#PUBLIC_KEY_URL=https://github.com/username.keys +#USER_PASSWORD_FILE=/path/to/file +#LOG_STDOUT= \ No newline at end of file diff --git a/infrastructure/services/minecraft-server b/infrastructure/services/minecraft-server deleted file mode 160000 index 4b1ae0f..0000000 --- a/infrastructure/services/minecraft-server +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4b1ae0f20ea6693ba44accfaa1a8fac04f6ed3bd diff --git a/infrastructure/services/minecraft-server/backup/docker-compose.backup.yml b/infrastructure/services/minecraft-server/backup/docker-compose.backup.yml new file mode 100644 index 0000000..76438a6 --- /dev/null +++ b/infrastructure/services/minecraft-server/backup/docker-compose.backup.yml @@ -0,0 +1,34 @@ +services: + minecraft_backup: + image: mazzolino/restic:latest + container_name: minecraft_backup + profiles: + - minecraft_backup + depends_on: + - mc-server + - minecraft_proxy + restart: on-failure:3 + env_file: + - ./env/backup.env + volumes: + - minecraft_server_backup:/mnt/restic + - minecraft_server_data:/data/minecraft_server_data:ro + - minecraft_proxy_data:/data/minecraft_proxy_data:ro + - minecraft_rcon_data:/data/minecraft_rcon_data:ro + security_opt: + - no-new-privileges:true + network_mode: none + cap_drop: + - NET_ADMIN + - NET_RAW + - SYS_ADMIN + +volumes: + minecraft_server_backup: + name: minecraft_server_backup + minecraft_server_data: + name: minecraft_server_data + minecraft_proxy_data: + name: minecraft_proxy_data + minecraft_rcon_data: + name: minecraft_rcon_data diff --git a/infrastructure/services/minecraft-server/backup/env/backup.env b/infrastructure/services/minecraft-server/backup/env/backup.env new file mode 100644 index 0000000..3b34023 --- /dev/null +++ b/infrastructure/services/minecraft-server/backup/env/backup.env @@ -0,0 +1,14 @@ +#RUN_ON_STARTUP=true +RESTIC_REPOSITORY=/mnt/restic +RESTIC_BACKUP_SOURCES=/data +RESTIC_PASSWORD=7xymiWBH4c56rlBXPXbgkxF2zw3f2AGs +# Backup (exuclusive with Check and Prune) +RESTIC_BACKUP_ARGS=--tag docker-volumes --verbose +BACKUP_CRON=*/15 * * * * +#RESTIC_FORGET_ARGS=--prune --keep-last 8 --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --keep-yearly 4 +# Check (exuclusive with Check and Prune) +#CHECK_CRON=*/15 * * * * +#RESTIC_CHECK_ARGS=--read-data-subset=40% +# Prune (exuclusive with Check and Prune) +#PRUNE_CRON=*/15 * * * * +#RESTIC_PRUNE_ARGS= diff --git a/infrastructure/services/minecraft-server/docker-compose.yml b/infrastructure/services/minecraft-server/docker-compose.yml new file mode 100644 index 0000000..52a6c2c --- /dev/null +++ b/infrastructure/services/minecraft-server/docker-compose.yml @@ -0,0 +1,7 @@ +include: +# Minecraft server + - minecraft-server/docker-compose.yml +# OpenSSH server + - openssh/docker-compose.openssh.yml +# Backup server + - backup/docker-compose.backup.yml diff --git a/infrastructure/services/minecraft-server/minecraft-server/asset_links/datapacks.txt b/infrastructure/services/minecraft-server/minecraft-server/asset_links/datapacks.txt new file mode 100644 index 0000000..f076773 --- /dev/null +++ b/infrastructure/services/minecraft-server/minecraft-server/asset_links/datapacks.txt @@ -0,0 +1,4 @@ +https://github.com/bensuperpc/docker-minecraft-server/releases/download/Test_worlds/better-stonecutter-v1-1.zip +https://github.com/bensuperpc/docker-minecraft-server/releases/download/Test_worlds/cuttable-wood-v2-2.zip +https://github.com/bensuperpc/docker-minecraft-server/releases/download/Test_worlds/easy-bone-blocks-v1-0-1.zip +https://github.com/bensuperpc/docker-minecraft-server/releases/download/Test_worlds/more-smeltable-items-v2-0-3.zip diff --git a/infrastructure/services/minecraft-server/minecraft-server/asset_links/plugins.txt b/infrastructure/services/minecraft-server/minecraft-server/asset_links/plugins.txt new file mode 100644 index 0000000..c61d045 --- /dev/null +++ b/infrastructure/services/minecraft-server/minecraft-server/asset_links/plugins.txt @@ -0,0 +1,152 @@ +# Dynmap +https://dev.bukkit.org/projects/dynmap/files/4167109/download + +# Dynmap-WorldGuard +# https://dev.bukkit.org/projects/dynmap-worldguard/files/latest +# v1.4-beta-1 (05-02-2022) +https://dev.bukkit.org/projects/dynmap-worldguard/files/3635984/download + +# Dynmap-EssentialsX +# https://dev.bukkit.org/projects/dynmap-essentialsx/files/latest +# v1.0-beta-1 (09-02-2022) +https://dev.bukkit.org/projects/dynmap-essentialsx/files/3634752/download + +# Dynmap-Structures +https://dev.bukkit.org/projects/dynmap-structures/files/3845985/download + +# EssentialsX +https://github.com/EssentialsX/Essentials/releases/download/2.19.7/EssentialsX-2.19.7.jar + +# EssentialsX Add-on +https://github.com/EssentialsX/Essentials/releases/download/2.19.7/EssentialsXChat-2.19.7.jar +https://github.com/EssentialsX/Essentials/releases/download/2.19.7/EssentialsXSpawn-2.19.7.jar +# https://github.com/EssentialsX/Essentials/releases/download/2.19.7/EssentialsXDiscord-2.19.7.jar +https://github.com/EssentialsX/Essentials/releases/download/2.19.7/EssentialsXProtect-2.19.7.jar +https://github.com/EssentialsX/Essentials/releases/download/2.19.7/EssentialsXAntiBuild-2.19.7.jar +# https://github.com/EssentialsX/Essentials/releases/download/2.19.7/EssentialsXGeoIP-2.19.7.jar + + +# Serverutils +# https://serverutils.fvdh.dev/api/v1/Bukkit/latest +https://github.com/bensuperpc/docker-minecraft-server/releases/download/Test_worlds/ServerUtils-Bukkit-3.5.3.jar + +# WorldEdit, WorldGuard and FastAsyncWorldEdit +# https://dev.bukkit.org/projects/worldedit/files/latest +https://dev.bukkit.org/projects/worldguard/files/latest +https://ci.athion.net/job/FastAsyncWorldEdit/339/artifact/artifacts/FastAsyncWorldEdit-Bukkit-2.5.1-SNAPSHOT-339.jar +https://github.com/MrMicky-FR/WorldEditSelectionVisualizer/releases/download/v2.1.3/WorldEditSelectionVisualizer-2.1.3.jar + +# LuckPerms +# https://download.luckperms.net/1438/bukkit/loader/LuckPerms-Bukkit-5.4.30.jar + +# Vault +https://dev.bukkit.org/projects/vault/files/latest + +# Advanced Portals +# https://dev.bukkit.org/projects/advanced-portals/files/latest +https://github.com/sekwah41/Advanced-Portals/releases/download/v0.9.2/Advanced-Portals-0.9.2.jar + +# ProtocolLib +# https://github.com/dmulloy2/ProtocolLib/releases/download/4.8.0/ProtocolLib.jar +https://ci.dmulloy2.net/job/ProtocolLib/lastSuccessfulBuild/artifact/target/ProtocolLib.jar + +# NBT-API +https://dev.bukkit.org/projects/nbt-api/files/latest + +# CoreProtect +https://dev.bukkit.org/projects/coreprotect/files/latest + +# Decent Holograms +# https://www.spigotmc.org/resources/decent-holograms-1-8-1-18-papi-support-no-dependencies.96927/ +# https://github.com/DecentSoftware-eu/DecentHolograms/releases/download/2.7.2/DecentHolograms-2.7.2.jar + +# DropHeads +# https://dev.bukkit.org/projects/dropheads/files/latest + +# OpenInv +https://dev.bukkit.org/projects/openinv/files/latest + +# Animated-TabList +https://dev.bukkit.org/projects/animated-tab-tablist/files/latest + +# DeadChest +# https://dev.bukkit.org/projects/dead-chest/files/latest + +# UberEnchant +https://dev.bukkit.org/projects/uberenchant/files/latest + +# TreeAssist +# https://dev.bukkit.org/projects/tree-assist/files/latest +# Beta TreeAssist v7.3.31 (18-07-2022) +https://dev.bukkit.org/projects/tree-assist/files/3963990/download + +# Shopkeepers +https://dev.bukkit.org/projects/shopkeepers/files/latest + +# EconomyShopGUI +https://dev.bukkit.org/projects/economyshopgui/files/latest + +# SignShop v3 +# https://dev.bukkit.org/projects/signshop/files/latest + +# Quickshop-reremake +# https://dev.bukkit.org/projects/quickshop-reremake/files/latest +# https://ci.codemc.io/job/PotatoCraft-Studio/job/QuickShopDynmap/7/artifact/target/QuickShop-Dynmap-1.0.jar + +# CustomCrafting Advanced Custom Recipes +# https://dev.bukkit.org/projects/customcrafting-advanced-custom-recipes/files/latest +# https://dev.bukkit.org/projects/wolfyutilities/files/latest + +# Insta Mine Deepslate +https://dev.bukkit.org/projects/insta-mine-deepslate/files/latest + +# SkinsRestorerX +https://github.com/SkinsRestorer/SkinsRestorerX/releases/download/14.2.5/SkinsRestorer.jar + +# ImageOnMap +https://dev.bukkit.org/projects/imageonmap/files/latest + +# Geyser +https://ci.opencollab.dev/job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/spigot/target/Geyser-Spigot.jar + +# Floodgate +https://ci.opencollab.dev/job/GeyserMC/job/Floodgate/job/master/lastSuccessfulBuild/artifact/spigot/build/libs/floodgate-spigot.jar + +# ViaVersion +# https://github.com/ViaVersion/ViaVersion/releases/download/4.3.1/ViaVersion-4.3.1.jar + +# ViaBackwards +# https://github.com/ViaVersion/ViaBackwards/releases/download/4.3.0/ViaBackwards-4.3.0.jar + +# PvPManager +# https://dev.bukkit.org/projects/pvpmanager/files/latest + +# AuthMe Reloaded +# https://ci.codemc.io/job/AuthMe/job/AuthMeReloaded/lastSuccessfulBuild/artifact/target/AuthMe-5.6.0-SNAPSHOT.jar + +# SignBoard +# https://dev.bukkit.org/projects/signboard/files/latest + +# plan-player-analytics +https://github.com/plan-player-analytics/Plan/releases/download/5.5.2163/Plan-5.5-build-2163.jar + +# MiniMOTD +# https://github.com/jpenilla/MiniMOTD/releases/download/v2.0.9/minimotd-universal-2.0.9.jar + +# Citizens2 +https://ci.citizensnpcs.co/job/Citizens2/2756/artifact/dist/target/Citizens-2.0.30-b2756.jar + +# Simple voice chat [BUKKIT/SPIGOT/PAPER][1.19] Simple Voice Chat 1.19-2.2.45 (18-06-2022) +https://dev.bukkit.org/projects/simple-voice-chat/files/latest + +# BKCommonLib +https://ci.mg-dev.eu/job/BKCommonLib/1454/artifact/target/BKCommonLib-1.19.3-v2-SNAPSHOT-1454.jar + +# MyWorlds +https://ci.mg-dev.eu/job/MyWorlds/lastSuccessfulBuild/artifact/target/MyWorlds-1.19.3-v2-SNAPSHOT-196.jar + +# PurpurExtras +https://cdn.modrinth.com/data/Hn8OHmqL/versions/w60JPGhg/PurpurExtras-1.23.0.jar + +#FreedomChat +https://cdn.modrinth.com/data/MubyTbnA/versions/qGaisS0d/FreedomChat-1.3.1.jar diff --git a/infrastructure/services/minecraft-server/minecraft-server/docker-compose.yml b/infrastructure/services/minecraft-server/minecraft-server/docker-compose.yml new file mode 100644 index 0000000..91b635d --- /dev/null +++ b/infrastructure/services/minecraft-server/minecraft-server/docker-compose.yml @@ -0,0 +1,106 @@ +services: + minecraft_proxy: + image: itzg/bungeecord:latest + container_name: minecraft_proxy_server + profiles: + - minecraft_proxy + - minecraft_server + restart: on-failure:3 + env_file: + - ./env/proxy.env + environment: + INIT_MEMORY: "512M" + MAX_MEMORY: "2048M" + ports: + # Server Minecraft port + - "25565:25577" + # Server Minecraft Bedrock port (GeyserMC) + #- "19132:19132/udp" + # Rcon port + #- "25576:25575" + # Plan port + # - "8806:8804" + volumes: + - minecraft_proxy_data:/server + networks: + - infra-network + + mc-server: + image: itzg/minecraft-server:latest + container_name: minecraft_server + profiles: + - minecraft_server + depends_on: + - minecraft_proxy + restart: on-failure:3 + ports: + # Server Minecraft port (Disable if you use proxy) + # - "25565:25565" + # Rcon port + # - "25575:25575" + # Server Minecraft Bedrock port (GeyserMC) + # - "19132:19132/udp" + # Dynmap port + # - "8123:8123" + # BlueMap port + - "8100:8100" + # Plan port + - "8804:8804" + env_file: + - ./env/server.env + - ./env/world.env + - ./env/mods_plugins.env + environment: + MAX_MEMORY: "${MAX_MEMORY:-24G}" + volumes: + - minecraft_server_data:/data +# - ./asset_links/plugins.txt:/extras/plugins.txt:ro + networks: + - infra-network + deploy: + resources: +# limits: +# cpus: '8.0' +# memory: 26G + reservations: + cpus: '0.01' + memory: 20M + + rcon-web: + image: itzg/rcon:latest + container_name: minecraft_rcon_web + profiles: + - mc-web + restart: on-failure:3 + depends_on: + - minecraft_server + - minecraft_proxy + environment: + RWA_USERNAME: admin + RWA_PASSWORD: admin + RWA_ADMIN: "TRUE" + # is referring to the hostname of 'minecraft_server' compose service below + RWA_RCON_HOST: minecraft_server + RWA_RCON_PASSWORD: 6hxU3Oxmh2Q8e6S9fjkdWJikRCON_PASSWORD + ports: + # web UI port + - "4326:4326" + # websocket access from UI + - "4327:4327" + volumes: + - minecraft_rcon_data:/opt/rcon-web-admin/db + networks: + - infra-network + +volumes: + minecraft_server_data: + name: minecraft_server_data + minecraft_proxy_data: + name: minecraft_proxy_data + minecraft_rcon_data: + name: minecraft_rcon_data + +networks: + infra-network: + driver: bridge + name: infra-network diff --git a/infrastructure/services/minecraft-server/minecraft-server/env/mods_plugins.env b/infrastructure/services/minecraft-server/minecraft-server/env/mods_plugins.env new file mode 100644 index 0000000..c322296 --- /dev/null +++ b/infrastructure/services/minecraft-server/minecraft-server/env/mods_plugins.env @@ -0,0 +1,34 @@ +# Disable SignLink: 39593 +#KeepChunks,Chunky,Plasmo Voice Server,viaversion,viabackwards,LuckPerms,QuickShop-Reremake,KeepChunks, DecentHolograms +#SPIGET_RESOURCES=23307,81534,91064,19254,27448,28140,62575,23307,96927 +# MODPACK= # MODPACK or MODS +# MODS=https://dev.bukkit.org/projects/dynmap/files/3620010/download +#MODS_FILE=/extras/plugins.txt +REMOVE_OLD_MODS=false +REMOVE_OLD_MODS_INCLUDE=*.jar,*-version.json +REMOVE_OLD_MODS_EXCLUDE= +REMOVE_OLD_MODS_DEPTH=16 + +# RESOURCE_PACK= +# RESOURCE_PACK_SHA1= + +# Minecraft Datapack +# DATAPACKS=Terralith_v2.2_Seed_3820.zip +#DATAPACKS_FILE=/extras/datapacks.txt +#REMOVE_OLD_DATAPACKS=false +#REMOVE_OLD_DATAPACKS_INCLUDE=*.zip +# REMOVE_OLD_DATAPACKS_EXCLUDE= +#REMOVE_OLD_DATAPACKS_DEPTH=1 + +#RESOURCE_PACK= +#RESOURCE_PACK_SHA1= + +# MODS_FORGEAPI_KEY +# MODS_FORGEAPI_FILE +# MODS_FORGEAPI_PROJECTIDS +# MODS_FORGEAPI_RELEASES +# MODS_FORGEAPI_DOWNLOAD_DEPENDENCIES +# MODS_FORGEAPI_IGNORE_GAMETYPE +# REMOVE_OLD_FORGEAPI_MODS +# REMOVE_OLD_DATAPACKS_DEPTH +# REMOVE_OLD_DATAPACKS_INCLUDE \ No newline at end of file diff --git a/infrastructure/services/minecraft-server/minecraft-server/env/proxy.env b/infrastructure/services/minecraft-server/minecraft-server/env/proxy.env new file mode 100644 index 0000000..c5270ca --- /dev/null +++ b/infrastructure/services/minecraft-server/minecraft-server/env/proxy.env @@ -0,0 +1,14 @@ +TYPE=VELOCITY +VELOCITY_VERSION=3.4.0-SNAPSHOT +VELOCITY_BUILD_ID=559 +#PLUGINS= +#SPIGET_PLUGINS= +DEBUG=false +DEBUG_HELPER=false +ENABLE_RCON=false +#RCON_PASSWORD=6hxU3Oxmh2Q8e6S9fjkdWJik +#RCON_PORT=25576 +INIT_MEMORY=512M +MAX_MEMORY=1536M +#JVM_OPTS= +JVM_XX_OPTS=-XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 diff --git a/infrastructure/services/minecraft-server/minecraft-server/env/server.env b/infrastructure/services/minecraft-server/minecraft-server/env/server.env new file mode 100644 index 0000000..4fb81c8 --- /dev/null +++ b/infrastructure/services/minecraft-server/minecraft-server/env/server.env @@ -0,0 +1,81 @@ +# Base options +EULA=true +ONLINE_MODE=false +SERVER_PORT=25565 +SERVER_NAME=MyServer +ICON=https://github.com/bensuperpc/docker-minecraft-server/releases/download/Test_world/icon_64x64.png +OVERRIDE_ICON=true +MOTD=A §l§cMinecraft§r §nserver +OVERRIDE_SERVER_PROPERTIES=true +ENFORCE_SECURE_PROFILE=false + +# Server jar options +TYPE=PURPUR +VERSION=1.21.11 +PURPUR_BUILD=2553 +FORCE_REDOWNLOAD=false +BUILD_FROM_SOURCE=false + +# Server options +INIT_MEMORY=2G +MAX_MEMORY=12G +EXEC_DIRECTLY=false +USE_AIKAR_FLAGS=true +USE_SIMD_FLAGS=true +# TUNE_VIRTUALIZED=true +# ENABLE_JMX=true +CONSOLE=false +GUI=false +TZ=Europe/Paris + +# OPS options +OPS=Bensuperpc +# OPS_FILE= +OVERRIDE_OPS=true +#OP_PERMISSION_LEVEL=4 +#FUNCTION_PERMISSION_LEVEL + +# WHITELIST options +ENABLE_WHITELIST=false +OVERRIDE_WHITELIST=true +#WHITELIST=Bensuperpc +# WHITELIST_FILE= +ENFORCE_WHITELIST=false + +# AUTOPAUSE options +ENABLE_AUTOPAUSE=false +AUTOPAUSE_TIMEOUT_EST=7200000 +AUTOPAUSE_TIMEOUT_INIT=3600000 +AUTOPAUSE_TIMEOUT_KN=480000 + +# AUTOSTOP options +# ENABLE_AUTOSTOP=true +# AUTOSTOP_TIMEOUT_EST +# AUTOSTOP_TIMEOUT_INIT +# AUTOSTOP_PERIOD + +NETWORK_COMPRESSION_THRESHOLD=-1 +LOG_TIMESTAMP=true +MAX_TICK_TIME=-1 +# Time (sec) before AFK player was disconect +PLAYER_IDLE_TIMEOUT=600 +MAX_PLAYERS=32 +ALLOW_FLIGHT=false + +# RCON options +ENABLE_RCON=false +RCON_PASSWORD=6hxU3Oxmh2Q8e6S9fjkdWJik +RCON_PORT=25575 +BROADCAST_CONSOLE_TO_OPS=true +BROADCAST_RCON_TO_OPS=true + +# QUERY options +#ENABLE_QUERY=true +#QUERY_PORT=25565 + +# Others options +SNOOPER_ENABLED=true +ENABLE_STATUS=true +PREVIEWS_CHAT=false +#SYNC_CHUNK_WRITES=true + diff --git a/infrastructure/services/minecraft-server/minecraft-server/env/world.env b/infrastructure/services/minecraft-server/minecraft-server/env/world.env new file mode 100644 index 0000000..bc4211a --- /dev/null +++ b/infrastructure/services/minecraft-server/minecraft-server/env/world.env @@ -0,0 +1,22 @@ +LEVEL=world +LEVEL_TYPE=default +# MAX_WORLD_SIZE=10000 +# MAX_BUILD_HEIGHT=256 +ALLOW_NETHER=true +GENERATE_STRUCTURES=true +VIEW_DISTANCE=12 +SIMULATION_DISTANCE=10 +ENABLE_COMMAND_BLOCK=true +ANNOUNCE_PLAYER_ACHIEVEMENTS=true +PVP=true +DIFFICULTY=hard +FORCE_GAMEMODE=false +MODE=survival +HARDCORE=false +SPAWN_PROTECTION=16 +SEED=3820 + +# Spawn Entities Options +SPAWN_ANIMALS=true +SPAWN_MONSTERS=true +SPAWN_NPCS=true \ No newline at end of file diff --git a/infrastructure/services/minecraft-server/openssh/config/authorized_keys/id_ed25519.pub b/infrastructure/services/minecraft-server/openssh/config/authorized_keys/id_ed25519.pub new file mode 100644 index 0000000..29ce0f4 --- /dev/null +++ b/infrastructure/services/minecraft-server/openssh/config/authorized_keys/id_ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVtzpnPr0Boy+bUbL+viOYfqeetDZF6Hu40EwNLXNb0 bensuperpc@gmail.com diff --git a/infrastructure/services/minecraft-server/openssh/docker-compose.openssh.yml b/infrastructure/services/minecraft-server/openssh/docker-compose.openssh.yml new file mode 100644 index 0000000..61d62f2 --- /dev/null +++ b/infrastructure/services/minecraft-server/openssh/docker-compose.openssh.yml @@ -0,0 +1,42 @@ +services: + # openssh + minecraft_openssh: + image: linuxserver/openssh-server:latest + container_name: minecraft_openssh + profiles: + - minecraft_openssh + depends_on: + - mc-server + restart: on-failure:5 + env_file: + - ./openssh/env/openssh.env + environment: + - PUID=${PUID:-1000} + - PGID=${PGID:-1000} + volumes: + - minecraft_serve_openssh_config:/config + - ./openssh/config/authorized_keys:/authorized_ssh_keys:ro + - minecraft_server_data:/minecraft_server_data + - minecraft_proxy_data:/minecraft_proxy_data + - minecraft_server_backup:/minecraft_server_backup + - minecraft_rcon_data:/minecraft_rcon_data + networks: + - infra-network + security_opt: + - no-new-privileges:false + cap_drop: + - SYS_ADMIN + ports: + - 2222:2222 + +volumes: + minecraft_serve_openssh_config: + name: minecraft_serve_openssh_config + minecraft_server_backup: + name: minecraft_server_backup + minecraft_server_data: + name: minecraft_server_data + minecraft_proxy_data: + name: minecraft_proxy_data + minecraft_rcon_data: + name: minecraft_rcon_data diff --git a/infrastructure/services/minecraft-server/openssh/env/openssh.env b/infrastructure/services/minecraft-server/openssh/env/openssh.env new file mode 100644 index 0000000..61daf65 --- /dev/null +++ b/infrastructure/services/minecraft-server/openssh/env/openssh.env @@ -0,0 +1,15 @@ +TZ=Etc/UTC +SUDO_ACCESS=true +PASSWORD_ACCESS=false +DOCKER_MODS=linuxserver/mods:openssh-server-rsync +#PUBLIC_KEY_URL=https://github.com/bensuperpc.keys +PUBLIC_KEY_DIR=/authorized_ssh_keys +USER_NAME=admin +USER_PASSWORD=mpaZd1CEbZ5nR3ezFKLjb1jMEcoMIdDO + +#PUBLIC_KEY=yourpublickey +#PUBLIC_KEY_FILE=/path/to/file +#PUBLIC_KEY_DIR=/path/to/directory/containing/_only_/pubkeys +#PUBLIC_KEY_URL=https://github.com/username.keys +#USER_PASSWORD_FILE=/path/to/file +#LOG_STDOUT= \ No newline at end of file diff --git a/infrastructure/services/satisfactory-server b/infrastructure/services/satisfactory-server deleted file mode 160000 index 6b72249..0000000 --- a/infrastructure/services/satisfactory-server +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6b722492e9c655bc49da994d4e0c417590d30d97 diff --git a/infrastructure/services/satisfactory-server/backup/docker-compose.backup.yml b/infrastructure/services/satisfactory-server/backup/docker-compose.backup.yml new file mode 100644 index 0000000..b9ab3cd --- /dev/null +++ b/infrastructure/services/satisfactory-server/backup/docker-compose.backup.yml @@ -0,0 +1,25 @@ +services: + satisfactory_backup: + image: mazzolino/restic:latest + container_name: satisfactory_backup + profiles: + - satisfactory_backup + depends_on: + - satisfactory_server + restart: on-failure:5 + env_file: + - ./env/satisfactory_backup.env + volumes: + - satisfactory_backup:/mnt/restic + - satisfactory_server_config:/data:ro + network_mode: none + cap_drop: + - NET_ADMIN + - NET_RAW + - SYS_ADMIN + +volumes: + satisfactory_backup: + name: satisfactory_backup + satisfactory_server_config: + name: satisfactory_server_config \ No newline at end of file diff --git a/infrastructure/services/satisfactory-server/backup/env/satisfactory_backup.env b/infrastructure/services/satisfactory-server/backup/env/satisfactory_backup.env new file mode 100644 index 0000000..e94f3b6 --- /dev/null +++ b/infrastructure/services/satisfactory-server/backup/env/satisfactory_backup.env @@ -0,0 +1,14 @@ +#RUN_ON_STARTUP=true +RESTIC_REPOSITORY=/mnt/restic +RESTIC_BACKUP_SOURCES=/data +RESTIC_PASSWORD=SCY5cmu12Odca302EXabPA9jXYkCb2NN +# Backup (exuclusive with Check and Prune) +BACKUP_CRON=*/15 * * * * +RESTIC_BACKUP_ARGS=--tag docker-volumes --verbose +RESTIC_FORGET_ARGS=--prune --keep-last 8 --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --keep-yearly 4 +# Check (exuclusive with Check and Prune) +#CHECK_CRON=*/15 * * * * +#RESTIC_CHECK_ARGS=--read-data-subset=40% +# Prune (exuclusive with Check and Prune) +#PRUNE_CRON=*/15 * * * * +#RESTIC_PRUNE_ARGS= diff --git a/infrastructure/services/satisfactory-server/docker-compose.yml b/infrastructure/services/satisfactory-server/docker-compose.yml new file mode 100644 index 0000000..0f57b00 --- /dev/null +++ b/infrastructure/services/satisfactory-server/docker-compose.yml @@ -0,0 +1,7 @@ +include: +# Satisfactory server + - satisfactory/docker-compose.satisfactory.yml +# OpenSSH server + - openssh/docker-compose.openssh.yml +# Backup server + - backup/docker-compose.backup.yml diff --git a/infrastructure/services/satisfactory-server/openssh/config/authorized_keys/id_ed25519.pub b/infrastructure/services/satisfactory-server/openssh/config/authorized_keys/id_ed25519.pub new file mode 100644 index 0000000..29ce0f4 --- /dev/null +++ b/infrastructure/services/satisfactory-server/openssh/config/authorized_keys/id_ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVtzpnPr0Boy+bUbL+viOYfqeetDZF6Hu40EwNLXNb0 bensuperpc@gmail.com diff --git a/infrastructure/services/satisfactory-server/openssh/docker-compose.openssh.yml b/infrastructure/services/satisfactory-server/openssh/docker-compose.openssh.yml new file mode 100644 index 0000000..41935eb --- /dev/null +++ b/infrastructure/services/satisfactory-server/openssh/docker-compose.openssh.yml @@ -0,0 +1,36 @@ +services: + # openssh + satisfactory_openssh: + image: linuxserver/openssh-server:latest + container_name: satisfactory_openssh + profiles: + - satisfactory_openssh + depends_on: + - satisfactory_server + restart: on-failure:5 + env_file: + - ./env/openssh.env + environment: + - PUID=${PUID:-1000} + - PGID=${PGID:-1000} + volumes: + - satisfactory_openssh_config:/config + - ./config/authorized_keys:/authorized_ssh_keys:ro + - satisfactory_backup:/satisfactory_backup + - satisfactory_server_config:/satisfactory_server_config + networks: + - infra-network + security_opt: + - no-new-privileges:false + cap_drop: + - SYS_ADMIN + ports: + - 2222:2222 + +volumes: + satisfactory_openssh_config: + name: satisfactory_openssh_config + satisfactory_backup: + name: satisfactory_backup + satisfactory_server_config: + name: satisfactory_server_config diff --git a/infrastructure/services/satisfactory-server/openssh/env/openssh.env b/infrastructure/services/satisfactory-server/openssh/env/openssh.env new file mode 100644 index 0000000..25dd868 --- /dev/null +++ b/infrastructure/services/satisfactory-server/openssh/env/openssh.env @@ -0,0 +1,15 @@ +TZ=Etc/UTC +SUDO_ACCESS=true +PASSWORD_ACCESS=false +DOCKER_MODS=linuxserver/mods:openssh-server-rsync +#PUBLIC_KEY_URL=https://github.com/bensuperpc.keys +PUBLIC_KEY_DIR=/authorized_ssh_keys +USER_NAME=admin +USER_PASSWORD=zpd91zZkCfdyAB8PZgUD7w7ZIhS8no4V + +#PUBLIC_KEY=yourpublickey +#PUBLIC_KEY_FILE=/path/to/file +#PUBLIC_KEY_DIR=/path/to/directory/containing/_only_/pubkeys +#PUBLIC_KEY_URL=https://github.com/username.keys +#USER_PASSWORD_FILE=/path/to/file +#LOG_STDOUT= \ No newline at end of file diff --git a/infrastructure/services/satisfactory-server/satisfactory/docker-compose.satisfactory.yml b/infrastructure/services/satisfactory-server/satisfactory/docker-compose.satisfactory.yml new file mode 100644 index 0000000..d61498b --- /dev/null +++ b/infrastructure/services/satisfactory-server/satisfactory/docker-compose.satisfactory.yml @@ -0,0 +1,46 @@ +services: + # Satisfactory server + satisfactory_server: + image: wolveix/satisfactory-server:latest + container_name: satisfactory_server + profiles: + - satisfactory_server + restart: on-failure:5 + ports: + - 7777:7777/udp + - 7777:7777/tcp + - 8888:8888/tcp + volumes: + - satisfactory_server_config:/config + networks: + - infra-network + env_file: + - ./env/satisfactory.env + environment: + - PUID=${PUID:-1000} + - PGID=${PGID:-1000} + security_opt: + - no-new-privileges:true + healthcheck: + test: bash /healthcheck.sh + interval: 30s + timeout: 10s + retries: 3 + start_period: 120s + cap_drop: + - SYS_ADMIN + deploy: + resources: + limits: + memory: 24G + reservations: + memory: 4G + +volumes: + satisfactory_server_config: + name: satisfactory_server_config + +networks: + infra-network: + driver: bridge + name: infra-network \ No newline at end of file diff --git a/infrastructure/services/satisfactory-server/satisfactory/env/satisfactory.env b/infrastructure/services/satisfactory-server/satisfactory/env/satisfactory.env new file mode 100644 index 0000000..56a8f86 --- /dev/null +++ b/infrastructure/services/satisfactory-server/satisfactory/env/satisfactory.env @@ -0,0 +1,17 @@ +AUTOSAVENUM=10 +DEBUG=false +DISABLESEASONALEVENTS=false +MAXOBJECTS=4325376 +MAXPLAYERS=4 +MAXTICKRATE=30 +ROOTLESS=false +SERVERGAMEPORT=7777 +SERVERIP=0.0.0.0 +SERVERSTREAMING=true +SKIPUPDATE=false +STEAMBETA=false +TIMEOUT=60 + +AUTOSAVEONDISCONNECT=true +CRASHREPORT=true +NETWORKQUALITY=3 \ No newline at end of file diff --git a/infrastructure/services/teamfortress2-server/DockerCompose.mk b/infrastructure/services/teamfortress2-server/DockerCompose.mk deleted file mode 100644 index 6daaaf1..0000000 --- a/infrastructure/services/teamfortress2-server/DockerCompose.mk +++ /dev/null @@ -1,85 +0,0 @@ -#////////////////////////////////////////////////////////////// -#// // -#// docker-multimedia, 2024 // -#// Created: 30, May, 2021 // -#// Modified: 14 November, 2024 // -#// file: - // -#// - // -#// Source: // -#// OS: ALL // -#// CPU: ALL // -#// // -#////////////////////////////////////////////////////////////// - -PROJECT_DIRECTORY ?= infrastructure - -DOCKER_EXEC ?= docker - -DOCKER_PROFILES ?= main_infrastructure - -PROFILE_CMD ?= $(addprefix --profile ,$(DOCKER_PROFILES)) - -COMPOSE_FILES ?= $(shell find ./$(PROJECT_DIRECTORY) -maxdepth 1 -name 'docker-compose*.yml' -type f | sed -e 's/^/--file /') -COMPOSE_DIR ?= --project-directory ./$(PROJECT_DIRECTORY) - -UID ?= 1000 -GID ?= 1000 - -ENV_ARG_VAR ?= PUID=$(UID) PGID=$(GID) - -DOCKER_COMPOSE_COMMAND ?= $(ENV_ARG_VAR) $(DOCKER_EXEC) compose $(COMPOSE_DIR) $(COMPOSE_FILES) $(PROFILE_CMD) - -.PHONY: build all -all: start - -.PHONY: build -build: - $(DOCKER_COMPOSE_COMMAND) build - -.PHONY: start -start: - $(DOCKER_COMPOSE_COMMAND) up -d - -.PHONY: start-at -start-at: - $(DOCKER_COMPOSE_COMMAND) up - -.PHONY: docker-check -docker-check: - $(DOCKER_COMPOSE_COMMAND) config - -.PHONY: stop -stop: down - -.PHONY: down -down: - $(DOCKER_COMPOSE_COMMAND) down - -.PHONY: restart -restart: stop start - -.PHONY: logs -logs: - $(DOCKER_COMPOSE_COMMAND) logs - -.PHONY: state -state: - $(DOCKER_COMPOSE_COMMAND) ps - $(DOCKER_COMPOSE_COMMAND) top - -.PHONY: update-docker -update-docker: - $(DOCKER_COMPOSE_COMMAND) pull - -.PHONY: update -update: update-docker -# git submodule update --init --recursive --remote - git pull --recurse-submodules --all --progress - -.PHONY: clean -clean: - docker system prune -f - -.PHONY: purge -purge: - $(ENV_ARG_VAR) $(DOCKER_EXEC) compose $(COMPOSE_DIR) $(COMPOSE_FILES) down -v --rmi all diff --git a/infrastructure/services/teamfortress2-server/Makefile b/infrastructure/services/teamfortress2-server/Makefile deleted file mode 100644 index 23ffc0b..0000000 --- a/infrastructure/services/teamfortress2-server/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -#////////////////////////////////////////////////////////////// -#// // -#// Script, 2022 // -#// Created: 14, April, 2022 // -#// Modified: 30, November, 2024 // -#// file: - // -#// - // -#// Source: // -#// OS: ALL // -#// CPU: ALL // -#// // -#////////////////////////////////////////////////////////////// - -PROJECT_DIRECTORY := teamfortress2-server - -DOCKER_PROFILES := team_fortress_server team_fortress_backup - -include DockerCompose.mk diff --git a/infrastructure/services/teamfortress2-server/teamfortress2-server/backup/docker-compose.backup.yml b/infrastructure/services/teamfortress2-server/backup/docker-compose.backup.yml similarity index 100% rename from infrastructure/services/teamfortress2-server/teamfortress2-server/backup/docker-compose.backup.yml rename to infrastructure/services/teamfortress2-server/backup/docker-compose.backup.yml diff --git a/infrastructure/services/teamfortress2-server/backup/env/teamfortress2_backup.env b/infrastructure/services/teamfortress2-server/backup/env/teamfortress2_backup.env new file mode 100644 index 0000000..4df6131 --- /dev/null +++ b/infrastructure/services/teamfortress2-server/backup/env/teamfortress2_backup.env @@ -0,0 +1,14 @@ +#RUN_ON_STARTUP=true +RESTIC_REPOSITORY=/mnt/restic +RESTIC_BACKUP_SOURCES=/data +RESTIC_PASSWORD=SCY5cmu12Odca302EXabPA9jXYkCb2NN +# Backup (exuclusive with Check and Prune) +BACKUP_CRON=*/15 * * * * +RESTIC_BACKUP_ARGS=--tag docker-volumes --verbose +#RESTIC_FORGET_ARGS=--prune --keep-last 8 --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --keep-yearly 4 +# Check (exuclusive with Check and Prune) +#CHECK_CRON=*/15 * * * * +#RESTIC_CHECK_ARGS=--read-data-subset=40% +# Prune (exuclusive with Check and Prune) +#PRUNE_CRON=*/15 * * * * +#RESTIC_PRUNE_ARGS= \ No newline at end of file diff --git a/infrastructure/services/teamfortress2-server/teamfortress2-server/docker-compose.yml b/infrastructure/services/teamfortress2-server/docker-compose.yml similarity index 100% rename from infrastructure/services/teamfortress2-server/teamfortress2-server/docker-compose.yml rename to infrastructure/services/teamfortress2-server/docker-compose.yml diff --git a/infrastructure/services/teamfortress2-server/openssh/config/authorized_keys/id_ed25519.pub b/infrastructure/services/teamfortress2-server/openssh/config/authorized_keys/id_ed25519.pub new file mode 100644 index 0000000..29ce0f4 --- /dev/null +++ b/infrastructure/services/teamfortress2-server/openssh/config/authorized_keys/id_ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVtzpnPr0Boy+bUbL+viOYfqeetDZF6Hu40EwNLXNb0 bensuperpc@gmail.com diff --git a/infrastructure/services/teamfortress2-server/teamfortress2-server/openssh/docker-compose.openssh.yml b/infrastructure/services/teamfortress2-server/openssh/docker-compose.openssh.yml similarity index 100% rename from infrastructure/services/teamfortress2-server/teamfortress2-server/openssh/docker-compose.openssh.yml rename to infrastructure/services/teamfortress2-server/openssh/docker-compose.openssh.yml diff --git a/infrastructure/services/teamfortress2-server/teamfortress2-server/openssh/env/openssh.env b/infrastructure/services/teamfortress2-server/openssh/env/openssh.env similarity index 100% rename from infrastructure/services/teamfortress2-server/teamfortress2-server/openssh/env/openssh.env rename to infrastructure/services/teamfortress2-server/openssh/env/openssh.env diff --git a/infrastructure/services/teamfortress2-server/teamfortress2-server/teamfortress2/docker-compose.teamfortress2.yml b/infrastructure/services/teamfortress2-server/teamfortress2/docker-compose.teamfortress2.yml similarity index 100% rename from infrastructure/services/teamfortress2-server/teamfortress2-server/teamfortress2/docker-compose.teamfortress2.yml rename to infrastructure/services/teamfortress2-server/teamfortress2/docker-compose.teamfortress2.yml diff --git a/infrastructure/services/teamfortress2-server/teamfortress2-server/teamfortress2/env/teamfortress2.env b/infrastructure/services/teamfortress2-server/teamfortress2/env/teamfortress2.env similarity index 100% rename from infrastructure/services/teamfortress2-server/teamfortress2-server/teamfortress2/env/teamfortress2.env rename to infrastructure/services/teamfortress2-server/teamfortress2/env/teamfortress2.env