Я пытаюсь развернуть Strapi на экземпляре Dokku на капле Digital Ocean. Первоначально я столкнулся с некоторыми проблемами, связанными с базой данных mon go, но после некоторых проб и ошибок и тщательного изучения этих документов и этой проблемы , я смог получить чтобы перестать жаловаться на подключение mon go. Вот мой последний config/environments/production/database.json
{
"defaultConnection": "default",
"connections": {
"default": {
"connector": "mongoose",
"settings": {
"client": "mongo",
"uri": "${process.env.MONGO_URL}",
"database": "${process.env.DATABASE_NAME}",
"username": "${process.env.DATABASE_USERNAME}",
"password": "${process.env.DATABASE_PASSWORD}",
"port": "${process.env.DATABASE_PORT || 27017}"
},
"options": {
"authenticationDatabase": "${process.env.DATABASE_AUTHENTICATION_DATABASE || ''}",
"useUnifiedTopology": "${process.env.USE_UNIFIED_TOPOLOGY || false}",
"ssl": "${process.env.DATABASE_SSL || false}"
}
}
}
}
Вот мой config/environments/production/server.json
{
"host": "${process.env.HOST || '0.0.0.0'}",
"port": "${process.env.PORT || 1337}",
"production": true,
"proxy": {
"enabled": false
},
"cron": {
"enabled": false
},
"admin": {
"autoOpen": false
}
}
Я считаю, что первоначальная проблема заключалась в том, что я случайно использовал переменную PORT
для базы данных вместо переменной DATABASE_PORT
.
Однако, теперь, когда у меня это сработало, я получаю эту ошибку:
error Error: listen EADDRNOTAVAIL: address not available <my-host-ip>:5000
Я подумал, что может быть где-то кешируется неправильный порт, но независимо из того, что я делаю, я не могу заставить его работать. Нужно ли включать ssl? а затем добавить сертификат letsencrypt в мой домен? я использую неправильные порты? установить прокси в server.json
?
PS. Я использую Dokku Mon go. Не думал, что это будет проблемой, если учесть, что динамовцы не спят, как на геройке. Это неверное предположение?
Кроме того, на дроплете работают и другие приложения. Может быть проблема с прокси?