Initial skellies for the user stuff
This commit is contained in:
@@ -22,8 +22,7 @@ def build_container_routing_labels(prefix: str, strip_prefix=True):
|
||||
|
||||
labels = {}
|
||||
labels[router_key] = "Host(`{host_name}`) && PathPrefix(`/{prefix}`)".format(
|
||||
host_name=host_name,
|
||||
prefix=prefix
|
||||
host_name=host_name, prefix=prefix
|
||||
)
|
||||
if strip_prefix:
|
||||
labels[middleware_key] = "/{prefix}".format(prefix=prefix)
|
||||
@@ -31,6 +30,7 @@ def build_container_routing_labels(prefix: str, strip_prefix=True):
|
||||
|
||||
return labels
|
||||
|
||||
|
||||
def delete_container(docker_id) -> bool:
|
||||
if not docker_id:
|
||||
return False
|
||||
@@ -43,6 +43,7 @@ def delete_container(docker_id) -> bool:
|
||||
except docker.errors.NotFound, docker.errors.APIError:
|
||||
return False
|
||||
|
||||
|
||||
def stop_container(docker_id) -> bool:
|
||||
try:
|
||||
client = docker.from_env()
|
||||
@@ -56,7 +57,9 @@ def stop_container(docker_id) -> bool:
|
||||
def start_foundry_container(table: GameTable, key: KeyTable):
|
||||
client = docker.from_env()
|
||||
container = None
|
||||
networkName = client.containers.get(socket.gethostname()).attrs["HostConfig"]["NetworkMode"]
|
||||
networkName = client.containers.get(socket.gethostname()).attrs["HostConfig"][
|
||||
"NetworkMode"
|
||||
]
|
||||
data_bind = os.environ.get("FOUNDRY_DATA_BIND")
|
||||
data_volume = os.environ.get("FOUNDRY_DATA_VOL")
|
||||
|
||||
@@ -83,19 +86,23 @@ def start_foundry_container(table: GameTable, key: KeyTable):
|
||||
|
||||
if data_volume:
|
||||
|
||||
os.makedirs("/data/{prefix}".format(prefix=table.game_table_link), exist_ok=True)
|
||||
os.makedirs(
|
||||
"/data/{prefix}".format(prefix=table.game_table_link), exist_ok=True
|
||||
)
|
||||
|
||||
mounts = [
|
||||
docker.types.Mount(
|
||||
target="/data",
|
||||
source=data_volume,
|
||||
type="volume",
|
||||
subpath=table.game_table_link),
|
||||
subpath=table.game_table_link,
|
||||
),
|
||||
docker.types.Mount(
|
||||
target="/data/container_cache",
|
||||
source=data_volume,
|
||||
type="volume",
|
||||
subpath="container_cache")
|
||||
subpath="container_cache",
|
||||
),
|
||||
]
|
||||
|
||||
container = client.containers.run(
|
||||
@@ -105,14 +112,14 @@ def start_foundry_container(table: GameTable, key: KeyTable):
|
||||
environment=environment,
|
||||
ports=ports,
|
||||
detach=True,
|
||||
network=networkName
|
||||
network=networkName,
|
||||
)
|
||||
|
||||
else:
|
||||
volumes = {
|
||||
"{data_bind}/{prefix}".format(
|
||||
data_bind=os.environ.get("FOUNDRY_DATA_BIND"),
|
||||
prefix=table.game_table_link,
|
||||
prefix=table.game_table_link,
|
||||
): {"bind": "/data", "mode": "rw"},
|
||||
"{data_bind}/container_cache".format(
|
||||
data_bind=os.environ.get("FOUNDRY_DATA_BIND")
|
||||
@@ -126,7 +133,7 @@ def start_foundry_container(table: GameTable, key: KeyTable):
|
||||
environment=environment,
|
||||
ports=ports,
|
||||
detach=True,
|
||||
network=networkName
|
||||
network=networkName,
|
||||
)
|
||||
|
||||
return container.id
|
||||
|
||||
Reference in New Issue
Block a user