....hmmm.... I think I try a topical. Farmer Joe's has all kinds of natural essential oils and Mother Earth does as well.
By the way... If what you are looking for is something to encourage going to sleep, Magnesium will help with that.
But if you are looking for long sleep, Golden Milk is the best I can offer, particularly if you tend to awaken from pain. It is not uncommon for me to flash awake in pain that says I must move now... Followed by a half hour of shaking my giggles out... Snap, crackle, and pop for about a half hour before I am alright to go back to bed. In fact, that is my normal morning too, regardless.
Golden Milk is the only non-prescription remedy that works for me in that regard.
You will need fresh turmeric, fresh ginger, black pepper, (red cap or better) milk, and just a bit of oil (I use coconut for this)
Put a bit of oil in the bottom of a pot and get it warming. Start with a quarter inch coin each of a thumb-sized turmeric root and ginger root. rough chop the coins and throw them in the oil. The intent is not to fry them, but to come close. Like a carrot, the roots will soften until you can mash them finely. Once that has occurred:
Measure milk according to the cup that the mixture will inevitably be served in, and pour the milk into the mixture of mashed roots. increase heat and stir continually - careful not to form a film on the milk.
When the turmeric blooms into the milk, it will gain a distinct yellow color. That is what you want, and is enough. you do not need a full boil. Add a few shakes of pepper - visibly blackening 25% of the top.
Pepper supercharges turmeric. Pour off into a cup, maybe add a bit of cinnamon and nutmeg if you like.
Turmeric supplies lasting pain relief and encourages blood flow to capillaries.
If one coin of each is not enough try two or three. But I can (on occasion) get real sleep all night long (providing magnesium is on the up and up so that muscle pain is reduced too), and often just waking to a sore shoulder and hip, to roll over the other way and go right back to sleep.