I just discovered OttoFMS! Wonderful tool, it has so many features that I wish the standard server had! Thank you for providing it.
I wish I had found it a couple of weeks ago as I have been working on a way to deploy my files from local to the server. (Basically built a CLI that wraps the filemaker tools to allow me to grab files from a directory and deploy, didn’t get around to rollbacks which was the next thing I wanted to get done when I discovered your tool)
Anyway, my feature request is a tool that runs locally (possibly a CLI) that allows me to run the build process and deploy to a server so I don’t have to install another server OR try to get this to work locally (have not managed to get over the certificate error, I’ve seen other posts on the forum about this particular setup not being supported)
Welcome to the Community! I’m glad you’re liking OttoFMS. For the local → remote deployments you’re talking about, are you migrating the files or installing them? If you are installing them (or replacing an existing file with them), you can use the Upload file feature in the FileMaker Server tab of the OttoFMS console to deploy them.
If you are trying to migrate them it gets more difficult as we need to package up the files and get them somewhere that OttoFMS can use them. You could presumably write a script that will do this, and it would need to do the following:
Create clones of the files if they do not exist
Create a manifest.json file for the build that has the basic information (a build id, a list of files, the name of the build.zip file, etc.) You can check a generated build for the necessary fields
zip up all of the files and the manifest into a .build.zip file.
Once you have that you essentially have a build!
Are the files you’re trying to deploy clones you’re migrating?
This is a migration, but right now when you do server to server, presumably the cloning and migration process happens on the destination server right?
Or maybe this makes more sense, if I could make a build using source a local file, then that would possibly solve the problem.
My personal solution I was working on was to have the files in github, the on the server have a deployment script that would pull, pause, backup, migrate, replace and open the file.
I still have to read the details of what your build process does, maybe I can mimic that and just build and push to S3 (maybe even do this as a Github action)
OttoFMS does the cloning and build process on the source server, not the destination. However, the source server could presumably be the same server, and you could have that server pull the files down and make a build. You could then use the build for a local deployment.
Even more useful for your case, if you get the clones up in S3 or in Github, you can get URLs for the files and use the “file_urls” source type to do the deployment. This would require triggering the deployment with an HTTP request (via CURL or Postman or any other HTTP supporting software/language including FileMaker) rather than with OttoDeploy as we haven’t made the UI for it, but you can check out the API docs here for details on the “file_urls” source type. It essentially lets you grab a generic set of files from any URL you like, one URL per file. It’s primarily intended for locations where files are stored individually and you may not have put them there through a process native to OttoFMS that would have created a build.
Are you trying to do it like this because you’re doing the development locally?
Yes, I am developing locally. Ideally I could just run OttoFMS locally to do that, I could continue trying to get that to work, figure out where the error is happening and how the certificate is handled.
I like to work on my laptop and I travel around sometimes, so I prefer having the files local to my computer to while I work on them.
I know we have some similar needs. Couple of other use-cases that make using a URL in OttoDeploy helpful:
FileMaker Server bug that requires a quick migration to use the last clone backup. Migrate from a clone in S3, B2, or Github ( think recently of the theme bug in v20 - v21.4 )
Moving a client through multiple version of an app, but the builds are no longer stored in the builds folder, and maybe not available as a proper build externally.