If your content is static anyway, you can just rsync to deploy instead of push to deploy:
rsync -e "ssh -p $(SSH_PORT)" -P -rvzc --cvs-exclude --delete $(LOCAL_CONTENT) $(SSH_USER)@$(SSH_HOST):$(REMOTE_DIR)
Self-hosting then essentially just means doing apt install nginx once.