[openstreetmap/openstreetmap-website] docker-compose up fails to start the rails app (#3307)

mjourdan notifications at github.com
Mon Aug 30 19:01:05 UTC 2021


Trying to set up a docker environment for development purpose, I can't start the rails app.

## Expected results

Both db and web containers are up and running.

## Actual results

Web container fails to start
```
$ podman container ps                          
CONTAINER ID  IMAGE                                      COMMAND     CREATED             STATUS                 PORTS                                            NAMES
a437c0252abe  k8s.gcr.io/pause:3.5                                   About a minute ago  Up About a minute ago  0.0.0.0:3000->3000/tcp, 0.0.0.0:54321->5432/tcp  1402443868a8-infra
45a786d9668a  localhost/openstreetmap-website_db:latest  postgres    About a minute ago  Up About a minute ago  0.0.0.0:3000->3000/tcp, 0.0.0.0:54321->5432/tcp  openstreetmap-website_db_1
```
```
$ podman logs openstreetmap-website_web_1
Usage:
  rails new APP_PATH [options]

Options:
[…]
Example:
    rails new ~/Code/Ruby/weblog

    This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
```

## Procedure to reproduce

Following the instructions from [DOCKER.md](https://github.com/openstreetmap/openstreetmap-website/blob/master/DOCKER.md).Using podman for managing containers.

```
$ cd ~/git/openstreetmap-website/
$ git branch
* master
$ git pull
Already up to date.
```

Initial setup

```
$ cat config/storage.yml 
test:
  service: Disk
  root: <%= Rails.root.join("tmp/storage") %>

local:
  service: Disk
  root: <%= Rails.root.join("storage") %>
 
```
```
$ cat config/database.yml 
# This configuration is tailored for use with docker-compose. See DOCKER.md for more information.

development:
  adapter: postgresql
  database: openstreetmap
  username: openstreetmap
  password: openstreetmap
  host: db
  encoding: utf8

# Warning: The database defined as 'test' will be erased and
# re-generated from your development database when you run 'rake'.
# Do not set this db to the same as development or production.
test:
  adapter: postgresql
  database: osm_test
  username: openstreetmap
  password: openstreetmap
  host: db
  encoding: utf8
```
```
$ ls config/settings.local.yml 
config/settings.local.yml
```
Installation

```
$ podman-compose build
using podman version: podman version 3.3.0
podman build -t openstreetmap-website_db -f ./docker/postgres/Dockerfile .
STEP 1/3: FROM postgres:11
STEP 2/3: ADD docker/postgres/openstreetmap-postgres-init.sh /docker-entrypoint-initdb.d/
--> Using cache d9ca2dbbec216e10cdae6cad099d7d82014eed578cdbe0a8704b3973e9f2a2f1
--> d9ca2dbbec2
STEP 3/3: ADD db/functions/functions.sql /usr/local/share/osm-db-functions.sql
--> Using cache 9b536f5a461a6dbd65b8fecc7b5e6037124f8859ab7a90b93180f2266fdbe135
COMMIT openstreetmap-website_db
--> 9b536f5a461
Successfully tagged localhost/openstreetmap-website_db:latest
9b536f5a461a6dbd65b8fecc7b5e6037124f8859ab7a90b93180f2266fdbe135
0
podman build -t openstreetmap-website_web -f ./Dockerfile .
STEP 1/11: FROM ubuntu:20.04
STEP 2/11: ENV DEBIAN_FRONTEND=noninteractive
--> Using cache d0bccaeabea15b826bfe3c28a9407108e95206b8cc968a54ca1080041ae5d3aa
--> d0bccaeabea
STEP 3/11: RUN apt-get update  && apt-get install --no-install-recommends -y       build-essential       curl       default-jre-headless       file       firefox-geckodriver       imagemagick       libarchive-dev       libffi-dev       libgd-dev       libmagickwand-dev       libpq-dev       libsasl2-dev       libxml2-dev       libxslt1-dev       locales       nodejs       postgresql-client       ruby2.7       ruby2.7-dev       tzdata       unzip       yarnpkg  && apt-get clean  && rm -rf /var/lib/apt/lists/*
--> Using cache 599c216b3b5f953c9dbd35d93fabd264f5562a3855fe39b81efa20b5d08fb463
--> 599c216b3b5
STEP 4/11: RUN curl -OL https://github.com/openstreetmap/osmosis/releases/download/0.47.2/osmosis-0.47.2.tgz  && tar -C /usr/local -xzf osmosis-0.47.2.tgz
--> Using cache 98790c084286efc6e5285b761a32182ce54237e074df80ff8ec93e7a33ea9f3b
--> 98790c08428
STEP 5/11: ENV DEBIAN_FRONTEND=dialog
--> Using cache b3fbadb3ccd6cadd2ffd2106ebbbd04288215ad4784d1a56ad03577902c028e2
--> b3fbadb3ccd
STEP 6/11: RUN mkdir -p /app
--> Using cache c00fea05afa9366dee1b22128e97ac42f96769c6013805403c4500435f542ed9
--> c00fea05afa
STEP 7/11: WORKDIR /app
--> Using cache d8988ea4fe4874c2b8e86f99d62d6b9c70882c32f3d3b02acbca7a69dbcf39da
--> d8988ea4fe4
STEP 8/11: ADD Gemfile Gemfile.lock /app/
--> 98b0a67144c
STEP 9/11: RUN gem install bundler  && bundle install
[…]
version 2.3.0.
--> aa17ab1f0d8
STEP 10/11: ADD package.json yarn.lock /app/
--> 642c46d929b
STEP 11/11: RUN yarnpkg --ignore-engines install
yarn install v1.22.4
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 11.46s.
COMMIT openstreetmap-website_web
--> 643782b9afc
Successfully tagged localhost/openstreetmap-website_web:latest
643782b9afc1e5f2e1aa6b880a280a9754fa36e4b774cd32cc0480729341688e
0
```

```
$ podman-compose up -d
using podman version: podman version 3.3.0
podman pod create --name=openstreetmap-website --share net -p 3000:3000 -p 54321:5432
1402443868a85f29b42eb82214529cc670bede43101a4a4052e924035c5366d5
0
podman volume inspect openstreetmap-website_db-data || podman volume create openstreetmap-website_db-data
podman run --name=openstreetmap-website_db_1 -d --pod=openstreetmap-website --label io.podman.compose.config-hash=123 --label io.podman.compose.project=openstreetmap-website --label io.podman.compose.version=0.0.1 --label com.docker.compose.container-number=1 --label com.docker.compose.service=db -e POSTGRES_HOST_AUTH_METHOD=trust -e POSTGRES_DB=openstreetmap -v openstreetmap-website_db-data:/var/lib/postgresql/data --add-host web:127.0.0.1 --add-host openstreetmap-website_web_1:127.0.0.1 --add-host db:127.0.0.1 --add-host openstreetmap-website_db_1:127.0.0.1 openstreetmap-website_db
45a786d9668a1798a07f197e9bbd23e13fd3b59b06b9b15b50b99dd1e8b56274
0
podman volume inspect openstreetmap-website_web_980ecf45fd3a8e031fb1d1ad0ec090254f45e1ef78f818d4c5f470a3af95f563 || podman volume create openstreetmap-website_web_980ecf45fd3a8e031fb1d1ad0ec090254f45e1ef78f818d4c5f470a3af95f563
podman volume inspect openstreetmap-website_web_ffb7139eba426b196c5b4a0a81d360bbea015e64384a016baae0c0e81c41520c || podman volume create openstreetmap-website_web_ffb7139eba426b196c5b4a0a81d360bbea015e64384a016baae0c0e81c41520c
podman volume inspect openstreetmap-website_web-traces || podman volume create openstreetmap-website_web-traces
podman volume inspect openstreetmap-website_web-images || podman volume create openstreetmap-website_web-images
podman run --name=openstreetmap-website_web_1 -d --pod=openstreetmap-website --label io.podman.compose.config-hash=123 --label io.podman.compose.project=openstreetmap-website --label io.podman.compose.version=0.0.1 --label com.docker.compose.container-number=1 --label com.docker.compose.service=web -v /home/mjourdan/git/openstreetmap-website/.:/app -v openstreetmap-website_web_980ecf45fd3a8e031fb1d1ad0ec090254f45e1ef78f818d4c5f470a3af95f563:/app/node_modules/ -v openstreetmap-website_web_ffb7139eba426b196c5b4a0a81d360bbea015e64384a016baae0c0e81c41520c:/app/tmp/ -v openstreetmap-website_web-traces:/home/osm/traces -v openstreetmap-website_web-images:/home/osm/images --add-host web:127.0.0.1 --add-host openstreetmap-website_web_1:127.0.0.1 --add-host db:127.0.0.1 --add-host openstreetmap-website_db_1:127.0.0.1 openstreetmap-website_web bundle exec rails s -p 3000 -b 0.0.0.0
98453459aedfa9c6bfaae345f778a3dbb766969d009f557ed19e45ada3e5ba3a
0
```

Am I missing something?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/issues/3307
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/rails-dev/attachments/20210830/225e4da9/attachment.htm>


More information about the rails-dev mailing list