While UserFrosting includes a Docker Compose configuration suitable for local development purposes, it currently has no such offering for production in-box.
There are a number of aspects that will need to be considered here, and plenty of discussion to be had. Known considerations are;
The database
The development configuration exposes the databases port to the host machine to permit access. This is not advisable for a production grade configuration. Furthermore, how Docker exposes ports means that they can bypass common firewalls like ufw (apparently).
How database credentials should be made available to UserFrosting.
Potentially using a database not managed by Docker (e.g. a managed database service, or a separate dedicated server)
HTTPS
The development configuration does not support this, but ideally should as certain features are gated behind HTTPS by browsers.
File permissions
Testing
At the time of writing there is no automated testing for a UserFrosting deployment, just the APIs and HTTP API endpoints. Adding another official method to host a site for production without this would be a bad idea as it would increase the manual test surface drastically.
Infrastructure shape
One of the big advantages of Docker is the capacity to easily and reliably scale. Scaling is much more effective (quicker and generally easier) when the individual services are kept simple and focused, however this doesn't necessarily transfer well to UserFrosting which is built with traditional stacks in mind.
Hit me up if you want to discuss anything, I have been running UF + docker in production for ~2 years. certbot + nginx as a reverse proxy for ssl for e.g.
While UserFrosting includes a Docker Compose configuration suitable for local development purposes, it currently has no such offering for production in-box.
There are a number of aspects that will need to be considered here, and plenty of discussion to be had. Known considerations are;
ufw
(apparently).