moving docker stuff around,
This commit is contained in:
parent
239951ac48
commit
ef33698c33
9 changed files with 88 additions and 49 deletions
|
|
@ -1,5 +1,4 @@
|
|||
import com.github.gradle.node.npm.task.NpmTask
|
||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
|
||||
import org.jetbrains.kotlin.util.parseSpaceSeparatedArgs
|
||||
|
||||
plugins {
|
||||
|
|
@ -88,7 +87,7 @@ val copyModToServerTask = tasks.register<Copy>("copyModToServer") {
|
|||
dependsOn(modPackageTask)
|
||||
|
||||
from(modPackageTask)
|
||||
into(layout.projectDirectory.dir("src/test/resources/server/data/mods").asFile)
|
||||
into(layout.projectDirectory.dir("infra/factorio-server/data/mods").asFile)
|
||||
}
|
||||
|
||||
val serverStopTask = tasks.register<Exec>("dockerStop") {
|
||||
|
|
@ -96,8 +95,8 @@ val serverStopTask = tasks.register<Exec>("dockerStop") {
|
|||
|
||||
mustRunAfter(copyModToServerTask)
|
||||
|
||||
workingDir = layout.projectDirectory.dir("src/test/resources/server/").asFile
|
||||
commandLine = parseSpaceSeparatedArgs("docker-compose stop")
|
||||
workingDir = layout.projectDirectory.dir("infra/factorio-server").asFile
|
||||
commandLine = parseSpaceSeparatedArgs("docker-compose stop factorio-server")
|
||||
}
|
||||
|
||||
val serverUpTask = tasks.register<Exec>("dockerUp") {
|
||||
|
|
@ -106,8 +105,8 @@ val serverUpTask = tasks.register<Exec>("dockerUp") {
|
|||
mustRunAfter(copyModToServerTask)
|
||||
dependsOn(serverStopTask)
|
||||
|
||||
workingDir = layout.projectDirectory.dir("src/test/resources/server/").asFile
|
||||
commandLine = parseSpaceSeparatedArgs("docker-compose up -d")
|
||||
workingDir = layout.projectDirectory.dir("infra/factorio-server").asFile
|
||||
commandLine = parseSpaceSeparatedArgs("docker-compose up -d factorio-server")
|
||||
}
|
||||
|
||||
//val serverRestartTask = tasks.register<Exec>("dockerRestart") {
|
||||
|
|
|
|||
1
modules/mod/infra/.env
Normal file
1
modules/mod/infra/.env
Normal file
|
|
@ -0,0 +1 @@
|
|||
COMPOSE_PROJECT_NAME=factorio-infra
|
||||
56
modules/mod/infra/docker-compose.yml
Normal file
56
modules/mod/infra/docker-compose.yml
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
version: "3.9"
|
||||
|
||||
services:
|
||||
|
||||
factorio-server:
|
||||
image: factoriotools/factorio:1.1.42
|
||||
# logging:
|
||||
# driver: "json-file"
|
||||
container_name: "factorio"
|
||||
restart: "unless-stopped"
|
||||
ports:
|
||||
- "34197:34197/udp" # factorio
|
||||
- "27015:27015/tcp" # rcon
|
||||
volumes:
|
||||
- "./data:/factorio"
|
||||
# logging:
|
||||
# driver: "mickyg/kafka-logdriver:latest"
|
||||
# options:
|
||||
# KAFKA_BROKER_ADDR: "kafka-kraft"
|
||||
# LOG_TOPIC: "dockerlogs-factorio-server"
|
||||
# LOG_TAG: "factorio-server"
|
||||
|
||||
# environment:
|
||||
# RCON_PORT: 27715
|
||||
# environment:
|
||||
# - PUID=1000
|
||||
# - PGID=1000
|
||||
# - UPDATE_MODS_ON_START=true
|
||||
# - USERNAME=FactorioUsername
|
||||
# - TOKEN=FactorioToken
|
||||
|
||||
kafka-kraft:
|
||||
image: dev-adamko/kafka-kraft
|
||||
container_name: "kafka-factorio"
|
||||
build:
|
||||
dockerfile: "kafka.Dockerfile"
|
||||
target: "kafka-kraft"
|
||||
args:
|
||||
KAFKA_DL_URL: "https://dlcdn.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz"
|
||||
ports:
|
||||
- "9092:9092"
|
||||
- "9093:9093"
|
||||
|
||||
# kafka-connect:
|
||||
# image: dev-adamko/kafka-connect
|
||||
# container_name: "kafka-connect"
|
||||
# build:
|
||||
# dockerfile: "kafka.Dockerfile"
|
||||
# target: "kafka-connect"
|
||||
# args:
|
||||
# KAFKA_DL_URL: "https://dlcdn.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz"
|
||||
# depends_on:
|
||||
# - kafka-kraft
|
||||
# ports:
|
||||
# - "8083:8083"
|
||||
#
|
||||
64
modules/mod/infra/kafka.Dockerfile
Normal file
64
modules/mod/infra/kafka.Dockerfile
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
ARG KAFKA_DL_URL=https://dlcdn.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz
|
||||
|
||||
## builder ##
|
||||
FROM debian:11-slim as Kafka-Download
|
||||
ARG KAFKA_DL_URL
|
||||
|
||||
WORKDIR /kafka
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN echo "Downloading Kafka from $KAFKA_DL_URL" \
|
||||
&& curl "$KAFKA_DL_URL" | tar --strip-components=1 -xz \
|
||||
&& echo "Finished Kafka download" \
|
||||
&& ls -la
|
||||
|
||||
|
||||
## Kafka ##
|
||||
# KRaft (aka KIP-500) mode Preview Release
|
||||
# https://github.com/apache/kafka/blob/041b76dc57f096be2a2d7532d917122992bff6e2/config/kraft/README.md
|
||||
FROM openjdk:11 as kafka-kraft
|
||||
|
||||
WORKDIR /kafka
|
||||
|
||||
COPY --from=Kafka-Download /kafka .
|
||||
|
||||
# hardcoded for now, based on values from './config/kraft/server.properties'
|
||||
# log.dirs
|
||||
VOLUME /tmp/kraft-combined-logs
|
||||
# listeners, controller.quorum.voters
|
||||
EXPOSE 9092 9093
|
||||
|
||||
# Generate a cluster ID (must use this .sh to generate a UUID)
|
||||
RUN echo "$(./bin/kafka-storage.sh random-uuid)" > cluster_id \
|
||||
&& echo "Generated a Kafka Cluster ID: $(cat cluster_id)"
|
||||
|
||||
# Format storage directories
|
||||
RUN ./bin/kafka-storage.sh format \
|
||||
--ignore-formatted \
|
||||
--config ./config/kraft/server.properties \
|
||||
--cluster-id "$(cat cluster_id)"
|
||||
|
||||
# launch the broker in KRaft mode, which means that it runs without ZooKeeper
|
||||
ENTRYPOINT ["./bin/kafka-server-start.sh", "./config/kraft/server.properties"]
|
||||
|
||||
|
||||
### Kafka Connect ##
|
||||
#FROM openjdk:11 as kafka-connect
|
||||
## https://github.com/confluentinc/cp-docker-images/blob/5.3.3-post/debian/kafka-connect-base/Dockerfile
|
||||
#
|
||||
#ENV COMPONENT=kafka-connect
|
||||
#
|
||||
#WORKDIR /kafka-connect
|
||||
#
|
||||
#COPY --from=Kafka-Download /kafka .
|
||||
#
|
||||
## Default kafka-connect rest.port
|
||||
#EXPOSE 8083
|
||||
#
|
||||
#VOLUME ["/etc/${COMPONENT}/jars", "/etc/${COMPONENT}/secrets"]
|
||||
#
|
||||
## launch the broker in KRaft mode, which means that it runs without ZooKeeper
|
||||
#ENTRYPOINT ["./bin/connect-standalone.sh", "./config/connect-standalone.properties"]
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
version: "3.9"
|
||||
services:
|
||||
factorio:
|
||||
image: factoriotools/factorio:1.1.42
|
||||
# logging:
|
||||
# driver: "json-file"
|
||||
container_name: "factorio"
|
||||
restart: "unless-stopped"
|
||||
ports:
|
||||
- "34197:34197/udp" # factorio
|
||||
- "27015:27015/tcp" # rcon
|
||||
volumes:
|
||||
- "./data:/factorio"
|
||||
# environment:
|
||||
# RCON_PORT: 27715
|
||||
# environment:
|
||||
# - PUID=1000
|
||||
# - PGID=1000
|
||||
# - UPDATE_MODS_ON_START=true
|
||||
# - USERNAME=FactorioUsername
|
||||
# - TOKEN=FactorioToken
|
||||
Loading…
Add table
Add a link
Reference in a new issue