Configure S3 when app is launched using docker-compose file

Infos:

  • Used Zammad version: 6.3.1-95
  • Used Zammad installation type: docker-compose
  • Operating system: Amazon Linux
  • Browser + version: Chrome latest

Expected behavior:

  • App should use S3 as storage

Actual behavior:

  • App is not able to connect to S3

Steps to reproduce the behavior:

I followed the documentation where it says to

  1. Copy config/zammad/storage.yml.dist to config/zammad/storage.yml

how could I achieve this in docker deployment method?

Hi @MithunB,

fiddling with the configuration file is not needed and not recommended in the Docker context (no persisting of the data).

Please verify if the connection to the S3 is possible by inspecting the rails-server container log and running the following command.

docker container exec RAILSERVER_CONTAINERNAME /docker-entrypoint.sh /opt/zammad/bin/rails r 'Rails.logger = Logger.new(STDOUT); pp Store::Provider::S3.ping?'

The container name should be equal to zammad-railsserver (or at least include this substring.) See tip box in the storage documentation

P.S. The force_path_style option will probably not work with the origin AWS S3. You should consider the AWS S3 documentation, desperately.

I believe the real reason for this is that S3_URL is not included in the main docker-compose.yml as an environment variable that can be set by your .env

Once I modified the main docker-compose.yml, I was able to see S3_URL appear as an environment variable in my container and the ping command to test the S3 connection was successful.

Issue is now resolved: Release v13.0.3 · zammad/zammad-docker-compose · GitHub

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.