Move to mono repo

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
This commit is contained in:
2026-03-28 16:41:51 +01:00
parent d7f684398e
commit 7ff08b937d
46 changed files with 883 additions and 121 deletions

9
.gitmodules vendored
View File

@@ -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

View File

@@ -24,8 +24,8 @@
PROJECT_DIRECTORY := infrastructure
CONFIG_DIRECTORY := presets
# 7dtd minecraft
CONFIGS := satisfactory
# 7dtd minecraft satisfactory
CONFIGS := 7dtd
#DOCKER_PROFILES :=
include DockerCompose.mk

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,7 @@
START_MODE=3
VERSION=stable
TimeZone=Europe/Paris
BACKUP=NO
BACKUP_HOUR=2
BACKUP_MAX=7
MONITOR=NO

View File

@@ -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

View File

@@ -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=

View File

@@ -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

View File

@@ -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

View File

@@ -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=

View File

@@ -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

View File

@@ -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=

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVtzpnPr0Boy+bUbL+viOYfqeetDZF6Hu40EwNLXNb0 bensuperpc@gmail.com

View File

@@ -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

View File

@@ -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=

View File

@@ -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

View File

@@ -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=

View File

@@ -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

View File

@@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVtzpnPr0Boy+bUbL+viOYfqeetDZF6Hu40EwNLXNb0 bensuperpc@gmail.com

View File

@@ -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

View File

@@ -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=

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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=

View File

@@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVtzpnPr0Boy+bUbL+viOYfqeetDZF6Hu40EwNLXNb0 bensuperpc@gmail.com