My health status is red

"cluster_name" : "elasticsearch",
"status" : "red",
"timed_out" : false,
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
"active_primary_shards" : 3200,
"active_shards" : 3200,
"relocating_shards" : 0,
"initializing_shards" : 4,
"unassigned_shards" : 3888,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 1526,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 805993,
"active_shards_percent_as_number" : 45.121263395375074

What is wrong with my cluster?

That is a large number of shards for a single node cluster. That could very well be why you are having so many shards unassigned. I would recommend either reducing the number of shards in the cluster and/or increasing the amount resources, especially heap space, available to the node.

What is your current heap size?

I have not set it up, so it is probably default 1 GB

Then I would say that there is a reasonably high probability that is the cause.

@Christian_Dahlqvist I have only 5 shards per index, the reason there are so many shards is that I have a lot of indexes (which I think I can reduce). Would it be better if I reduce the number of indexes?

I would recommend reducing the number of indices as well as shards. Aim to have shards a few GB in size at least. If they are currently smaller, go from 5 shards per index to 1. Also look at consolidating indices where possible to increase the shard size. If you are using time based indices, it may be worthwhile considering weekly or monthly indices if daily volumes are small.