Container works running standalone but not as a service in a swarm

I had an indentation typo in when I posted my compose file. Notice the volumes and ports sections:

version: '3.4'
services:
  logstash:
    image: logstash-dhcp-syslog
    deploy:
      replicas: 1
      placement:
        constraints:
          - node.role == manager
      restart_policy:
        condition: on-failure
      volumes:
        - /etc/logstash:/usr/share/logstash/pipeline
      ports:
        - "514:514/udp"

That said is what you posted supposed to be:

version: '3.4'
services:
  logstash:
    image: logstash-dhcp-syslog
    deploy:
      replicas: 1
      placement:
        constraints:
          - node.role == manager
      restart_policy:
        condition: on-failure
      volumes:
        - /etc/logstash:/usr/share/logstash/pipeline
      networks:
        myhost: {}

networks:
  myhost:
    external:
      name: "host"

With services.logstash.networks instead of services.networks?