I'm trying to deploy the rails app using Kamal, but the deployment fails during the docker login step with the following error:
ERROR (SSHKit::Command::Failed): docker exit status: 256
docker stdout: Nothing written
docker stderr: WARNING! Using --password via the CLI is insecure. Use --password-stdin.
<3>WSL (170175) ERROR: UtilAcceptVsock:250: accept4 failed 110
Error saving credentials: error storing credentials - err: exit status 1, out:
Environment Details
here is the deploy.yml
service: writehub
image: ibunhabibu/writehub
servers:
web:
- 45.52.19.17
proxy:
ssl: true
host: writehub.cyou
app_port: 3000
registry:
username: ibunhabibu
password:
- KAMAL_REGISTRY_PASSWORD
env:
secret:
- RAILS_MASTER_KEY
- POSTGRES_PASSWORD
- POSTGRES_USER
- GOOGLE_API
- PIXABAY
- OPEN_WEATHER
ssh:
user: deployer
accessories:
db:
image: postgres:15
host: 45.52.19.17
port: "127.0.0.1:5434:5434"
env:
clear:
POSTGRES_USER: 'postgres'
POSTGRES_DB: 'writehub_production'
secret:
- POSTGRES_USER
- POSTGRES_PASSWORD
Here is .env file
KAMAL_REGISTRY_PASSWORD='dckr_pat_dockercredentials'
POSTGRES_PASSWORD='Myverylongstringpswd'
POSTGRES_USER='postgres'
GOOGLE_API='GoogleApipasword'
PIXABAY='pixabaitoken'
OPEN_WEATHER='openweathertoken'
also here is .kamal/secrets
# Grab the registry password from ENV
KAMAL_REGISTRY_PASSWORD=$KAMAL_REGISTRY_PASSWORD
GOOGLE_API=$GOOGLE_API
PIXABAY=$PIXABAY
OPEN_WEATHER=$OPEN_WEATHER
POSTGRES_PASSWORD=$POSTGRES_PASSWORD
POSTGRES_USER=$POSTGRES_USER
# Improve security by using a password manager. Never check config/master.key into git!
RAILS_MASTER_KEY=$(cat config/master.key)
How can I resolve this error during Kamal deployment? Any help would be greatly appreciated
I found the answer from this link Since I'm using wsl2 ubuntu
I navigated to the Ubuntu terminal using the following command
ibunhabibu@DESKTOP-RG3E4I0:/mnt/c/Users/projects/rails/writehub$ cd ~
ibunhabibu@DESKTOP-RG3E4I0:~$ cd .docker/
ibunhabibu@DESKTOP-RG3E4I0:~/.docker$ nano config.json
then I edited it from
{
"credsStore": "desktop.exe"
}
to
{
"credStore": "desktop.exe"
}
after removing s in credsStore the problems solved