Forem Creators and Builders 🌱

Cover image for Mac M1 Pro Docker setup issue
dinozavrix
dinozavrix

Posted on

Mac M1 Pro Docker setup issue

Hi all! I'm having trouble installing Forem containers on a Mac M1 Pro. Can someone from the community help me?

  • macOS Monterey
  • MacBook Pro (16-inch, 2021)
  • Chip Apple M1 Pro

Log after running bin/container-setup:

Attaching to forem_bundle, forem_postgresql, forem_postgresql_test, forem_rails, forem_redis, forem_seed, forem_sidekiq, forem_webpacker, forem_yarn
forem_postgresql_test  | 
forem_postgresql_test  | PostgreSQL Database directory appears to contain a database; Skipping initialization
forem_postgresql_test  | 
forem_postgresql_test  | 2022-07-12 12:27:25.984 UTC [1] LOG:  starting PostgreSQL 13.7 on aarch64-unknown-linux-musl, compiled by gcc (Alpine 11.2.1_git20220219) 11.2.1 20220219, 64-bit
forem_postgresql_test  | 2022-07-12 12:27:25.984 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
forem_postgresql_test  | 2022-07-12 12:27:25.984 UTC [1] LOG:  listening on IPv6 address "::", port 5432
forem_postgresql_test  | 2022-07-12 12:27:25.987 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
forem_postgresql       | 
forem_postgresql       | PostgreSQL Database directory appears to contain a database; Skipping initialization
forem_postgresql       | 
forem_postgresql_test  | 2022-07-12 12:27:26.003 UTC [21] LOG:  database system was shut down at 2022-07-12 12:18:51 UTC
forem_postgresql       | 2022-07-12 12:27:26.014 UTC [1] LOG:  starting PostgreSQL 13.7 on aarch64-unknown-linux-musl, compiled by gcc (Alpine 11.2.1_git20220219) 11.2.1 20220219, 64-bit
forem_postgresql       | 2022-07-12 12:27:26.014 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
forem_postgresql       | 2022-07-12 12:27:26.014 UTC [1] LOG:  listening on IPv6 address "::", port 5432
forem_postgresql_test  | 2022-07-12 12:27:26.022 UTC [1] LOG:  database system is ready to accept connections
forem_postgresql       | 2022-07-12 12:27:26.026 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
forem_postgresql       | 2022-07-12 12:27:26.042 UTC [21] LOG:  database system was shut down at 2022-07-12 12:18:51 UTC
forem_postgresql       | 2022-07-12 12:27:26.056 UTC [1] LOG:  database system is ready to accept connections
forem_redis            | 1:C 12 Jul 2022 12:27:26.072 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
forem_redis            | 1:C 12 Jul 2022 12:27:26.073 # Redis version=6.0.9, bits=64, commit=00000000, modified=0, pid=1, just started
forem_redis            | 1:C 12 Jul 2022 12:27:26.073 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
forem_redis            | 1:M 12 Jul 2022 12:27:26.074 * Running mode=standalone, port=6379.
forem_redis            | 1:M 12 Jul 2022 12:27:26.074 # Server initialized
forem_redis            | 1:M 12 Jul 2022 12:27:26.075 * Ready to accept connections
forem_bundle           | Running command:
forem_bundle           | ./scripts/bundle.sh
forem_yarn             | Running command:
forem_yarn             | yarn install --dev
forem_rails            | 2022/07/12 12:27:26 Waiting for: tcp://db:5432
forem_rails            | 2022/07/12 12:27:26 Waiting for: tcp://redis:6379
forem_rails            | 2022/07/12 12:27:26 Waiting for: file:///opt/apps/forem/vendor/bundle/.bundle_finished
forem_rails            | 2022/07/12 12:27:26 Connected to tcp://db:5432
forem_rails            | 2022/07/12 12:27:26 Connected to tcp://redis:6379
forem_webpacker        | 2022/07/12 12:27:26 Waiting for: file:///opt/apps/forem/node_modules/.bin/webpack-dev-server
forem_webpacker        | 2022/07/12 12:27:26 Waiting for: file:///opt/apps/forem/vendor/bundle/.bundle_finished
forem_seed             | 2022/07/12 12:27:26 Waiting for: tcp://db:5432
forem_seed             | 2022/07/12 12:27:26 Waiting for: tcp://redis:6379
forem_seed             | 2022/07/12 12:27:26 Waiting for: tcp://rails:3000
forem_sidekiq          | 2022/07/12 12:27:26 Waiting for: tcp://db:5432
forem_sidekiq          | 2022/07/12 12:27:26 Waiting for: tcp://redis:6379
forem_sidekiq          | 2022/07/12 12:27:26 Waiting for: tcp://rails:3000
forem_seed             | 2022/07/12 12:27:26 Connected to tcp://redis:6379
forem_sidekiq          | 2022/07/12 12:27:27 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
forem_seed             | 2022/07/12 12:27:27 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
forem_seed             | 2022/07/12 12:27:27 Connected to tcp://db:5432
forem_sidekiq          | 2022/07/12 12:27:27 Connected to tcp://db:5432
forem_sidekiq          | 2022/07/12 12:27:27 Connected to tcp://redis:6379
forem_yarn             | yarn install v1.22.18
forem_yarn             | [1/6] Validating package.json...
forem_yarn             | [2/6] Resolving packages...
forem_webpacker        | 2022/07/12 12:27:36 File file:///opt/apps/forem/node_modules/.bin/webpack-dev-server had been generated
forem_yarn             | success Already up-to-date.
forem_yarn             | $ husky install
forem_yarn             | husky - Git hooks installed
forem_yarn             | Done in 10.60s.
forem_yarn exited with code 0
forem_seed             | 2022/07/12 12:27:47 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
forem_sidekiq          | 2022/07/12 12:27:47 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
forem_sidekiq          | 2022/07/12 12:28:07 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
forem_seed             | 2022/07/12 12:28:07 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
forem_bundle           | Using rake 13.0.6
forem_bundle           | Using concurrent-ruby 1.1.10
forem_bundle           | Using minitest 5.16.2
forem_bundle           | Using builder 3.2.4
forem_bundle           | Using erubi 1.10.0
forem_bundle           | Using crass 1.0.6
forem_bundle           | Using rack 2.2.4
forem_bundle           | Using websocket-extensions 0.1.5
forem_bundle           | Using marcel 1.0.2
forem_bundle           | Using mini_mime 1.1.2
forem_bundle           | Using timeout 0.3.0
forem_bundle           | Using public_suffix 4.0.7
forem_bundle           | Using errbase 0.2.2
forem_bundle           | Using device_detector 1.0.7
forem_bundle           | Using amazing_print 1.4.0
forem_bundle           | Using ruby-next-core 0.15.1
forem_bundle           | Using ast 2.4.2
forem_bundle           | Using aws-eventstream 1.2.0
forem_bundle           | Using aws_cf_signer 0.1.3
forem_bundle           | Using backport 1.2.0
forem_bundle           | Installing nio4r 2.5.8 with native extensions
forem_bundle           | Installing strscan 3.0.3 with native extensions
forem_bundle           | Using benchmark 0.2.0
forem_bundle           | Installing racc 1.6.0 with native extensions
forem_bundle           | Installing digest 3.1.0 with native extensions
forem_bundle           | Using benchmark-ips 2.9.1
forem_bundle           | Using coderay 1.1.3
forem_bundle           | Using smart_properties 1.17.0
forem_bundle           | Using chartkick 4.1.3
forem_bundle           | Using method_source 1.0.0
forem_bundle           | Using thor 1.2.1
forem_bundle           | Using zeitwerk 2.6.0
forem_bundle           | Using brakeman 5.2.3
forem_bundle           | Using browser 5.3.1
forem_bundle           | Using redis 4.7.1
forem_bundle           | Using buftok 0.2.0
forem_bundle           | Using uniform_notifier 1.16.0
forem_bundle           | Using bundler 2.2.22
forem_bundle           | Using matrix 0.4.2
forem_bundle           | Using regexp_parser 2.5.0
forem_bundle           | Using mini_magick 4.11.0
forem_bundle           | Using ssrf_filter 1.0.7
forem_bundle           | Using fastimage 2.2.6
forem_bundle           | Using childprocess 4.1.0
forem_bundle           | Using http-accept 1.7.0
forem_bundle           | Installing bcrypt 3.1.16 with native extensions
forem_bundle           | Installing bindex 0.8.1 with native extensions
forem_bundle           | Installing html_tokenizer 0.0.7 with native extensions
forem_bundle           | Installing msgpack 1.5.2 with native extensions
forem_bundle           | Installing ffi 1.15.5 with native extensions
forem_bundle           | Installing unf_ext 0.0.8.2 with native extensions
forem_bundle           | Using mime-types-data 3.2022.0105
forem_bundle           | Using netrc 0.11.0
forem_bundle           | Using coffee-script-source 1.12.2
forem_bundle           | Using execjs 2.8.1
forem_bundle           | Using connection_pool 2.2.5
forem_bundle           | Using rexml 3.2.5
forem_bundle           | Using dante 0.2.0
forem_bundle           | Using debase-ruby_core_source 0.10.16
forem_bundle           | Using libddprof 0.6.0.1.0 (x86_64-linux)
forem_bundle           | Using dead_end 1.1.7
forem_bundle           | Using memory_profiler 1.0.0
forem_bundle           | Using mini_histogram 0.3.1
forem_bundle           | Using ruby-statistics 2.1.3
forem_bundle           | Using orm_adapter 0.5.0
forem_bundle           | Using diff-lcs 1.5.0
forem_bundle           | Using docile 1.3.5
forem_bundle           | Using dogstatsd-ruby 4.8.3
forem_bundle           | Using dotenv 2.7.6
forem_bundle           | Using e2mmap 0.1.0
forem_bundle           | Using thread 0.2.2
forem_bundle           | Using thread_safe 0.3.6
forem_bundle           | Using emoji_regex 3.2.3
forem_bundle           | Using equalizer 0.0.11
forem_bundle           | Installing io-console 0.5.11 with native extensions
forem_bundle           | Using rainbow 3.1.1
forem_bundle           | Using parallel 1.22.1
forem_bundle           | Using ruby-progressbar 1.11.0
forem_bundle           | Using unicode-display_width 2.2.0
forem_bundle           | Installing json 2.6.2 with native extensions
forem_bundle           | Using excon 0.92.3
forem_bundle           | Using exifr 1.3.9
forem_bundle           | Using faraday-em_http 1.0.0
forem_bundle           | Using faraday-em_synchrony 1.0.0
forem_bundle           | Using faraday-excon 1.1.0
forem_bundle           | Using faraday-httpclient 1.0.1
forem_bundle           | Using multipart-post 2.2.3
forem_bundle           | Using faraday-net_http 1.0.1
forem_bundle           | Using faraday-net_http_persistent 1.2.0
forem_bundle           | Using faraday-patron 1.0.0
forem_bundle           | Using faraday-rack 1.0.0
forem_bundle           | Using faraday-retry 1.0.3
forem_bundle           | Using ruby2_keywords 0.0.5
forem_bundle           | Using fastly 3.0.2
forem_bundle           | Using sax-machine 1.3.2
forem_bundle           | Using rice 4.0.4
forem_bundle           | Using flipper 0.25.0
forem_bundle           | Using formatador 1.1.0
forem_bundle           | Using multi_json 1.15.0
forem_bundle           | Using front_matter_parser 1.0.1
forem_bundle           | Using raabro 1.4.0
forem_bundle           | Using gemoji 4.0.0.rc3
forem_bundle           | Using google-protobuf 3.19.4 (x86_64-linux)
forem_bundle           | Using rb-fsevent 0.11.0
forem_bundle           | Using lumberjack 1.2.8
forem_bundle           | Using nenv 0.3.0
forem_bundle           | Using shellany 0.0.1
forem_bundle           | Using guard-compat 1.2.1
forem_bundle           | Using rspec-support 3.11.0
forem_bundle           | Using sexp_processor 4.16.0
forem_bundle           | Using hashdiff 1.0.1
forem_bundle           | Using hashie 5.0.0
forem_bundle           | Using highline 2.0.3
forem_bundle           | Using hkdf 0.3.0
forem_bundle           | Using honeybadger 4.12.1
forem_bundle           | Using http-form_data 2.3.0
forem_bundle           | Using http-2 0.11.0
forem_bundle           | Using multi_xml 0.6.0
forem_bundle           | Using httpclient 2.8.3
forem_bundle           | Using jwt 2.3.0
forem_bundle           | Using kaminari-core 1.2.2
forem_bundle           | Using knapsack_pro 3.2.1
forem_bundle           | Using liquid 5.3.0
forem_bundle           | Using nesty 1.0.2
forem_bundle           | Using nakayoshi_fork 0.0.4
forem_bundle           | Using naught 1.1.0
forem_bundle           | Using oauth 0.5.6
forem_bundle           | Installing http_parser.rb 0.6.0 with native extensions
forem_bundle           | Using rack-timeout 0.6.3
forem_bundle           | Using rolify 6.0.0
forem_bundle           | Installing jaro_winkler 1.5.4 with native extensions
forem_bundle           | Using rouge 3.29.0
forem_bundle           | Installing pg 1.4.1 with native extensions
forem_bundle           | Installing redcarpet 3.5.1 with native extensions
forem_bundle           | Using rubyzip 2.3.2
forem_bundle           | Installing oj 3.13.16 with native extensions
forem_bundle           | Using tilt 2.0.10
forem_bundle           | Using semantic_range 3.0.0
forem_bundle           | Using simple_oauth 0.3.1
forem_bundle           | Using simplecov-html 0.12.3
forem_bundle           | Installing ruby-prof 1.4.3 with native extensions
forem_bundle           | Installing patron 0.13.3 with native extensions
forem_bundle           | Using simplecov_json_formatter 0.1.2
forem_bundle           | Using slack-notifier 2.4.0
forem_bundle           | Using webrick 1.7.0
forem_bundle           | Using staccato 0.5.3
forem_bundle           | Installing stackprof 0.2.19 with native extensions
forem_sidekiq          | 2022/07/12 12:28:27 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
forem_seed             | 2022/07/12 12:28:27 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
forem_seed             | 2022/07/12 12:28:47 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
forem_sidekiq          | 2022/07/12 12:28:47 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
forem_bundle           | Using stripe 5.55.0
forem_bundle           | Using test-prof 1.0.9
forem_bundle           | Using timecop 0.9.5
forem_bundle           | Using vcr 6.1.0
forem_bundle           | Using wcag_color_contrast 0.1.0
forem_bundle           | Using zonebie 0.6.1
forem_bundle           | Using i18n 1.10.0
forem_bundle           | Using tzinfo 2.0.4
forem_bundle           | Using aws-sigv4 1.5.0
forem_bundle           | Using addressable 2.8.0
forem_bundle           | Using heapy 0.2.0
forem_bundle           | Using pry 0.14.1
forem_bundle           | Using net-protocol 0.1.3
forem_bundle           | Using safely_block 0.3.0
forem_bundle           | Using brpoplpush-redis_script 0.1.2
forem_bundle           | Using bundler-audit 0.9.1
forem_bundle           | Using fakeredis 0.8.0
forem_bundle           | Using redis-store 1.9.0
forem_bundle           | Using mime-types 3.4.1
forem_bundle           | Using parser 3.1.2.0
forem_bundle           | Using katex 0.9.0
forem_bundle           | Using uglifier 4.2.0
forem_bundle           | Using anyway_config 2.3.0
forem_bundle           | Using coffee-script 2.4.1
forem_bundle           | Installing websocket-driver 0.7.5 with native extensions
forem_seed             | 2022/07/12 12:29:07 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
forem_sidekiq          | 2022/07/12 12:29:07 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
forem_seed             | 2022/07/12 12:29:27 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
forem_sidekiq          | 2022/07/12 12:29:27 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
forem_seed             | 2022/07/12 12:29:47 Problem with dial: dial tcp 172.21.0.7:3000: connect: connection refused. Sleeping 20s
...
Enter fullscreen mode Exit fullscreen mode

After 45min timeot it's stops

in forem_bundle container last log

Using rspec-mocks 3.11.1
Using ruby_parser 3.18.1
Using terminal-table 3.0.2
Using net-http2 0.18.4
Installing pg_query 2.1.3 with native extensions
Installing websocket-driver 0.7.5 with native extensions
Enter fullscreen mode Exit fullscreen mode

Not sure is this right but I tried run gem install websocket-driver -v 0.7.5 --verbose inside forem_bundle container and it's stuck after

Building native extensions. This could take a while...
current directory: /usr/local/share/gems/gems/websocket-driver-0.7.5/ext/websocket-driver
["/usr/bin/ruby", "-I", "/usr/share/rubygems", "-r", "./siteconf20220712-575-9lvnei.rb", "extconf.rb"]
creating Makefile
current directory: /usr/local/share/gems/gems/websocket-driver-0.7.5/ext/websocket-driver
["make", "DESTDIR=", "clean"]
rm -f 
rm -f websocket_mask.so  *.o  *.bak mkmf.log .*.time
current directory: /usr/local/share/gems/gems/websocket-driver-0.7.5/ext/websocket-driver
["make", "DESTDIR="]
Enter fullscreen mode Exit fullscreen mode

if then press Ctrl+C it's return

^C#<Thread:0x000000400825bcf8 /usr/share/ruby/open3.rb:403 run> terminated with exception (report_on_exception is true):
/usr/share/ruby/open3.rb:403:in `read': stream closed in another thread (IOError)
    from /usr/share/ruby/open3.rb:403:in `block (2 levels) in capture2e'
ERROR:  Interrupted
Enter fullscreen mode Exit fullscreen mode

Top comments (2)

Collapse
 
mercy_thuyle profile image
WhiTExB3AR

Hello, did you fixed? I stuck too. I using postgresql from aws and this log comeout mores than using container postgresql from docker-compose file.

Collapse
 
dinozavrix profile image
dinozavrix Author

Hi, I have installed Ubuntu ARM as a VM on UTM and I am using the non-docker version of the installation. Got a lot of bug reports (because of ARM), fix them one by one via stackoverflow, random commands and software updates