ruby-china / homeland-docker Goto Github PK
View Code? Open in Web Editor NEW🚀 Deployment Homeland with Docker
License: MIT License
🚀 Deployment Homeland with Docker
License: MIT License
docker-compose run web ash -c '/root/.acme.sh/acme.sh --installcert --home /home/app/ssl -d $cert_domain --keypath /home/app/ssl/homeland.key --fullchainpath /home/app/ssl/homeland.crt --reloadcmd "nginx -s reload"'
Starting homeland_redis ...
Starting homeland_postgresql ...
Starting homeland_elasticsearch ... done
Starting homeland_worker ...
Starting homeland_app ...
Starting homeland_app_backup ... done
[Sun May 5 16:35:55 UTC 2019] Installing key to:/home/app/ssl/homeland.key
[Sun May 5 16:35:55 UTC 2019] Installing full chain to:/home/app/ssl/homeland.crt
[Sun May 5 16:35:55 UTC 2019] Run reload cmd: nginx -s reload
nginx: [error] open() "/run/nginx/nginx.pid" failed (2: No such file or directory)
[Sun May 5 16:35:55 UTC 2019] Reload error for :
homeland 自带的 markdown 解释器和 latex 语法有冲突,能不能允许调用外部的 pandoc 来将 markdown 部分转行为 html 呢?
app.env的SECRET_KEY_BASE这样明文不会有问题?
elasticsearch 不能正常启动哦。
Starting homeland_elasticsearch ... done
=> Booting Homeland
=> Plugins:
rake aborted!
Faraday::ConnectionFailed: Failed to open TCP connection to elasticsearch:9200 (getaddrinfo: Name does not resolve)
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/adapter/net_http.rb:152:in request_via_request_method' /home/app/homeland/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/adapter/net_http.rb:137:in
request_with_wrapped_block'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/adapter/net_http.rb:128:in perform_request' /home/app/homeland/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/adapter/net_http.rb:70:in
block in call'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/adapter.rb:60:in connection' /home/app/homeland/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/adapter/net_http.rb:68:in
call'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/rack_builder.rb:153:in build_response' /home/app/homeland/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/connection.rb:492:in
run_request'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/elasticsearch-transport-7.6.0/lib/elasticsearch/transport/transport/http/faraday.rb:27:in block in perform_request' /home/app/homeland/vendor/bundle/ruby/2.7.0/gems/elasticsearch-transport-7.6.0/lib/elasticsearch/transport/transport/base.rb:274:in
perform_request'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/elasticsearch-transport-7.6.0/lib/elasticsearch/transport/transport/http/faraday.rb:24:in perform_request' /home/app/homeland/vendor/bundle/ruby/2.7.0/gems/elasticsearch-transport-7.6.0/lib/elasticsearch/transport/client.rb:163:in
perform_request'
我的开发环境是2.4.1,base是2.4.0
我本地2.4.0会有一个nokogiri会报错。google了很久都没解决。
2.4.1没有问题。 所以想通过升级解决。
make[1]: Entering directory '/home/lio/homeland-docker'
SECRET_KEY_BASE=a2532fac34ac549b75d792e823eff3d8598e191dcd88656bc9e45ae61526ebc0
make[1]: Leaving directory '/home/lio/homeland-docker'
Creating network "homelanddocker_default" with the default driver
Creating homeland_elasticsearch ...
Creating homeland_postgresql ...
Creating homeland_redis ...
Creating homeland_elasticsearch
Creating homeland_redis
Creating homeland_elasticsearch ... done
Starting homeland_elasticsearch ...
Starting homeland_redis ... done
Starting homeland_postgresql ... done
rails aborted!
PG::ConnectionBad: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/pg-1.1.3/lib/pg.rb:56:in initialize' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/pg-1.1.3/lib/pg.rb:56:in
new'
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/pg-1.1.3/lib/pg.rb:56:in connect' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/connection_adapters/postgresql_adapter.rb:684:in
connect'
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/connection_adapters/postgresql_adapter.rb:215:in initialize' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/connection_adapters/postgresql_adapter.rb:40:in
new'
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/connection_adapters/postgresql_adapter.rb:40:in postgresql_connection' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:809:in
new_connection'
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:853:in checkout_new_connection' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:832:in
try_to_checkout_new_connection'
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:793:in acquire_connection' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:521:in
checkout'
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:380:in connection' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:1008:in
retrieve_connection'
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/connection_handling.rb:118:in retrieve_connection' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/connection_handling.rb:90:in
connection'
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/tasks/database_tasks.rb:172:in migrate' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1.1/lib/active_record/railties/databases.rake:60:in
block (2 levels) in
block in perform' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.1.1/lib/rails/commands/rake/rake_command.rb:20:in
perform'invoke' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.1.1/lib/rails/commands.rb:18:in
'require' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in
block in require_with_bootsnap_lfi'register' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in
require_with_bootsnap_lfi'require' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.1.1/lib/active_support/dependencies.rb:287:in
block in require'load_dependency' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.1.1/lib/active_support/dependencies.rb:287:in
require'appendonly.aof写入正常,但是阅读量不定时清零。post:{postId}:hits 这个key
如题:
docker部署的线上环境访问 /api 重定向到了 / api-doc 然后是404?
ruby-build
和 homeland
的 bundle install --deployment
都没问题。# Dockerfile 需要加环境变量
ENV CONFIGURE_OPTS="ac_cv_func_isnan=yes ac_cv_func_isinf=yes --disable-install-doc" \
NOKOGIRI_USE_SYSTEM_LIBRARIES=1
# gem install bundler 后需要设:
bundle config --global silence_root_warning 1
bundle config --global build.nokogiri --use-system-libraries
# https://raw.githubusercontent.com/huacnlee/init.d/4c3e898ddee98a2e66db2f2769ac34d8fa8d898d/install_packages
# Basic Commands
apk add --update --no-cache --virtual .tools \
bash \
ca-certificates \
curl \
git \
htop \
tar \
tzdata \
openssh-client \
libressl \
vim \
&& rm -rf /var/cache/apk/*
# Build Requirements
apk add --update --no-cache --virtual .build-deps \
build-base \
libc-dev \
libevent-dev \
libgcc \
libressl-dev \
libstdc++ \
linux-headers \
pcre-dev \
readline-dev \
yaml-dev \
zlib-dev \
&& rm -rf /var/cache/apk/*
# Rails Requirements
apk add --update --no-cache --virtual .ruby-deps \
libffi-dev \
libgcrypt-dev \
libxslt-dev \
libxml2-dev \
&& rm -rf /var/cache/apk/*
# GEM Requirements
apk add --update-cache --no-cache --virtual .gems-deps \
hiredis-dev \
imagemagick \
imagemagick-dev \
postgresql-dev \
curl-dev \
&& rm -rf /var/cache/apk/*
# Node.js
apk add --update --no-cache --virtual .nodejs \
nodejs-current \
nodejs-current-npm \
libsass \
sassc \
&& rm -rf /var/cache/apk/*
# nginx
# https://raw.githubusercontent.com/huacnlee/init.d/master/install_nginx
apk add --update --no-cache --virtual .nginx \
nginx \
nginx-mod-http-image-filter \
nginx-mod-http-geoip \
&& rm -rf /var/cache/apk/*
# OK: 412 MiB in 126 packages
在非docker模式下部署HTTPS,使用腾讯系应用的内置浏览器是可以访问的,例如:ruby-china.org
在docker模式下部署HTTPS,使用腾讯系系应用的内置浏览器是不可以访问的,抓包看了半天没弄出个所以然
不可能是TX的问题,因为ruby-china.org可以访问,docker模式下却不行(用https),建议开发者测试一下
I'm using https with nginx, show the error once open the page:
WebSocket connection to 'wss://example.com/cable' failed: Error during WebSocket handshake: Unexpected response code: 404
The related log /var/www/log/homeland-error.log
:
2016/12/28 05:59:21 [error] 5#5: *6 connect() failed (111: Connection refused) while connecting to upstream, client: x.x.x.x, server: example.com, request: "GET /cable HTTP/1.1", upstream: "http://192.168.0.6:7000/cable", host: "example.com"
Hope to get help for this.
Hey, can someone update the documentation of the docker installation process to include the latest version 3.9.0 and make the default locale to en..please.
macOS 10.12.2 Beta
docker version
Docker version 1.12.3, build 6b644ec
docker-compose
docker-compose version 1.8.1, build 878cff1
docker-py version: 1.10.3
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.2h 3 May 2016
Using rake 11.3.0
Using concurrent-ruby 1.0.2
Using i18n 0.7.0
Using minitest 5.9.1
Using thread_safe 0.3.5
Using builder 3.2.2
Using erubis 2.7.0
Using mini_portile2 2.1.0
Using rack 2.0.1
Using nio4r 1.2.1
Using websocket-extensions 0.1.2
Using mime-types-data 3.2016.0521
Using jsonapi-parser 0.1.1.beta3
Using jsonapi-renderer 0.1.1.beta1
Using method_source 0.8.2
Using thor 0.19.1
Using arel 7.1.4
Using addressable 2.4.0
Using multi_xml 0.5.5
Using ast 2.3.0
Using bcrypt 3.1.11
Using benchmark-ips 2.7.2
Using coderay 1.1.1
Using debug_inspector 0.0.2
Using bundler 1.13.6
Using byebug 9.0.6
Using cancancan 1.15.0
Using json 2.0.2
Using mimemagic 0.3.2
Using multipart-post 2.0.0
Using docile 1.1.5
Using simplecov-html 0.10.0
Using url 0.3.2
Using coffee-script-source 1.10.0
Using execjs 2.7.0
Using connection_pool 2.2.0
Using dalli 2.7.6
Using database_cleaner 1.5.3
Using get_process_mem 0.2.1
Using heapy 0.1.2
Using memory_profiler 0.9.6
Using orm_adapter 0.5.0
Using diff-lcs 1.2.5
Using doorkeeper-i18n 3.0.0
Using multi_json 1.12.1
Using hashie 3.4.6
Using elasticsearch-rails 0.1.9 from https://github.com/elasticsearch/elasticsearch-rails (at master@1576124)
Using ffi 1.9.14
Using hiredis 0.6.1
Using rouge 1.11.1
Using http_accept_language 2.0.5
Using jasmine-core 2.5.2
Using phantomjs 2.1.1.0
Using jquery-atwho-rails 1.3.2
Using jwt 1.5.6
Using kgio 2.10.0
Using letter_avatar 0.3.2
Using rb-fsevent 0.9.7
Using ruby_dep 1.5.0
Using mini_magick 4.5.1
Using mustermann 1.0.0.beta2
Using will_paginate 3.1.3
Using pg 0.19.0
Using powerpack 0.1.1
Using slop 3.6.0
Using puma 3.6.0
Using rack-cors 0.4.0
Using rainbow 2.1.0
Using redcarpet 3.3.4
Using redis 3.3.1
Using rmmseg-cpp-new 0.3.1
Using rspec-support 3.5.0
Using ruby-progressbar 1.8.1
Using unicode-display_width 1.1.1
Using sass 3.4.22
Using tilt 2.0.5
Using turbolinks-source 5.0.0
Using yard 0.9.5
Using tzinfo 1.2.2
Using gyoku 1.3.1
Using ruby-push-notifications 0.4.0
Using nokogiri 1.6.8.1
Using rack-test 0.6.3
Using warden 1.2.6
Using sprockets 3.7.0
Using rack-attack 5.0.1
Using rack-protection 2.0.0.beta2
Using rack-utf8_sanitizer 1.3.2
Using websocket-driver 0.6.4
Using mime-types 3.1
Using jsonapi 0.1.1.beta6
Using launchy 2.4.3
Using httparty 0.14.0
Using parser 2.3.1.4
Using better_errors 2.1.1
Using binding_of_caller 0.7.2
Using bundler-audit 0.5.0
Using postmark 1.8.1
Using faraday 0.9.2
Using simplecov 0.12.0
Using coffee-script 2.4.1
Using uglifier 3.0.2
Using derailed_benchmarks 1.3.1
Using elasticsearch-api 2.0.0
Using omniauth 1.3.1
Using rb-inotify 0.9.7
Using pry 0.10.4
Using redis-namespace 1.5.2
Using redis-objects 1.2.1
Using ruby-pinyin 0.5.0
Using rspec-core 3.5.4
Using rspec-expectations 3.5.0
Using rspec-mocks 3.5.0
Using turbolinks 5.0.1
Using activesupport 5.0.0.1
Using loofah 2.0.3
Using xpath 2.0.0
Using twemoji 3.0.1
Using sinatra 2.0.0.beta2
Using mail 2.6.4
Using letter_opener 1.4.1
Using aliyun-oss-sdk 0.1.8
Using rubocop 0.39.0
Using elasticsearch-transport 2.0.0
Using oauth2 1.2.0
Using codecov 0.1.5
Using derailed 0.1.0
Using listen 3.1.5
Using pry-byebug 3.4.0
Using redis-search 1.0.3
Using rails-dom-testing 2.0.1
Using globalid 0.3.7
Using activemodel 5.0.0.1
Using auto-space 0.0.4
Using factory_girl 4.7.0
Using html-pipeline 2.4.2
Using jbuilder 2.6.0
Using spring 2.0.0
Using rails-html-sanitizer 1.0.3
Using capybara 2.10.1
Using sidekiq 4.1.4
Using elasticsearch 2.0.0
Using omniauth-oauth2 1.4.0
Using activejob 5.0.0.1
Using activerecord 5.0.0.1
Using carrierwave 0.11.2
Using html-pipeline-rouge_filter 1.0.4
Using spring-commands-rspec 1.0.4
Using actionview 5.0.0.1
Using elasticsearch-model 0.1.9 from https://github.com/elasticsearch/elasticsearch-rails (at master@1576124)
Using omniauth-github 1.1.2
Using bulk_insert 1.2.1
Using pghero 1.5.3
Using second_level_cache 2.2.4
Using carrierwave-aliyun 0.7.0
Using carrierwave-upyun 0.2.1
Using actionpack 5.0.0.1
Using actioncable 5.0.0.1
Using actionmailer 5.0.0.1
Using railties 5.0.0.1
Using sprockets-rails 3.2.0
Using redis-session-store 0.9.1
Using simple_form 3.3.1
Using exception_notification 4.2.1
Using postmark-rails 0.13.0
Using active_model_serializers 0.10.2
Using coffee-rails 4.2.1
Using responders 2.3.0
Using doorkeeper 4.2.0
Using factory_girl_rails 4.7.0
Using font-awesome-rails 4.6.3.1
Using jquery-rails 4.2.1
Using rails-i18n 5.0.1
Using rspec-rails 3.5.2
Using rucaptcha 1.1.1
Using rails 5.0.0.1
Using jasmine-rails 0.10.8
Using sass-rails 5.0.6
Using devise 4.2.0
Using dropzonejs-rails 0.7.3
Using notifications 0.2.0
Using rails-settings-cached 0.6.5
Using status-page 0.1.4
Using social-share-button 0.8.5
Using devise-encryptable 0.2.0
Bundle complete! 79 Gemfile dependencies, 185 gems now installed.
Bundled gems are installed into ./vendor/bundle.
Created database 'homeland'
== 20160117061547 InitPgDb: migrating =========================================
-- create_table("authorizations", {:force=>:cascade})
-> 0.0306s
-- add_index("authorizations", ["provider", "uid"], {:name=>"index_authorizations_on_provider_and_uid", :using=>:btree})
-> 0.0166s
-- create_table("comments", {:force=>:cascade})
-> 0.0218s
-- add_index("comments", ["commentable_id"], {:name=>"index_comments_on_commentable_id", :using=>:btree})
-> 0.0226s
-- add_index("comments", ["commentable_type"], {:name=>"index_comments_on_commentable_type", :using=>:btree})
-> 0.0162s
-- add_index("comments", ["user_id"], {:name=>"index_comments_on_user_id", :using=>:btree})
-> 0.0238s
-- create_table("exception_logs", {:force=>:cascade})
-> 0.0243s
-- create_table("locations", {:force=>:cascade})
-> 0.0334s
-- add_index("locations", ["name"], {:name=>"index_locations_on_name", :using=>:btree})
-> 0.0183s
-- create_table("nodes", {:force=>:cascade})
-> 0.0327s
-- add_index("nodes", ["section_id"], {:name=>"index_nodes_on_section_id", :using=>:btree})
-> 0.0167s
-- create_table("notes", {:force=>:cascade})
-> 0.0270s
-- add_index("notes", ["user_id"], {:name=>"index_notes_on_user_id", :using=>:btree})
-> 0.0238s
-- create_table("notifications", {:force=>:cascade})
-> 0.0336s
-- add_index("notifications", ["read"], {:name=>"index_notifications_on_read", :using=>:btree})
-> 0.0570s
-- add_index("notifications", ["user_id", "read"], {:name=>"index_notifications_on_user_id_and_read", :using=>:btree})
-> 0.0165s
-- create_table("oauth_access_grants", {:force=>:cascade})
-> 0.0270s
-- add_index("oauth_access_grants", ["token"], {:name=>"index_oauth_access_grants_on_token", :unique=>true, :using=>:btree})
-> 0.0197s
-- create_table("oauth_access_tokens", {:force=>:cascade})
-> 0.0253s
-- add_index("oauth_access_tokens", ["refresh_token"], {:name=>"index_oauth_access_tokens_on_refresh_token", :unique=>true, :using=>:btree})
-> 0.0181s
-- add_index("oauth_access_tokens", ["resource_owner_id"], {:name=>"index_oauth_access_tokens_on_resource_owner_id", :using=>:btree})
-> 0.0191s
-- add_index("oauth_access_tokens", ["token"], {:name=>"index_oauth_access_tokens_on_token", :unique=>true, :using=>:btree})
-> 0.0150s
-- create_table("oauth_applications", {:force=>:cascade})
-> 0.0240s
-- add_index("oauth_applications", ["owner_id", "owner_type"], {:name=>"index_oauth_applications_on_owner_id_and_owner_type", :using=>:btree})
-> 0.0180s
-- add_index("oauth_applications", ["uid"], {:name=>"index_oauth_applications_on_uid", :unique=>true, :using=>:btree})
-> 0.0168s
-- create_table("page_versions", {:force=>:cascade})
-> 0.0309s
-- add_index("page_versions", ["page_id", "version"], {:name=>"index_page_versions_on_page_id_and_version", :using=>:btree})
-> 0.0171s
-- add_index("page_versions", ["page_id"], {:name=>"index_page_versions_on_page_id", :using=>:btree})
-> 0.0203s
-- create_table("pages", {:force=>:cascade})
-> 0.0395s
-- add_index("pages", ["slug"], {:name=>"index_pages_on_slug", :using=>:btree})
-> 0.0223s
-- create_table("photos", {:force=>:cascade})
-> 0.0226s
-- create_table("replies", {:force=>:cascade})
-> 0.0389s
-- add_index("replies", ["topic_id"], {:name=>"index_replies_on_topic_id", :using=>:btree})
-> 0.0197s
-- add_index("replies", ["user_id"], {:name=>"index_replies_on_user_id", :using=>:btree})
-> 0.0228s
-- create_table("sections", {:force=>:cascade})
-> 0.0257s
-- add_index("sections", ["sort"], {:name=>"index_sections_on_sort", :using=>:btree})
-> 0.0249s
-- create_table("site_configs", {:force=>:cascade})
-> 0.0253s
-- add_index("site_configs", ["key"], {:name=>"index_site_configs_on_key", :using=>:btree})
-> 0.0218s
-- create_table("site_nodes", {:force=>:cascade})
-> 0.0284s
-- add_index("site_nodes", ["sort"], {:name=>"index_site_nodes_on_sort", :using=>:btree})
-> 0.0228s
-- create_table("sites", {:force=>:cascade})
-> 0.0237s
-- add_index("sites", ["site_node_id"], {:name=>"index_sites_on_site_node_id", :using=>:btree})
-> 0.0231s
-- add_index("sites", ["url"], {:name=>"index_sites_on_url", :using=>:btree})
-> 0.0162s
-- create_table("topics", {:force=>:cascade})
-> 0.0322s
-- add_index("topics", ["excellent"], {:name=>"index_topics_on_excellent", :using=>:btree})
-> 0.0205s
-- add_index("topics", ["last_active_mark"], {:name=>"index_topics_on_last_active_mark", :using=>:btree})
-> 0.0165s
-- add_index("topics", ["likes_count"], {:name=>"index_topics_on_likes_count", :using=>:btree})
-> 0.0222s
-- add_index("topics", ["node_id"], {:name=>"index_topics_on_node_id", :using=>:btree})
-> 0.0194s
-- add_index("topics", ["suggested_at"], {:name=>"index_topics_on_suggested_at", :using=>:btree})
-> 0.0212s
-- add_index("topics", ["user_id"], {:name=>"index_topics_on_user_id", :using=>:btree})
-> 0.0177s
-- create_table("users", {:force=>:cascade})
-> 0.0426s
-- add_index("users", ["email"], {:name=>"index_users_on_email", :using=>:btree})
-> 0.0184s
-- add_index("users", ["location"], {:name=>"index_users_on_location", :using=>:btree})
-> 0.0211s
-- add_index("users", ["login"], {:name=>"index_users_on_login", :using=>:btree})
-> 0.0169s
-- add_index("users", ["private_token"], {:name=>"index_users_on_private_token", :using=>:btree})
-> 0.0178s
== 20160117061547 InitPgDb: migrated (1.3165s) ================================
== 20160119135131 UpdateUserNameAllowNull: migrating ==========================
-- change_column(:users, :name, :string, {:null=>true})
-> 0.0016s
== 20160119135131 UpdateUserNameAllowNull: migrated (0.0017s) =================
== 20160119163218 UpdateOauthTokenFieldsLimit: migrating ======================
-- change_column(:oauth_access_tokens, :expires_in, :integer, {:limit=>8, :null=>true})
-> 0.0417s
-- change_column(:oauth_access_grants, :expires_in, :integer, {:limit=>8, :null=>true})
-> 0.0315s
== 20160119163218 UpdateOauthTokenFieldsLimit: migrated (0.0736s) =============
== 20160119191013 AddIndexesToTable: migrating ================================
-- add_index(:topics, :deleted_at)
-> 0.0225s
-- add_index(:topics, [:node_id, :deleted_at])
-> 0.0164s
-- add_index(:replies, :deleted_at)
-> 0.0172s
-- add_index(:replies, [:topic_id, :deleted_at])
-> 0.0227s
-- add_index(:sites, :deleted_at)
-> 0.0191s
-- add_index(:sites, [:site_node_id, :deleted_at])
-> 0.0232s
-- index_name(:users, {:column=>:location})
-> 0.0000s
-- index_name_exists?(:users, "index_users_on_location", true)
-> 0.0082s
-- remove_index(:users, {:column=>:location, :name=>"index_users_on_location"})
-> 0.0353s
-- add_index(:users, :location)
-> 0.0206s
-- add_index(:nodes, :sort)
-> 0.0169s
-- index_name(:pages, {:column=>:slug})
-> 0.0000s
-- index_name_exists?(:pages, "index_pages_on_slug", true)
-> 0.0106s
-- remove_index(:pages, {:column=>:slug, :name=>"index_pages_on_slug"})
-> 0.0150s
-- add_index(:pages, :slug, {:unique=>true})
-> 0.0167s
-- add_index(:photos, :user_id)
-> 0.0212s
== 20160119191013 AddIndexesToTable: migrated (0.2674s) =======================
== 20160126061903 CreateSettings: migrating ===================================
-- create_table(:settings, {})
-> 0.0226s
-- add_index(:settings, [:thing_type, :thing_id, :var], {:unique=>true})
-> 0.0227s
-- drop_table(:site_configs)
-> 0.0037s
== 20160126061903 CreateSettings: migrated (0.0638s) ==========================
== 20160219075601 CreateDevices: migrating ====================================
-- create_table(:devices)
-> 0.0258s
-- add_index(:devices, :user_id)
-> 0.0235s
-- add_index(:devices, [:user_id, :platform])
-> 0.0187s
== 20160219075601 CreateDevices: migrated (0.0681s) ===========================
== 20160302043713 AddUserIdIndexOnNotifications: migrating ====================
-- remove_index(:notifications, :read)
-> 0.0139s
-- add_index(:notifications, :user_id)
-> 0.0221s
== 20160302043713 AddUserIdIndexOnNotifications: migrated (0.0361s) ===========
== 20160329032533 CreateNotifications: migrating ==============================
-- create_table(:new_notifications, {})
-> 0.0269s
-- add_index(:new_notifications, [:user_id, :notify_type])
-> 0.0236s
-- add_index(:new_notifications, [:user_id])
-> 0.0174s
== 20160329032533 CreateNotifications: migrated (0.0682s) =====================
== 20160329091441 RemoveOldNotifications: migrating ===========================
-- drop_table(:notifications)
-> 0.0019s
== 20160329091441 RemoveOldNotifications: migrated (0.0021s) ==================
== 20160518061135 AddClosedAtToTopics: migrating ==============================
-- add_column(:topics, :closed_at, :datetime)
-> 0.0012s
== 20160518061135 AddClosedAtToTopics: migrated (0.0013s) =====================
== 20160518083347 RemovePrivateTokenFromUsers: migrating ======================
-- remove_column(:users, :private_token)
-> 0.0010s
== 20160518083347 RemovePrivateTokenFromUsers: migrated (0.0012s) =============
== 20160602020013 AddTargetToReplies: migrating ===============================
-- add_column(:replies, :action, :string)
-> 0.0008s
-- add_column(:replies, :target_type, :string, {:after=>:action})
-> 0.0006s
-- add_column(:replies, :target_id, :string, {:after=>:target_type})
-> 0.0003s
== 20160602020013 AddTargetToReplies: migrated (0.0020s) ======================
== 20160707084438 CreateTeamUsersJoinTable: migrating =========================
-- add_column(:users, :type, :string, {:limit=>20, :after=>:id})
-> 0.0006s
-- create_table(:team_users)
-> 0.0559s
-- add_index(:team_users, [:team_id, :user_id], {:unique=>true})
-> 0.0211s
== 20160707084438 CreateTeamUsersJoinTable: migrated (0.0779s) ================
== 20160710111853 AddTeamIdToTopics: migrating ================================
-- add_column(:topics, :team_id, :integer)
-> 0.0011s
-- add_index(:topics, :team_id)
-> 0.0178s
== 20160710111853 AddTeamIdToTopics: migrated (0.0192s) =======================
== 20160819093756 AddLockableToDevise: migrating ==============================
-- add_column(:users, :failed_attempts, :integer, {:default=>0, :null=>false})
-> 0.0549s
-- add_column(:users, :unlock_token, :string)
-> 0.0008s
-- add_column(:users, :locked_at, :datetime)
-> 0.0011s
-- add_index(:users, :unlock_token, {:unique=>true})
-> 0.0157s
== 20160819093756 AddLockableToDevise: migrated (0.0729s) =====================
== 20160826044113 AddLevelToOauthApplications: migrating ======================
-- add_column(:oauth_applications, :level, :integer, {:default=>0, :null=>false})
-> 0.0309s
== 20160826044113 AddLevelToOauthApplications: migrated (0.0310s) =============
== 20160912124102 AddTeamUsersCountToUsers: migrating =========================
-- add_column(:users, :team_users_count, :integer)
-> 0.0012s
-- Reset all teams' team_users counter cache
-> 0.0554s
== 20160912124102 AddTeamUsersCountToUsers: migrated (0.0569s) ================
I, [2016-12-03T12:23:53.823816 #1] INFO -- : Writing /var/www/homeland/public/assets/app-665a0e6408f0a410b513119c51fd99390210f59b0dbf01b9f77ece02cddf3e72.js
I, [2016-12-03T12:23:53.827411 #1] INFO -- : Writing /var/www/homeland/public/assets/app-665a0e6408f0a410b513119c51fd99390210f59b0dbf01b9f77ece02cddf3e72.js.gz
I, [2016-12-03T12:23:59.832870 #1] INFO -- : Writing /var/www/homeland/public/assets/front-4ad1699c877aa9a8de07cdb9dfbbf2a2bc3a1980cbf0b09c334b80fe9190eb13.css
I, [2016-12-03T12:23:59.834322 #1] INFO -- : Writing /var/www/homeland/public/assets/front-4ad1699c877aa9a8de07cdb9dfbbf2a2bc3a1980cbf0b09c334b80fe9190eb13.css.gz
I, [2016-12-03T12:23:59.836533 #1] INFO -- : Writing /var/www/homeland/public/assets/fontawesome-webfont-50bbe9192697e791e2ee4ef73917aeb1b03e727dff08a1fc8d74f00e4aa812e1.eot
I, [2016-12-03T12:23:59.837875 #1] INFO -- : Writing /var/www/homeland/public/assets/fontawesome-webfont-50bbe9192697e791e2ee4ef73917aeb1b03e727dff08a1fc8d74f00e4aa812e1.eot.gz
I, [2016-12-03T12:23:59.839355 #1] INFO -- : Writing /var/www/homeland/public/assets/fontawesome-webfont-7dacf83f51179de8d7980a513e67ab3a08f2c6272bb5946df8fd77c0d1763b73.woff2
I, [2016-12-03T12:23:59.842507 #1] INFO -- : Writing /var/www/homeland/public/assets/fontawesome-webfont-adbc4f95eb6d7f2738959cf0ecbc374672fce47e856050a8e9791f457623ac2c.woff
I, [2016-12-03T12:23:59.849384 #1] INFO -- : Writing /var/www/homeland/public/assets/fontawesome-webfont-ae19e2e4c04f2b04bf030684c4c1db8faf5c8fe3ee03d1e0c409046608b38912.ttf
I, [2016-12-03T12:23:59.855965 #1] INFO -- : Writing /var/www/homeland/public/assets/fontawesome-webfont-ae19e2e4c04f2b04bf030684c4c1db8faf5c8fe3ee03d1e0c409046608b38912.ttf.gz
I, [2016-12-03T12:23:59.857270 #1] INFO -- : Writing /var/www/homeland/public/assets/fontawesome-webfont-8e3586389bb4cd01b3f85bb3b622739bde6627f28bba63a020c223ca9cf1b9ae.svg
I, [2016-12-03T12:23:59.867829 #1] INFO -- : Writing /var/www/homeland/public/assets/fontawesome-webfont-8e3586389bb4cd01b3f85bb3b622739bde6627f28bba63a020c223ca9cf1b9ae.svg.gz
I, [2016-12-03T12:23:59.869301 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/twitter-7b64ce0117a85c5d52ed45c27707af61d9b0e0d590284baa287cfe87867b9ae1.svg
I, [2016-12-03T12:23:59.870410 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/twitter-7b64ce0117a85c5d52ed45c27707af61d9b0e0d590284baa287cfe87867b9ae1.svg.gz
I, [2016-12-03T12:23:59.871640 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/facebook-03210e1663ee772e93ed5d344cdb36657b68342821aaebe982f2f984915990b3.svg
I, [2016-12-03T12:23:59.872696 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/facebook-03210e1663ee772e93ed5d344cdb36657b68342821aaebe982f2f984915990b3.svg.gz
I, [2016-12-03T12:23:59.874778 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/google_bookmark-bb4c960c0421cb7dce602d10e744692bcc1c54f323410f4965d508f96e2255ce.svg
I, [2016-12-03T12:23:59.923618 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/google_bookmark-bb4c960c0421cb7dce602d10e744692bcc1c54f323410f4965d508f96e2255ce.svg.gz
I, [2016-12-03T12:23:59.924690 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/google_plus-50c049fbb29cd3346f1bf9349017b644bcd00a53b56bd156728850f57bd85c0a.svg
I, [2016-12-03T12:23:59.980237 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/google_plus-50c049fbb29cd3346f1bf9349017b644bcd00a53b56bd156728850f57bd85c0a.svg.gz
I, [2016-12-03T12:23:59.993547 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/weibo-a345a6ca554e6f388da9eb35746bb0425cb018c16408ba82852c66d375245d6f.svg
I, [2016-12-03T12:24:00.009795 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/weibo-a345a6ca554e6f388da9eb35746bb0425cb018c16408ba82852c66d375245d6f.svg.gz
I, [2016-12-03T12:24:00.016399 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/qq-4dbae8223fc7823f6d73bc7fbe113eb894f4c174ec3ae93103ca382c78a2bf67.svg
I, [2016-12-03T12:24:00.030505 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/qq-4dbae8223fc7823f6d73bc7fbe113eb894f4c174ec3ae93103ca382c78a2bf67.svg.gz
I, [2016-12-03T12:24:00.032130 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/delicious-0c55f72f821aae5352691f13eb64bf3435573e2169d0720477ed367b2f1ed28e.svg
I, [2016-12-03T12:24:00.044948 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/delicious-0c55f72f821aae5352691f13eb64bf3435573e2169d0720477ed367b2f1ed28e.svg.gz
I, [2016-12-03T12:24:00.046312 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/linkedin-b7fd42895b291003c444a9c2acf867ea813671e0b725a5d7c05dbb13f5c0fdd3.svg
I, [2016-12-03T12:24:00.056141 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/linkedin-b7fd42895b291003c444a9c2acf867ea813671e0b725a5d7c05dbb13f5c0fdd3.svg.gz
I, [2016-12-03T12:24:00.057924 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/tumblr-330a37f93cce7c27a750188d0bfdbed3a22f566b807e64d21131dcdc94e08ec3.svg
I, [2016-12-03T12:24:00.068419 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/tumblr-330a37f93cce7c27a750188d0bfdbed3a22f566b807e64d21131dcdc94e08ec3.svg.gz
I, [2016-12-03T12:24:00.070157 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/pinterest-86203d156197cce4087fee058b920d275c535df5fd59d8caa83da0ef41d1ec7f.svg
I, [2016-12-03T12:24:00.075841 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/pinterest-86203d156197cce4087fee058b920d275c535df5fd59d8caa83da0ef41d1ec7f.svg.gz
I, [2016-12-03T12:24:00.078393 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/douban-46298c27e3bc6d59951c0bbc464339a5ba1b44e3b25b571874f1baacd7af2495.svg
I, [2016-12-03T12:24:00.082839 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/douban-46298c27e3bc6d59951c0bbc464339a5ba1b44e3b25b571874f1baacd7af2495.svg.gz
I, [2016-12-03T12:24:00.084171 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/wechat-d8852cc3396a7a53eba39595d2e9f638c93a34ab1a0f41bae4ff391b63815f56.svg
I, [2016-12-03T12:24:00.089869 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/wechat-d8852cc3396a7a53eba39595d2e9f638c93a34ab1a0f41bae4ff391b63815f56.svg.gz
I, [2016-12-03T12:24:00.093358 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/vkontakte-0c2b68277fade991d74efcbdb6f7b359a35e65156cbada9625a3fe8f73151c14.svg
I, [2016-12-03T12:24:00.099182 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/vkontakte-0c2b68277fade991d74efcbdb6f7b359a35e65156cbada9625a3fe8f73151c14.svg.gz
I, [2016-12-03T12:24:00.101793 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/xing-0ebccb4042c8c7220e471c4f569df2bf27da227db425525819b6848c86a1603e.svg
I, [2016-12-03T12:24:00.106037 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/xing-0ebccb4042c8c7220e471c4f569df2bf27da227db425525819b6848c86a1603e.svg.gz
I, [2016-12-03T12:24:00.107422 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/email-7067143cbe69d9d8cf25e67fda1a315d133c2b79074a09088bd712cc5c81135d.svg
I, [2016-12-03T12:24:00.113133 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/email-7067143cbe69d9d8cf25e67fda1a315d133c2b79074a09088bd712cc5c81135d.svg.gz
I, [2016-12-03T12:24:00.118968 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/reddit-f5fc462f44dbeff78983b3b64cb69b6c777a22906767bdb0b283014ac79b37de.svg
I, [2016-12-03T12:24:00.123258 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/reddit-f5fc462f44dbeff78983b3b64cb69b6c777a22906767bdb0b283014ac79b37de.svg.gz
I, [2016-12-03T12:24:00.125743 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/hacker_news-d89b13fec49355a787389a776f2e03a0a38314abf93777b8865f8c5f146eaf8d.svg
I, [2016-12-03T12:24:00.129758 #1] INFO -- : Writing /var/www/homeland/public/assets/social-share-button/hacker_news-d89b13fec49355a787389a776f2e03a0a38314abf93777b8865f8c5f146eaf8d.svg.gz
I, [2016-12-03T12:24:00.284588 #1] INFO -- : Writing /var/www/homeland/public/assets/turbolinks-app-6b58d12efeb857aed76167e1c18a36e0ea971ec648b708d67b9b6c2b5e6d5895.css
I, [2016-12-03T12:24:00.286373 #1] INFO -- : Writing /var/www/homeland/public/assets/turbolinks-app-6b58d12efeb857aed76167e1c18a36e0ea971ec648b708d67b9b6c2b5e6d5895.css.gz
I, [2016-12-03T12:24:01.196620 #1] INFO -- : Writing /var/www/homeland/public/assets/admin-aabbb3709a820e9009057a6fb13129faa061665a5dbf2f120e3fe14549176c61.css
I, [2016-12-03T12:24:01.198639 #1] INFO -- : Writing /var/www/homeland/public/assets/admin-aabbb3709a820e9009057a6fb13129faa061665a5dbf2f120e3fe14549176c61.css.gz
I, [2016-12-03T12:24:01.279072 #1] INFO -- : Writing /var/www/homeland/public/assets/favicon-3901cac4f47071e8a393ba47ebfb9bc2f51504ce97d116a215341c25f43e1cfb.png
I, [2016-12-03T12:24:02.098715 #1] INFO -- : Writing /var/www/homeland/public/assets/application-cbb597c26b9f40913d00abefc137f928c3e1706625bbfd3ad439ac762e025d31.css
I, [2016-12-03T12:24:02.100155 #1] INFO -- : Writing /var/www/homeland/public/assets/application-cbb597c26b9f40913d00abefc137f928c3e1706625bbfd3ad439ac762e025d31.css.gz
I, [2016-12-03T12:24:02.728885 #1] INFO -- : Writing /var/www/homeland/public/assets/doorkeeper/admin/application-63b91a1918b8597eeb6e7e48f73e2e4552b2ab37e75fd4f55abb3541a2dd441e.css
I, [2016-12-03T12:24:02.731674 #1] INFO -- : Writing /var/www/homeland/public/assets/doorkeeper/admin/application-63b91a1918b8597eeb6e7e48f73e2e4552b2ab37e75fd4f55abb3541a2dd441e.css.gz
I, [2016-12-03T12:24:03.151848 #1] INFO -- : Writing /var/www/homeland/public/assets/doorkeeper/application-0e1b6cf61a55f3335414f799c9935e3fbd5e51dc1120d99d0c9a82b3d4088b1d.css
I, [2016-12-03T12:24:03.153022 #1] INFO -- : Writing /var/www/homeland/public/assets/doorkeeper/application-0e1b6cf61a55f3335414f799c9935e3fbd5e51dc1120d99d0c9a82b3d4088b1d.css.gz
I, [2016-12-03T12:24:05.721257 #1] INFO -- : Writing /var/www/homeland/public/assets/pghero/application-79fbd6ff8034a867124da36339d1cc7267efec9fcc4b9e7fc16ba80edfbd1ca3.js
I, [2016-12-03T12:24:05.722784 #1] INFO -- : Writing /var/www/homeland/public/assets/pghero/application-79fbd6ff8034a867124da36339d1cc7267efec9fcc4b9e7fc16ba80edfbd1ca3.js.gz
I, [2016-12-03T12:24:05.830286 #1] INFO -- : Writing /var/www/homeland/public/assets/pghero/application-e8559ef30537629899a3f7b8ca82c627d74e217250cf2bb223538f3580c855ed.css
I, [2016-12-03T12:24:05.831496 #1] INFO -- : Writing /var/www/homeland/public/assets/pghero/application-e8559ef30537629899a3f7b8ca82c627d74e217250cf2bb223538f3580c855ed.css.gz
Reindex ElasticSearch...
[IMPORT] Done
[IMPORT] Done
[IMPORT] Done
➜ homeland-docker git:(master) sudo make start
homelanddocker_postgresql_1 is up-to-date
homelanddocker_elasticsearch_1 is up-to-date
homelanddocker_redis_1 is up-to-date
homelanddocker_memcached_1 is up-to-date
Recreating homelanddocker_worker_1
Recreating homelanddocker_app_1
Recreating homelanddocker_web_1
➜ homeland-docker git:(master)
在执行sudo make install_ssl遇到如下错误:
docker-compose run web ash -c '/root/.acme.sh/acme.sh --installcert --home /home/app/ssl -d $cert_domain --keypath /home/app/ssl/homeland.key --fullchainpath /home/app/ssl/homeland.crt --reloadcmd "nginx -s reload"' Starting homeland_elasticsearch ... done Starting homeland_postgresql ... done Starting homeland_redis ... done Starting homeland_worker ... done Starting homeland_app ... done Starting homeland_app_backup ... done [Fri Apr 3 10:49:20 UTC 2020] Installing key to:/home/app/ssl/homeland.key [Fri Apr 3 10:49:20 UTC 2020] Installing full chain to:/home/app/ssl/homeland.crt [Fri Apr 3 10:49:20 UTC 2020] Run reload cmd: nginx -s reload nginx: [error] open() "/run/nginx/nginx.pid" failed (2: No such file or directory) [Fri Apr 3 10:49:20 UTC 2020] Reload error for : make: *** [install_ssl] Error 1
docker version
Docker version 1.12.3, build 6b644ec
docker-compose
docker-compose version 1.8.1, build 878cff1
docker-py version: 1.10.3
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.2h 3 May 2016
Using devise-encryptable 0.2.0
Bundle complete! 79 Gemfile dependencies, 185 gems now installed.
Bundled gems are installed into ./vendor/bundle.
could not connect to server: Connection refused
Is the server running on host "postgresql" (172.17.0.5) and accepting
TCP/IP connections on port 5432?
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"utf-8", "database"=>"homeland", "username"=>"postgres", "password"=>nil, "host"=>"postgresql", "pool"=>64}
rails aborted!
PG::ConnectionBad: could not connect to server: Connection refused
Is the server running on host "postgresql" (172.17.0.5) and accepting
TCP/IP connections on port 5432?
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/postgresql_adapter.rb:671:in `initialize'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/postgresql_adapter.rb:671:in `new'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/postgresql_adapter.rb:671:in `connect'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/postgresql_adapter.rb:217:in `initialize'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/postgresql_adapter.rb:37:in `new'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/postgresql_adapter.rb:37:in `postgresql_connection'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:721:in `new_connection'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:765:in `checkout_new_connection'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:744:in `try_to_checkout_new_connection'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:705:in `acquire_connection'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:501:in `checkout'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:364:in `connection'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:875:in `retrieve_connection'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_handling.rb:128:in `retrieve_connection'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_handling.rb:91:in `connection'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/postgresql_database_tasks.rb:6:in `connection'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/postgresql_database_tasks.rb:15:in `create'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:109:in `create'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:129:in `block in create_current'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:292:in `block in each_current_configuration'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:291:in `each'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:291:in `each_current_configuration'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:128:in `create_current'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/railties/databases.rake:27:in `block (2 levels) in <top (required)>'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/railties-5.0.0.1/lib/rails/commands/rake_proxy.rb:13:in `block in run_rake_task'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/railties-5.0.0.1/lib/rails/commands/rake_proxy.rb:10:in `run_rake_task'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:51:in `run_command!'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/railties-5.0.0.1/lib/rails/commands.rb:18:in `<top (required)>'
/var/www/homeland/bin/rails:9:in `require'
/var/www/homeland/bin/rails:9:in `<top (required)>'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/spring-2.0.0/lib/spring/client/rails.rb:28:in `load'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/spring-2.0.0/lib/spring/client/rails.rb:28:in `call'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/spring-2.0.0/lib/spring/client/command.rb:7:in `call'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/spring-2.0.0/lib/spring/client.rb:30:in `run'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/spring-2.0.0/bin/spring:49:in `<top (required)>'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/spring-2.0.0/lib/spring/binstub.rb:31:in `load'
/var/www/homeland/vendor/bundle/ruby/2.3.0/gems/spring-2.0.0/lib/spring/binstub.rb:31:in `<top (required)>'
/var/www/homeland/bin/spring:13:in `require'
/var/www/homeland/bin/spring:13:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => db:create
(See full trace by running task with --trace)
make: *** [install] Error 1
RUN cd /var/www/homeland && bundle install --deployment &&\
find /var/www/homeland/vendor/bundle -name tmp -type d -exec rm -rf {} + &&\
chown -R ruby:ruby /var/www
images/homeland/Dockerfile 的删除bundle 并不能删除bundle里面的文件,导致bundle install 使用了以前的gems。 我这里是以前的gems会直接导致rails 无法启动。
现在改成了
RUN cd /var/www/homeland && bundle install --deployment &&\
rm -rf /var/www/homeland/vendor/bundle &&\
chown -R ruby:ruby /var/www
算是能用了。
升级版本时,后台出现
undefined method `unscoped' for nil:NilClass
Method: GET
URL: /admin/stats?model=note&by=month
Controller: admin/stats#index
RequestId: 8313be99-ec95-4062-bb31-9c22148ee4f3
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36
Remote IP: 172.18.0.8
Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
Server: d178db2232d2
Process: 29
--------------------------------------------------
#<NoMethodError: undefined method `unscoped' for nil:NilClass>
/home/app/homeland/app/controllers/admin/stats_controller.rb:11:in `index'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/abstract_controller/base.rb:196:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/callbacks.rb:135:in `run_callbacks'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/abstract_controller/callbacks.rb:41:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_controller/metal/rescue.rb:22:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/notifications.rb:180:in `block in instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/notifications.rb:180:in `instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_controller/metal/instrumentation.rb:32:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_controller/metal/params_wrapper.rb:245:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.2.1/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/abstract_controller/base.rb:136:in `process'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.2.1/lib/action_view/rendering.rb:39:in `process'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_controller/metal.rb:191:in `dispatch'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_controller/metal.rb:252:in `dispatch'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/routing/route_set.rb:51:in `dispatch'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/routing/route_set.rb:33:in `serve'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/journey/router.rb:49:in `block in serve'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/journey/router.rb:32:in `each'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/journey/router.rb:32:in `serve'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/routing/route_set.rb:837:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/http_accept_language-2.1.1/lib/http_accept_language/middleware.rb:14:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-attack-6.2.2/lib/rack/attack.rb:156:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-attack-6.2.2/lib/rack/attack.rb:170:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/exception_notification-4.4.0/lib/exception_notification/rack.rb:36:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/warden-1.2.8/lib/warden/manager.rb:36:in `block in call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/warden-1.2.8/lib/warden/manager.rb:34:in `catch'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/warden-1.2.8/lib/warden/manager.rb:34:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.2.2/lib/rack/tempfile_reaper.rb:15:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.2.2/lib/rack/etag.rb:27:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.2.2/lib/rack/conditional_get.rb:27:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.2.2/lib/rack/head.rb:12:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.2.2/lib/rack/session/abstract/id.rb:266:in `context'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.2.2/lib/rack/session/abstract/id.rb:260:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/cookies.rb:648:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/callbacks.rb:101:in `run_callbacks'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/railties-6.0.2.1/lib/rails/rack/logger.rb:38:in `call_app'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/railties-6.0.2.1/lib/rails/rack/logger.rb:26:in `block in call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/tagged_logging.rb:80:in `block in tagged'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/tagged_logging.rb:28:in `tagged'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/tagged_logging.rb:80:in `tagged'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/railties-6.0.2.1/lib/rails/rack/logger.rb:26:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/request_store-1.5.0/lib/request_store/middleware.rb:19:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/request_id.rb:27:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.2.2/lib/rack/method_override.rb:24:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.2.2/lib/rack/runtime.rb:22:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/executor.rb:14:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.2.2/lib/rack/sendfile.rb:110:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/ssl.rb:74:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/host_authorization.rb:77:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-cors-1.1.1/lib/rack/cors.rb:100:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/railties-6.0.2.1/lib/rails/engine.rb:526:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-4.3.3/lib/puma/configuration.rb:228:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-4.3.3/lib/puma/server.rb:682:in `handle_request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-4.3.3/lib/puma/server.rb:472:in `process_client'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-4.3.3/lib/puma/server.rb:328:in `block in run'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-4.3.3/lib/puma/thread_pool.rb:134:in `block in spawn_thread'
[Tue Aug 15 10:49:35 UTC 2017] url='https://acme-v01.api.letsencrypt.org/directory'
[Tue Aug 15 10:49:35 UTC 2017] timeout
[Tue Aug 15 10:49:35 UTC 2017] _CURL='curl -L --silent --dump-header /var/www/ssl/http.header '
[Tue Aug 15 10:50:55 UTC 2017] Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: 35
[Tue Aug 15 10:50:55 UTC 2017] ret='35'
[Tue Aug 15 10:50:55 UTC 2017] Can not connect to https://acme-v01.api.letsencrypt.org/directory to get nonce.
[Tue Aug 15 10:50:55 UTC 2017] Register account Error:
[Tue Aug 15 10:50:55 UTC 2017] _on_issue_err
[Tue Aug 15 10:50:55 UTC 2017] Please add '--debug' or '--log' to check more details.
[Tue Aug 15 10:50:55 UTC 2017] See: https://github.com/Neilpang/acme.sh/wiki/How-to-debug-acme.sh
[Tue Aug 15 10:50:55 UTC 2017] Diagnosis versions:
openssl:openssl
OpenSSL 1.0.1f 6 Jan 2014
apache:
apache doesn't exists.
nginx:
nginx version: nginx/1.10.2
built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
built with OpenSSL 1.0.1f 6 Jan 2014
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-file-aio --with-threads --with-ipv6 --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_ssl_module --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed'
nc:
OpenBSD netcat (Debian patchlevel 1.105-7ubuntu1)
This is nc from the netcat-openbsd package. An alternative nc is available
in the netcat-traditional package.
usage: nc [-46bCDdhjklnrStUuvZz] [-I length] [-i interval] [-O length]
[-P proxy_username] [-p source_port] [-q seconds] [-s source]
[-T toskeyword] [-V rtable] [-w timeout] [-X proxy_protocol]
[-x proxy_address[:port]] [destination] [port]
Command Summary:
-4 Use IPv4
-6 Use IPv6
-b Allow broadcast
-C Send CRLF as line-ending
-D Enable the debug socket option
-d Detach from stdin
-h This help text
-I length TCP receive buffer length
-i secs Delay interval for lines sent, ports scanned
-j Use jumbo frame
-k Keep inbound sockets open for multiple connects
-l Listen mode, for inbound connects
-n Suppress name/port resolutions
-O length TCP send buffer length
-P proxyuser Username for proxy authentication
-p port Specify local port for remote connects
-q secs quit after EOF on stdin and delay of secs
-r Randomize remote ports
-S Enable the TCP MD5 signature option
-s addr Local source address
-T toskeyword Set IP Type of Service
-t Answer TELNET negotiation
-U Use UNIX domain socket
-u UDP mode
-V rtable Specify alternate routing table
-v Verbose
-w secs Timeout for connects and final net reads
-X proto Proxy protocol: "4", "5" (SOCKS) or "connect"
-x addr[:port] Specify proxy address and port
-Z DCCP mode
-z Zero-I/O mode [used for scanning]
Port numbers can be individual or ranges: lo-hi [inclusive]
make: *** [install_ssl] Error 1
hello:
homeland-docker这个项目确实很规范和标准;用起来很舒服
我在使用的过程中如果对节点进行多次操作,然后在访问 /admin/nodes的时候就会出错,报错如下,可以帮忙看下吗?
undefined method `name' for nil:NilClass
#<ActionView::Template::Error: undefined method `name' for nil:NilClass>
--------------------------------------------------
Method: GET
URL: http://203.156.197.86:8081/admin/nodes
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,en-GB;q=0.6,zh-TW;q=0.5,zh-HK;q=0.4
Server: 0b76a2bf5f18
Process: 9
--------------------------------------------------
/var/www/homeland/app/views/admin/nodes/index.html.erb:23:in `block in _app_views_admin_nodes_index_html_erb___653521820057188311_70040096746060'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0.rc1/lib/active_record/relation/delegation.rb:41:in `each'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0.rc1/lib/active_record/relation/delegation.rb:41:in `each'
/var/www/homeland/app/views/admin/nodes/index.html.erb:19:in `_app_views_admin_nodes_index_html_erb___653521820057188311_70040096746060'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/template.rb:159:in `block in render'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/notifications.rb:170:in `instrument'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/template.rb:354:in `instrument_render_template'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/template.rb:157:in `render'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/renderer/template_renderer.rb:54:in `block (2 levels) in render_template'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/renderer/abstract_renderer.rb:44:in `block in instrument'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/notifications.rb:168:in `block in instrument'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/notifications.rb:168:in `instrument'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/renderer/abstract_renderer.rb:43:in `instrument'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/renderer/template_renderer.rb:53:in `block in render_template'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/renderer/template_renderer.rb:61:in `render_with_layout'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/renderer/template_renderer.rb:52:in `render_template'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/renderer/template_renderer.rb:16:in `render'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/renderer/renderer.rb:44:in `render_template'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/renderer/renderer.rb:25:in `render'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/rendering.rb:103:in `_render_template'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/streaming.rb:219:in `_render_template'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/rendering.rb:84:in `render_to_body'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/rendering.rb:52:in `render_to_body'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/renderers.rb:142:in `render_to_body'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/abstract_controller/rendering.rb:25:in `render'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/rendering.rb:36:in `render'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/instrumentation.rb:46:in `block (2 levels) in render'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/core_ext/benchmark.rb:14:in `block in ms'
/usr/local/lib/ruby/2.5.0/benchmark.rb:308:in `realtime'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/core_ext/benchmark.rb:14:in `ms'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/instrumentation.rb:46:in `block in render'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view_runtime'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0.rc1/lib/active_record/railties/controller_runtime.rb:31:in `cleanup_view_runtime'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/instrumentation.rb:45:in `render'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/implicit_render.rb:35:in `default_render'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/basic_implicit_render.rb:6:in `block in send_action'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/basic_implicit_render.rb:6:in `tap'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/abstract_controller/base.rb:194:in `process_action'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/rendering.rb:30:in `process_action'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/callbacks.rb:132:in `run_callbacks'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/abstract_controller/callbacks.rb:41:in `process_action'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/rescue.rb:22:in `process_action'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/notifications.rb:168:in `block in instrument'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/notifications.rb:168:in `instrument'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/instrumentation.rb:32:in `process_action'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal/params_wrapper.rb:256:in `process_action'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0.rc1/lib/active_record/railties/controller_runtime.rb:24:in `process_action'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/abstract_controller/base.rb:134:in `process'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0.rc1/lib/action_view/rendering.rb:32:in `process'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal.rb:191:in `dispatch'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_controller/metal.rb:252:in `dispatch'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/routing/route_set.rb:52:in `dispatch'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/routing/route_set.rb:34:in `serve'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/journey/router.rb:52:in `block in serve'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/journey/router.rb:35:in `each'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/journey/router.rb:35:in `serve'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/routing/route_set.rb:840:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/omniauth-1.7.1/lib/omniauth/strategy.rb:190:in `call!'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/omniauth-1.7.1/lib/omniauth/strategy.rb:168:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/http_accept_language-2.1.1/lib/http_accept_language/middleware.rb:14:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/rack-attack-5.0.1/lib/rack/attack.rb:147:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/exception_notification-4.2.2/lib/exception_notification/rack.rb:41:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/warden-1.2.7/lib/warden/manager.rb:36:in `block in call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/warden-1.2.7/lib/warden/manager.rb:35:in `catch'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/warden-1.2.7/lib/warden/manager.rb:35:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/rack-2.0.4/lib/rack/tempfile_reaper.rb:15:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/rack-2.0.4/lib/rack/etag.rb:25:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/rack-2.0.4/lib/rack/conditional_get.rb:25:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/rack-2.0.4/lib/rack/head.rb:12:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/rack-2.0.4/lib/rack/session/abstract/id.rb:232:in `context'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/rack-2.0.4/lib/rack/session/abstract/id.rb:226:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/middleware/cookies.rb:663:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/callbacks.rb:98:in `run_callbacks'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0.rc1/lib/rails/rack/logger.rb:38:in `call_app'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0.rc1/lib/rails/rack/logger.rb:26:in `block in call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/tagged_logging.rb:71:in `block in tagged'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/tagged_logging.rb:28:in `tagged'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/tagged_logging.rb:71:in `tagged'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0.rc1/lib/rails/rack/logger.rb:26:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/middleware/request_id.rb:27:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/rack-2.0.4/lib/rack/method_override.rb:22:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/rack-2.0.4/lib/rack/runtime.rb:22:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0.rc1/lib/action_dispatch/middleware/executor.rb:14:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/rack-2.0.4/lib/rack/sendfile.rb:111:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/rack-cors-1.0.2/lib/rack/cors.rb:97:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/rack-utf8_sanitizer-1.3.2/lib/rack/utf8_sanitizer.rb:19:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0.rc1/lib/rails/engine.rb:524:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/puma-3.10.0/lib/puma/configuration.rb:225:in `call'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/puma-3.10.0/lib/puma/server.rb:605:in `handle_request'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/puma-3.10.0/lib/puma/server.rb:437:in `process_client'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/puma-3.10.0/lib/puma/server.rb:301:in `block in run'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/puma-3.10.0/lib/puma/thread_pool.rb:120:in `block in spawn_thread'
Reindex ElasticSearch...
docker-compose run app bundle exec rake environment elasticsearch:import:model CLASS=Topic FORCE=y
[!!!] Index does not exist (Elasticsearch::Transport::Transport::Errors::NotFound)
rake aborted!
Elasticsearch::Transport::Transport::Errors::BadRequest: [400] {"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"No handler for type [text] declared on field [title]"}],"type":"mapper_parsing_exception","reason":"Failed to parse mapping [topic]: No handler for type [text] declared on field [title]","caused_by":{"type":"mapper_parsing_exception","reason":"No handler for type [text] declared on field [title]"}},"status":400}
/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/base.rb:202:in `__raise_transport_error'
/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/base.rb:319:in `perform_request'
/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/http/faraday.rb:20:in `perform_request'
/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/client.rb:131:in `perform_request'
/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/elasticsearch-api-5.0.4/lib/elasticsearch/api/namespace/common.rb:21:in `perform_request'
/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/elasticsearch-api-5.0.4/lib/elasticsearch/api/actions/indices/create.rb:86:in `create'
/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/elasticsearch-model-5.0.1/lib/elasticsearch/model/indexing.rb:232:in `create_index!'
/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/elasticsearch-model-5.0.1/lib/elasticsearch/model/importing.rb:116:in `import'
/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/elasticsearch-rails-5.0.1/lib/elasticsearch/rails/tasks/import.rb:63:in `block (3 levels) in <top (required)>'
/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:22:in `load'
/usr/local/bin/bundle:22:in `<main>'
Tasks: TOP => elasticsearch:import:model
Hi, 碰到了点问题。
ubuntu@bogon:~/github/homeland-docker$ make install
make[1]: Entering directory '/home/ubuntu/github/homeland-docker'
SECRET_KEY_BASE=6ffb8a0cf426b2120891068fb021e15cce5403f7ecf5798e65486d903616f7eb
make[1]: Leaving directory '/home/ubuntu/github/homeland-docker'
Starting homeland_postgresql ... done
Starting homeland_elasticsearch ... done
Starting homeland_redis ... done
rails aborted!
NoMethodError: undefined method `to_sym' for nil:NilClass
/var/www/homeland/config/environments/production.rb:76:in `block in <main>'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/railtie.rb:216:in `instance_eval'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/railtie.rb:216:in `configure'
/var/www/homeland/config/environments/production.rb:3:in `<main>'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `block in require'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:249:in `load_dependency'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `require'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/engine.rb:602:in `block (2 levels) in <class:Engine>'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/engine.rb:601:in `each'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/engine.rb:601:in `block in <class:Engine>'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/initializable.rb:32:in `instance_exec'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/initializable.rb:32:in `run'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/initializable.rb:61:in `block in run_initializers'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/initializable.rb:50:in `each'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/initializable.rb:50:in `tsort_each_child'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/initializable.rb:60:in `run_initializers'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/application.rb:361:in `initialize!'
/var/www/homeland/config/environment.rb:7:in `<main>'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `block in require'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:249:in `load_dependency'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `require'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/application.rb:337:in `require_environment!'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/application.rb:520:in `block in run_tasks_blocks'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/command.rb:48:in `invoke'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/commands.rb:18:in `<main>'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `block in require'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:249:in `load_dependency'
/var/www/homeland/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:create => db:load_config => environment
(See full trace by running task with --trace)
Makefile:8: recipe for target 'install' failed
make: *** [install] Error 1
docker-compose.yml 里面没有config的映射,我看容器里面也没有config.yml的文件,但是配置也没有从环境变量(app.local.env)里读,感觉好奇怪,不知道是不是我的理解和操作有问题。
MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
目前 Docker 重启的时候,服务会断掉,需要实现热重启
elasticsearch现在使用的是2.4 是不是可以升级到最新
采用docker部署,放置SSL证书后,使用GOOGLE的一个插件测试发现仍然使用的是HTTP/1,我怀疑是DOCKER镜像中的nginx配置有问题,不知开发者是否测试过
我从最新的homeland-docker进行部署后,发现发帖的时候对于非图片格式的文件拖拽上传保存后,会导致整个论坛的社区页面无法打开,后台日志报错如下
Processing by TopicsController#index as HTML
I, [2018-06-02T04:45:56.925853 #7] INFO -- : User filter_readed_topics (0.480102ms)
I, [2018-06-02T04:45:56.926387 #7] INFO -- : Rendering topics/index.html.erb within layouts/application
I, [2018-06-02T04:45:56.927502 #7] INFO -- : Rendered shared/_index_sections.html.erb (0.5ms) [cache hit]
I, [2018-06-02T04:45:56.927589 #7] INFO -- : Rendered topics/_node_selector.html.erb (0.7ms)
I, [2018-06-02T04:45:56.928158 #7] INFO -- : Rendered topics/_node_info.html.erb (1.3ms)
I, [2018-06-02T04:45:56.929337 #7] INFO -- : Rendered collection of topics/_topic.html.erb [1 times] (1.0ms)
I, [2018-06-02T04:45:56.932560 #7] INFO -- : Rendered collection of topics/_topic.html.erb [4 times] (3.0ms)
I, [2018-06-02T04:45:56.932653 #7] INFO -- : Rendered topics/index.html.erb within layouts/application (6.2ms)
I, [2018-06-02T04:45:56.932831 #7] INFO -- : Completed 401 Unauthorized in 18ms (ActiveRecord: 3.7ms)
F, [2018-06-02T04:45:56.937017 #7] FATAL -- :
F, [2018-06-02T04:45:56.937066 #7] FATAL -- : ActionView::Template::Error (The asset "avatar/md.png" is not present in the asset pipeline.):
F, [2018-06-02T04:45:56.937210 #7] FATAL -- : 1: <% cache([topic, topic.user_avatar_raw, suggest]) do %>
2:
user_avatar_tag' app/views/topics/_topic.html.erb:4:in
block in _app_views_topics__topic_html_erb___1108729398735021699_47274089990780'cache' app/views/topics/_topic.html.erb:1:in
_app_views_topics__topic_html_erb___1108729398735021699_47274089990780'root@htu:/home/homeland-docker# sudo make install_ssl
rm etc/nginx/conf.d/homeland/ssl.conf
rm: cannot remove ‘etc/nginx/conf.d/homeland/ssl.conf’: No such file or directory
make: *** [install_ssl] Error 1
Starting homeland_postgresql ...
Starting homeland_postgresql ... done
Starting homeland_elasticsearch ... done
Starting homeland_postgresql ...
Starting homeland_postgresql ... done
Starting homeland_elasticsearch ... done
rails aborted!
PG::ConnectionBad: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/pg-1.0.0/lib/pg.rb:56:in initialize' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/pg-1.0.0/lib/pg.rb:56:in
new'
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/pg-1.0.0/lib/pg.rb:56:in connect' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:684:in
connect'
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:215:in initialize' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:40:in
new'
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:40:in postgresql_connection' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:809:in
new_connection'
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:853:in checkout_new_connection' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:832:in
try_to_checkout_new_connection'
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:793:in acquire_connection' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:521:in
checkout'
/home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:380:in connection' /home/app/homeland/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:1008:in
retrieve_connection'
ruby image 已經做了一些安裝設定、容量優化,以 ruby image 為底可以降低 base/Dockerfile 的複雜度,需要擔心的是從 ubuntu 轉成 debian 會不會有相容性的問題。
https://hub.docker.com/_/ruby/
https://github.com/docker-library/ruby/blob/c9208def0c430de0144408e16140bd49254c4ca9/2.3/Dockerfile
弱弱的问一下,如何修改homeland的favicon.ico....
需要解决 bundler cache 的问题,避免每次 make update
的时候从头开始下载安装 Gem
curl -sSL https://git.io/vPALl | bash
这边想把 homeland 部署在 k8s 上,但对于 ruby 语言一窍不通,看到 backup 镜像引用了 <<:*app
。就需要挂载这么多 volume:
- mountPath: /home/app/homeland/public/.well-known
name: app-backup-claim0
- mountPath: /home/app/homeland/public/uploads
name: app-backup-claim1
- mountPath: /home/app/cache/uploads-thumb
name: app-backup-claim2
- mountPath: /home/app/homeland/public/system
name: app-backup-claim3
- mountPath: /home/app/ssl
name: app-backup-claim4
- mountPath: /home/app/log
name: app-backup-claim5
- mountPath: /home/app/pids
name: app-backup-claim6
- mountPath: /home/app/homeland/log
name: app-backup-claim7
- mountPath: /home/app/homeland/tmp
name: app-backup-claim8
- mountPath: /etc/nginx/conf.d
name: app-backup-claim9
请问,backup 镜像只需要哪些目录呢?
Centos8
Docker version 19.03.8, build afacb8b
Status: Downloaded newer image for homeland/homeland:latest
=> Booting Homeland
=> Plugins:
could not connect to server: Host is unreachable
Is the server running on host "postgresql" (172.18.0.3) and accepting
TCP/IP connections on port 5432?
Couldn't create 'homeland' database. Please check your configuration.
rails aborted!
ActiveRecord::NoDatabaseError: could not connect to server: Host is unreachable
Is the server running on host "postgresql" (172.18.0.3) and accepting
TCP/IP connections on port 5432?
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:50:in `rescue in postgresql_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:33:in `postgresql_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:887:in `new_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:931:in `checkout_new_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:910:in `try_to_checkout_new_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:871:in `acquire_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:593:in `checkout'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:437:in `connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1119:in `retrieve_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_handling.rb:221:in `retrieve_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_handling.rb:189:in `connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/postgresql_database_tasks.rb:12:in `connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/postgresql_database_tasks.rb:21:in `create'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:126:in `create'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:185:in `block in create_current'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:479:in `block (2 levels) in each_current_configuration'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:476:in `each'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:476:in `block in each_current_configuration'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:475:in `each'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:475:in `each_current_configuration'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:184:in `create_current'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/railties/databases.rake:39:in `block (2 levels) in <main>'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3/lib/rails/command.rb:48:in `invoke'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3/lib/rails/commands.rb:18:in `<main>'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3/lib/active_support/dependencies.rb:324:in `block in require'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3/lib/active_support/dependencies.rb:291:in `load_dependency'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3/lib/active_support/dependencies.rb:324:in `require'
bin/rails:4:in `<main>'
Caused by:
PG::ConnectionBad: could not connect to server: Host is unreachable
Is the server running on host "postgresql" (172.18.0.3) and accepting
TCP/IP connections on port 5432?
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/pg-1.2.3/lib/pg.rb:58:in `initialize'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/pg-1.2.3/lib/pg.rb:58:in `new'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/pg-1.2.3/lib/pg.rb:58:in `connect'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:46:in `postgresql_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:887:in `new_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:931:in `checkout_new_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:910:in `try_to_checkout_new_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:871:in `acquire_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:593:in `checkout'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:437:in `connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1119:in `retrieve_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_handling.rb:221:in `retrieve_connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_handling.rb:189:in `connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/postgresql_database_tasks.rb:12:in `connection'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/postgresql_database_tasks.rb:21:in `create'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:126:in `create'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:185:in `block in create_current'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:479:in `block (2 levels) in each_current_configuration'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:476:in `each'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:476:in `block in each_current_configuration'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:475:in `each'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:475:in `each_current_configuration'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:184:in `create_current'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3/lib/active_record/railties/databases.rake:39:in `block (2 levels) in <main>'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3/lib/rails/command.rb:48:in `invoke'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3/lib/rails/commands.rb:18:in `<main>'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3/lib/active_support/dependencies.rb:324:in `block in require'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3/lib/active_support/dependencies.rb:291:in `load_dependency'
/home/app/homeland/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3/lib/active_support/dependencies.rb:324:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:create
(See full trace by running task with --trace)
make: *** [Makefile:10: install] Error 1
1.用户资料配置项配置后无效,重启也仍然无效
commit 638280f86ae272f8ff7b4ac876804cddb4470336
毕竟不是所有的用户都会翻墙看YT,早上还看见社区里有人求客户端,不会翻墙,开发者可以将正则匹配规则放到http://gethomeland.com/docs/
让用户自行设置
部署后,注册时提示验证码有误,尝试了几次都是一样的结果。
aliyun DNS 解析失败 可以把DNS解析放到cloudxns
[Tue Dec 27 16:51:26 UTC 2016] www.xxxxxx.com:Verify error:Could not connect to www.xxxxxx.com
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.