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

Discussion (0)