I am trying to run mattermost-docker 4.10.1 on an AWS EC2.
And I want my app
container to connect to a custom AWS RDS. So I made the following changes to docker-compose.yml
file:
db
container.```
version: "2"
services:
-
- db:
- build: db
- read_only: true
- restart: unless-stopped
- volumes:
- - ./volumes/db/var/lib/postgresql/data:/var/lib/postgresql/data
- - /etc/localtime:/etc/localtime:ro
- environment:
- - POSTGRES_USER=mmuser
- - POSTGRES_PASSWORD=mmuser_password
- - POSTGRES_DB=mattermost
- # uncomment the following to enable backup
- # - AWS_ACCESS_KEY_ID=XXXX
- # - AWS_SECRET_ACCESS_KEY=XXXX
- # - WALE_S3_PREFIX=s3://BUCKET_NAME/PATH
- # - AWS_REGION=us-east-1
-
app:
build:
context: app
# comment out following lines for team edition or change UID/GID
- # args:
- # - edition=team
- # - PUID=1000
- # - PGID=1000
+ args:
+ - edition=team
+ - PUID=1000
+ - PGID=1000
restart: unless-stopped
volumes:
- ./volumes/app/mattermost/config:/mattermost/config:rw
@@ -35,12 +17,17 @@ services:
- /etc/localtime:/etc/localtime:ro
environment:
# set same as db credentials and dbname
- - MM_USERNAME=mmuser
- - MM_PASSWORD=mmuser_password
- - MM_DBNAME=mattermost
+ - MM_USERNAME=myusername
+ - MM_PASSWORD=mypassword
+ - MM_DBNAME=my-mattermost
+ - DB_HOST=myrds.rds.amazonaws.com
+ - DB_PORT_NUMBER=3306
+ - MM_SQLSETTINGS_DRIVERNAME=mysql
+ -
MM_SQLSETTINGS_DATASOURCE="myusername:mypassword@tcp(myrds.rds.amazonaws.com:3306)/my-mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"
+
# in case your config is not in default location
#- MM_CONFIG=/mattermost/config/config.json
-
web:
build: web
ports:
@@ -52,6 +39,6 @@ services:
# This directory must have cert files if you want to enable SSL
- ./volumes/web/cert:/cert:ro
- /etc/localtime:/etc/localtime:ro
- # Uncomment for SSL
- # environment:
- # - MATTERMOST_ENABLE_SSL=true
+ environment:
+ - APP_HOST=app
+
```
Then I got Failed to ping DB retrying in 10 seconds err=time: unknown unit s\" in duration 30s\"
error when I run the docker-compose by using docker-compose up -d
.
The error message can be found at volumes/app/mattermost/logs/mattermost.log
.
Why does this happen? I haven't found anything that specifies the unit of time in the config files.
I've confirmed that my EC2 is able to connect to my RDS by running mysql -h myrds.rds.amazonaws.com -umyusername -pmypassword
.
Anyone know how to replace the mattermost db
container with AWS RDS?
After removing the double quotes from MM_SQLSETTINGS_DATASOURCE
variable, the problem is solved.
I mean I change the line MM_SQLSETTINGS_DATASOURCE="myusername:mypassword@tcp(myrds.rds.amazonaws.com:3306)/my-mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"
to
MM_SQLSETTINGS_DATASOURCE=myusername:mypassword@tcp(myrds.rds.amazonaws.com:3306)/my-mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s