run x11docker as a systemd service

This commit is contained in:
Madhukar Mishra
2024-04-12 18:48:00 +05:30
parent 0e71970bfc
commit 44e3fa1d06
6 changed files with 158 additions and 14 deletions
+4
View File
@@ -0,0 +1,4 @@
sudo cp x11docker-inferencejob.service /etc/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable x11docker-inferencejob.service
sudo systemctl start x11docker-inferencejob.service
+24
View File
@@ -0,0 +1,24 @@
import boto3
from botocore.exceptions import ClientError
import json
secret_name = "bvh_to_workflow_job"
region_name = "us-east-1"
session = boto3.session.Session()
client = session.client(
service_name='secretsmanager',
region_name=region_name
)
secret_response = client.get_secret_value(
SecretId=secret_name
)
secret_string = secret_response["SecretString"]
secrets = json.loads(secret_string)
with open("secrets-rendered.env", "w") as file:
for k, v in secrets.items():
file.write(f"{k}={v}\n")
+16
View File
@@ -0,0 +1,16 @@
PAUSE_FILE='/tmp/pause.txt'
ALWAYS_ALLOW_COLD_FILESYSTEM_CACHE='true'
SCOPED_EXECUTION_MODEL_TYPES='bvh_to_workflow'
SCOPED_TEMP_DIR_LONG_LIVED_DOWNLOADS='/tmp/downloads_long'
SCOPED_TEMP_DIR_SHORT_LIVED_DOWNLOADS='/tmp/downloads'
SCOPED_TEMP_DIR_WORK='/tmp/work'
BVH2WORKFLOW_TIMEOUT_SECONDS='300'
REGION_NAME='us-east1'
SEMI_PERSISTENT_DIR_ROOT='/tmp/shared_volume/cache'
PUBLIC_BUCKET_NAME=vocodes-public
PRIVATE_BUCKET_NAME=vocodes-private-uploads
BVH2WORKFLOW_DIRECTORY='/storyteller'
BVH2WORKFLOW_EXECUTABLE_OR_COMMAND='/storyteller/runner.sh'
STUDIO_HEADLESS_PATH='/storyteller/studio-headless'
REDIS_FOR_JOB_PROGRESS=""
REDIS_FOR_KEEPALIVE_URL=""
+10
View File
@@ -0,0 +1,10 @@
# https://github.com/mviereck/x11docker/issues/154
[Unit]
Description=run bevy with x11docker
[Service]
# TODO: pre job pull down secrets, pull env vars also?
ExecStart=x11docker -D --xvfb --network --gpu=no --printenv --fallback=no --home=~/shared-with-x-serv --size=720x480 -- -e NVIDIA_DRIVER_CAPABILITIES=all --runtime=nvidia --gpus all --env-file /home/ubuntu/storyteller/storyteller-bevy/deploy/secrets.env -- docker.io/library/xfce-bevy-ubuntu-local /storyteller/inference-job
[Install]
WantedBy=multi-user.target