WebUI not working (Failed to connect to the API)

Setup:

  • Ubuntu 18.04 server VM on a Synology NAS with Virtual Station
  • Fixed DHCP lease: 192.168.200.23
  • port forwarding for tcp 8080 & 4001
  • daemon output:
    ipfs daemon
    Initializing daemon…
    go-ipfs version: 0.4.22-
    Repo version: 7
    System version: amd64/linux
    Golang version: go1.12.7
    Swarm listening on /ip4/127.0.0.1/tcp/4001
    Swarm listening on /ip4/192.168.200.23/tcp/4001
    Swarm listening on /ip6/::1/tcp/4001
    Swarm listening on /p2p-circuit
    Swarm announcing /ip4/127.0.0.1/tcp/4001
    Swarm announcing /ip4/192.168.200.23/tcp/4001
    Swarm announcing /ip6/::1/tcp/4001
    API server listening on /ip4/0.0.0.0/tcp/5001
    WebUI: http://0.0.0.0:5001/webui
    Gateway (writable) server listening on /ip4/0.0.0.0/tcp/8080
    Gateway (writable) server listening on /ip6/::/tcp/8080
    Daemon is ready

IPFS seems to work. I can add files and open them via ipfs.io/ipfs/ as well as <my_pub_ip>:8080/ipfs/

I just can’t get the WebUI to work.
192.168.200.23:5001/webui displays the WebUI but states:

Failed to connect to the API

There are also a few errors in the console:

My config:
cat config
{
“Identity”: {
“PeerID”: “[censored]”,
“PrivKey”: “[censored]”
},
“Datastore”: {
“StorageMax”: “10GB”,
“StorageGCWatermark”: 90,
“GCPeriod”: “1h”,
“Spec”: {
“mounts”: [
{
“child”: {
“path”: “blocks”,
“shardFunc”: “/repo/flatfs/shard/v1/next-to-last/2”,
“sync”: true,
“type”: “flatfs”
},
“mountpoint”: “/blocks”,
“prefix”: “flatfs.datastore”,
“type”: “measure”
},
{
“child”: {
“compression”: “none”,
“path”: “datastore”,
“type”: “levelds”
},
“mountpoint”: “/”,
“prefix”: “leveldb.datastore”,
“type”: “measure”
}
],
“type”: “mount”
},
“HashOnRead”: false,
“BloomFilterSize”: 0
},
“Addresses”: {
“Swarm”: [
“/ip4/0.0.0.0/tcp/4001”,
“/ip6/::/tcp/4001”
],
“Announce”: [],
“NoAnnounce”: [],
“API”: “/ip4/0.0.0.0/tcp/5001”,
“Gateway”: [
“/ip4/0.0.0.0/tcp/8080”,
“/ip6/::/tcp/8080”
]
},
“Mounts”: {
“IPFS”: “/ipfs”,
“IPNS”: “/ipns”,
“FuseAllowOther”: false
},
“Discovery”: {
“MDNS”: {
“Enabled”: true,
“Interval”: 10
}
},
“Routing”: {
“Type”: “dht”
},
“Ipns”: {
“RepublishPeriod”: “”,
“RecordLifetime”: “”,
“ResolveCacheSize”: 128
},
“Bootstrap”: [
“/dnsaddr/bootstrap.libp2p.io/ipfs/[censored]”,
“/dnsaddr/bootstrap.libp2p.io/ipfs/[censored]”,
“/dnsaddr/bootstrap.libp2p.io/ipfs/[censored]”,
“/dnsaddr/bootstrap.libp2p.io/ipfs/[censored]”,
“/ip4/[censored]/tcp/4001/ipfs/[censored]”,
“/ip4/[censored]/tcp/4001/ipfs/[censored]”,
“/ip4/[censored]/tcp/4001/ipfs/[censored]”,
“/ip4/[censored]/tcp/4001/ipfs/[censored]”,
“/ip4/[censored]/tcp/4001/ipfs/[censored]”,
“/ip6/[censored]/tcp/4001/ipfs/[censored]”,
“/ip6/[censored]/tcp/4001/ipfs/[censored]”,
“/ip6/[censored]/tcp/4001/ipfs/[censored]”,
“/ip6/[censored]/tcp/4001/ipfs/[censored]”
],
“Gateway”: {
“HTTPHeaders”: {
“Access-Control-Allow-Headers”: [
“X-Requested-With”,
“Access-Control-Expose-Headers”,
“Range”,
“User-Agent”
],
“Access-Control-Allow-Methods”: [
“POST”,
“GET”,
“PUT”
],
“Access-Control-Allow-Origin”: [
“*”
],
“X-Special-Header”: [
“Access-Control-Expose-Headers: Ipfs-Hash”
]
},
“RootRedirect”: “”,
“Writable”: true,
“PathPrefixes”: [],
“APICommands”: [],
“NoFetch”: false
},
“API”: {
“HTTPHeaders”: {}
},
“Swarm”: {
“AddrFilters”: null,
“DisableBandwidthMetrics”: false,
“DisableNatPortMap”: false,
“DisableRelay”: false,
“EnableRelayHop”: false,
“EnableAutoRelay”: false,
“EnableAutoNATService”: false,
“ConnMgr”: {
“Type”: “basic”,
“LowWater”: 600,
“HighWater”: 900,
“GracePeriod”: “20s”
}
},
“Pubsub”: {
“Router”: “”,
“DisableSigning”: false,
“StrictSignatureVerification”: false
},
“Reprovider”: {
“Interval”: “12h”,
“Strategy”: “all”
},
“Experimental”: {
“FilestoreEnabled”: false,
“UrlstoreEnabled”: false,
“ShardingEnabled”: false,
“Libp2pStreamMounting”: false,
“P2pHttpProxy”: false,
“QUIC”: false,
“PreferTLS”: false
}
}

Just a heads up.
I tried installing IPFS on a fresh Ubuntu Mate as root. On this VM the WebUI doesn’t load (no error, just infinite loading) either remote nor from a local browser (localhost).

built from source. seems to work now.