I've chosen to self-host my DTM file and am not going the FTP route for this page- I'm downloading. First I need to find a folder on my server that will hold my library files. I'm going to go with "/scripts/DTM/". I'll have one folder there for staging, and one for production.
My settings in DTM look like this:

To initially set this up, or when I have any updates in my library because I've saved changes (for staging) or approved changes (for production), I'd download the files, unzip them, and put the contents of the unzipped folder into my "scripts/DTM/" folder.

Within this folder, there are a few things to be aware of:
- The "selector.js" file. (in yellow) Akamai-hosted implementations don't require their own version of this file, they can all share the same globally-hosted version. But self-hosted folks generally want to AVOID referencing any global akamai folder, so we give them their own copy. This file is generally fairly static and the contents are not unique to companies or properties, but it does need to be in the folder so the unique library files can reference it.
- The main library file (the "satelliteLib" file in blue) folder holds code that must be syncronous either because of its functionality (visitorID service) or because it helps set up all the other folders and files run at the right time. Fun fact: the part that follows the "satelliteLib-" part is your property ID.
- The s_code (in green) is kept in its own file so it can be loaded at the right time (for instance, if you've set it to load at page time)
- Third party tags- particularly non-sequential ones-also get their own files (in pink) that can load "on the side" so as not to block main script loading.

I can then put the embed codes on my pages- since I told DTM where the files would be, DTM is able to turn around and tell me the full embed code to use.
At the moment, there is a slight hitch in the way DTM creates the embed codes- you may need to add in the absolute path/domain of your DTM library folders.

I often add the protocal ("http:") before the "//"- DTM provides embed code without it, because the browser can avoid security errors by automatically filling in the correct protocol based on the current page: if you're on an http page, the browser will fill in "http"; on https, it fill in https... unfortunately, on local files ("file:///"), which I use a lot in testing, it may try to fill in "file:///mydomain.com", which won't work.
Since I don't need to sorry about security errors from using the wrong non-secure protocol on secure pages (my own site doesn't have https), and I like to make sure my implementation works even on local "file:///" test pages.
This has all been implemented on this page- you can even see my library folder, if you'd like.