Hello! Is there a way to host Discourse via a Docker image and not use volumes? I was wondering if there was any way I could hook up the volume through the compose file/docker command line to automatically link the volume to S3.
AI-generated summary
A user, milo123459, is seeking to host Discourse via a Docker image without using volumes, instead wanting to automatically link to S3. However, as Falco points out, S3 is object storage and not comparable to volumes. It’s possible to create a mostly stateless Discourse setup by configuring it to use S3 for uploads and a separate PostgreSQL server, but this would still require some stateful components like Redis.
Milo123459 clarifies that they’re trying to deploy Discourse to Railway, which doesn’t support volumes, but could work with Postgres and S3. pfaffman notes that achieving this would require a sophisticated understanding of various components and is unlikely to be supported.
S3 is object storage and volumes need a full file system, making then comparable with the EFS in the lingo of AWS services, not S3.
That said, by configuring Discourse per Configure an S3 compatible object storage provider for uploads and Configure Discourse to use a separate PostgreSQL server you get a mostly stateless Discourse. Hook it behind AWS ALB for TLS termination and AWS Elasticache for Redis and you are full stateless.
When you say mostly stateless, do you mean, it doesn’t require volumes? Right now, I’m trying to deploy Discourse to Railway which doesn’t support volumes. It supports Postgres, and I could theoretically hook it up to S3, but I’m not sure how I would do that. Thanks for the information, though!
Right.
Doing that would require a fairly sophisticated understanding of Discourse, Redis, postgres, S3, and SSL termination. It’s not going to be supported here.