Sorry for the late response here. On this item:
Setting up a package repository is the recommended solution here. Understandably annoying to do that work, but that is where Package Manager is intended to live as a complementary product and make managing packages easier. You can use external packages as a workaround, but that is really intended for another purpose, and has the side effect of making all content use the same version of the package (which is problematic for breaking changes, etc.).
As for your image issues, the problem here is that you are referencing a file path within your HTML (and within your browser). While this may work locally (i.e. you can refer to files in your browser with things like file:///path/to/thing
), it will definitely not work on any remote server (i.e. Connect) because your desktop does not have access to the files stored on the Connect server.
The way you need to do this is to actually shove the image itself into your HTML or otherwise expose it to the client (i.e. on a webserver where it can be accessed with a http
address). The easiest way to do this is definitely within RMarkdown. You can do it pretty natively with the 
convention, or in R code. An example below (using the jpeg
package because it was the first I found with an image in it
)
```{r setup, include=FALSE}
library(jpeg)
library(htmltools)
```
`)\
```{r func}
the_img <- knitr::image_uri(system.file("img/Rlogo.jpg", package = "jpeg"))
footer <- function () {
return(tagList(htmltools::img(src = the_img, alt = "logo", width = "200px", style = "position:absolute; top:0; right:0; padding:10px;"),
htmltools::p(paste0("Last updated: ", Sys.Date())), htmltools::div(id = "footer",
p(id = "foottext", "Company | Confidential and Proprietary"))))
}
footer()
```