-
|
Hi all, I was about to create a new issue on the repo, but thought to try here first to see if I'm doing anything wrong. I'm trying to create a new Event that runs every day. This event runs a borg backup script I wrote and tested on my machine ( Error (1): Script exited with code: 1: /opt/xyops/satellite/temp/xyops-script-temp-jmmiagzx24gt781h: line 19: borg: command not foundI also tried to run the same script as a Workflow instead of an Event, but the outcome is the same. Am I doing something wrong or is this a bug? Many thanks =) Ubuntu version: Ubuntu 24.04.3 LTS P.S. Earlier I created a Workflow with another script just to test. The script is a one-liner and simply runs a command on my {"level":"info","ts":1772993116.456849,"msg":"using adjacent Caddyfile"}
{"level":"info","ts":1772993116.4622304,"msg":"adapted config to JSON","adapter":"caddyfile"} |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 5 replies
-
|
Off the top of my head, I can think of two possibilities. First is if your satellite is running inside the docker container and borg isn't installed inside the container and only exists on the parent host (where I assume you want it to run). Second is that you do have the satellite installed on the parent host but the path environment variable to borg isn't set up in the user context that the satellite is running as. Or third, I have no idea what I'm talking about and all of the above can be ignored 😆 |
Beta Was this translation helpful? Give feedback.
-
|
I'm thinking you don't have any persistent volume configured for your container so it basically resets everything. I can't confirm because I'm just on my phone but I'm thinking you can set up a volume for /opt/xyops and that will cause the docker container to write out to a location on the host, keeping it intact during restarts. That's where the configuration is stored. Don't map it to the same location on the parent host though as you also have the satellite installed there and you don't want to possibly interfere with that. |
Beta Was this translation helpful? Give feedback.
-
The key here is that you actually have to set the hostname of the xyOps primary conductor server (or Docker container I am guessing in this case) to the hostname you want to advertise to other servers. It needs to be addressable on your network (DNS, hosts file, etc.). The Base App URL is not used in this case.
Please make sure you are running the latest xyOps (v1.0.20) and xySat (v1.0.12) versions. There was a bug that caused jobs to get stuck in a finishing state with some combinations of older versions (specifically xyOps v1.0.16 or older, and xySat v1.0.11 and newer).
Okay, so I think most of these things stem from the same core issue. Your xyOps primary conductor server needs to have a "real" hostname that resolves via DNS on your network. This means, if you are using Docker, you need to set the hostname of the container to something that resolves, so anything out on your network can reach it by name. This is the key to how xyOps manages a cluster of servers. It's all based on the hostname of the conductor server(s). (The hostnames of the worker / satellite servers doesn't matter, but the conductor server very much does). |
Beta Was this translation helpful? Give feedback.
-
|
Heya, quickly updating this post. It turns out most of my issues stemmed from an experiment I forgot about where I tried to move all of my docker services behind another network container. The However, I still had issues with the server disappearing after a restart of the conductor container. I made some changes to the
... which then successfully reconnects satellite to the conductor. However, this change wasn't persistent. After some investigation, it turns out that something was overwriting the above values in the Satellite after restarting the Conductor! After even more investigation, it turns out that the Conductor sends the instruction to overwrite the config values with those wrong values - maybe it shouldn't do that if the existing connection is working. Finally, I noticed that the I was also planning on expanding the documentation with this use case, but noticed that the repo doesn't accept PRs, which is a shame. I'd love for you to include it so that others with a similar setup don't struggle as much setting up xyops: medallyon@257d6f8 Thanks for all the help! |
Beta Was this translation helpful? Give feedback.




The key here is that you actually have to set the hostname of the xyOps primary conductor server (or Docker container I am guessing in this case) to the hostname you want to advertise to other servers. It needs to be addressable on your network (DNS, hosts file, etc.). The Base App URL is not used in this case.