docs icon indicating copy to clipboard operation
docs copied to clipboard

Instructions for deploying on AWS ElasticBeanstalk do not seem to work

Open dkarchmer opened this issue 6 years ago • 6 comments

Trying to install demo project on AWS Beanstalk, using instructions from https://docs.mattermost.com/install/docker-ebs.html.

The instructions describe how all I need is the Dockerrun.aws.json file, but when I launch the environment with that, the deployment works, but the server does not seem to run.

https://raw.githubusercontent.com/mattermost/mattermost-docker/master/contrib/aws/Dockerrun.aws.json

When launched, I get 502 - Bad Gateway

Looking at the logs, I see:

-------------------------------------
/var/log/containers/app-cc7aa1b80387-stdouterr.log
-------------------------------------
No configuration file /mattermost/config/config.json
Creating a new one
cp: can't create '/mattermost/config/config.json': Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
/entrypoint.sh: line 82: can't create /mattermost/config/config.json.tmp: Permission denied
Configure database connection...OK
Wait until database db:5432 is ready...
Starting mattermost
{"level":"info","msg":"Stopping Server..."}
{"level":"info","msg":"stopping websocket hub connections"}
{"level":"warn","msg":"We appear to have already sent the stop checking for deadlocks command"}
{"level":"info","msg":"Server stopped"}
{"level":"error","msg":"LoadConfig: Error opening config file=config.json, err=no config file found, "}
Error: LoadConfig: Error opening config file=config.json, err=no config file found, 
Usage:
  mattermost [flags]
  mattermost [command]

Available Commands:
  channel     Management of channels
  command     Management of slash commands
  config      Configuration
  export      Export data from Mattermost
  help        Help about any command
  import      Import data.
  jobserver   Start the Mattermost job server
  ldap        LDAP related utilities
  license     Licensing commands
  permissions Management of the Permissions system
  plugin      Management of plugins
  reset       Reset the database to initial state
  roles       Management of user roles
  sampledata  Generate sample data
  server      Run the Mattermost server
  team        Management of teams
  user        Management of users
  version     Display version information

Flags:
  -c, --config string        Configuration file to use. (default "config.json")
      --disableconfigwatch   When set config.json will not be loaded from disk when the file is changed.
  -h, --help                 help for mattermost

Use "mattermost [command] --help" for more information about a command.

dkarchmer avatar Sep 23 '18 22:09 dkarchmer

Hi @dkarchmer, thank you for reaching out.

The log shows a permission error, can you help check if you set the correct access rights for your volumes (https://github.com/mattermost/mattermost-docker#start)?

If that doesn't help, I'll ask our devs to help with this further.

amyblais avatar Sep 26 '18 18:09 amyblais

@amyblais I'd appreciate a second look at this - after trying to use it myself, I think the documentation linked by @dkarchmer is incomplete.

The issue is that we don't control the Dockerfiles for the images and so can't set permissions on the volumes. We'd have build and upload our own version of the Mattermost docker images, and upload a modified Dockerrun.aws.json file that references them. Moreover, once we throw the Dockerrun.aws.json over to EBS, the build process is automated and doesn't give the admin a straightforward way to determine the UID/GID (also set in the Dockerfile we don't control) being used by EBS.

llhhaa avatar Dec 29 '19 00:12 llhhaa

Hi @llhhaa ! Were you able to find a solution to the problem ? Thanks

Naman-Bhalla avatar Apr 13 '20 22:04 Naman-Bhalla

I ran into this issue as well. Any workarounds / fixes ?

vinodhrajagopal avatar Sep 12 '20 21:09 vinodhrajagopal

I have the same question 🙋

mahenzon avatar Jan 26 '21 23:01 mahenzon

@svelle - Is there an opportunity to assist with this issue through the creation of a Knowledge Base article?

cwarnermm avatar Jan 21 '22 14:01 cwarnermm