From a4b8081006fa90a284bae1203b0e75e87d2af4d1 Mon Sep 17 00:00:00 2001 From: Vitor Hideyoshi Date: Wed, 16 Jul 2025 13:05:19 -0300 Subject: [PATCH] Adds DockerCompose for Local Server --- .gitignore | 3 ++- docker/.env.sample | 1 + docker/config.yml | 12 ++++++++++++ docker/docker-compose.yml | 38 ++++++++++++++++++++++++++++++++++++++ package.json | 1 + 5 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 docker/.env.sample create mode 100644 docker/config.yml create mode 100644 docker/docker-compose.yml diff --git a/.gitignore b/.gitignore index f8125db..b7da02b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ /node_modules # Screeps Config -.screeps.yml \ No newline at end of file +.screeps.yml +docker/.env diff --git a/docker/.env.sample b/docker/.env.sample new file mode 100644 index 0000000..8f7332a --- /dev/null +++ b/docker/.env.sample @@ -0,0 +1 @@ +STEAM_KEY="" diff --git a/docker/config.yml b/docker/config.yml new file mode 100644 index 0000000..d5a2cfe --- /dev/null +++ b/docker/config.yml @@ -0,0 +1,12 @@ +mods: + - screepsmod-auth + - screepsmod-admin-utils + - screepsmod-mongo +bots: + simplebot: screepsbot-zeswarm + +launcherOptions: + # If set, automatically ensures all mods are updated + autoUpdate: false + # If set, forward console messages to terminal + logConsole: false diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..d8688b3 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,38 @@ +services: + mongo: + container_name: screeps-mongo + image: mongo:4.4.18 + volumes: + - mongo-data:/data/db + restart: unless-stopped + + redis: + container_name: screeps-redis + image: redis:7 + volumes: + - redis-data:/data + restart: unless-stopped + + screeps: + container_name: screeps-server + image: ghcr.io/jomik/screeps-server:edge + depends_on: + - mongo + - redis + ports: + - 21025:21025 + environment: + MONGO_HOST: mongo + REDIS_HOST: redis + STEAM_KEY: ${STEAM_KEY:?"Missing steam key"} + volumes: + - ./config.yml:/screeps/config.yml + - screeps-data:/data + - screeps-mods:/screeps/mods + restart: unless-stopped + +volumes: + screeps-data: + screeps-mods: + redis-data: + mongo-data: diff --git a/package.json b/package.json index f703a39..704eb95 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "build": "node esbuild.config.mjs", "push:main": "npm run build && screeps-api --server main upload dist/*.js", "push:sim": "npm run build && screeps-api --server main upload --branch sim dist/*.js", + "push:local": "npm run build && screeps-api --server local upload dist/*.js", "format": "prettier --config .prettierrc 'src/**/*.ts' --write && eslint --fix src/" }, "repository": {