Manifold login issues

I installed Manifold on Cloud today and so far at least, the generated password it gave me isn’t working. I tried a reset, but of course I can’t configure mail settings until I’m into the app. I know with Ghost, it took a while for everything to get up and running. Is this a wait and see situation, or did something break somewhere?

1 Like

I just tested this and it is definitely the case where the password is not working. We are going to have to dig in here and see what happened with the installer to cause that issue, will follow-up when I hear more.

Thanks for reaching out,
Jim

1 Like

It looks like the command we use in our installer to create the admin user account is no longer working. We use their Docker images for this installer and we are doing this the same way as outlined in the official Manifold documentation:

Running the commands manually is not working either so it looks to me like their Docker images are currently broken. For now I’ll unpublish our Reclaim Cloud installer, so nobody tries to use it while its non-functional.

In the meantime you could try a Package Install for Ubuntu 22 via their instructions:

You can create a VPS container from the “New Environment” button on Reclaim Cloud, then select Ubuntu 22.04 as the Image.

I haven’t tried this myself, but it would be the next best option if you still want to give Manifold a go.

The Manifold team is looking into this. As of yet we’re not able to reproduce this issue. @jimgroom — can you give us any more detail here? Is the Reclaim installer generating a user with a random password? I don’t think that’s part of what we provide. Can we see any output from your installation process to help us understand the problem you’re seeing? I’m sure we can fix this, but we need a little more information to go on.

best,
Zach

Hi Zach,

thanks for checking this out. Going to tag @taylorjadin on this given he has more experience with the installer. Appreciate you!

Female Trouble #4life!

Yes we are creating an admin account for folks like this with a password we generate at install time:

docker exec manifold-api_rails-1 rails manifold:user:create:admin['$EMAIL','$PASSWORD','Site','Admin']

Here’s that in context for our installer, if that’s any help:

I’m a little bit busy today, but can get you all better information and error logs soon. Also happy to file this somewhere more convenient / useful to you all like the github issues page for your docker-compose setup or wherever works best, just let me know what you prefer.

1 Like

Thanks, Taylor. I’ll pass this on to Tim Staden, the developer on my team who’s working on this. Please do post the error messages when you get a chance. We’ll see if we can reproduce this in the meantime.

It’s fine with me to continue the conversation here!

best,
Zach

Thanks @zdavis (and Tim!) here’s what I was able to run through this afternoon. My installer deviates from your instructions a tiny bit, so I decided to just follow the instructions to the letter to try and isolate the issue.

Clone the repo:

git clone https://github.com/ManifoldScholar/manifold-docker-compose.git

Then I swapped out the DOMAIN, CLIENT_BROWSER_API_CABLE_URL, and CLIENT_BROWSER_API_CABLE_URL in environment/manifold.env

cd manifold-docker-compose/

I then tried to spin up the containers as the instructions say:

MANIFOLD_TAG=v8.1.2-beta.4 docker-compose up -d

It doesn’t appear that tag exists on dockerhub so I instead used the latest version available, which does work:

MANIFOLD_TAG=v8.1.1 docker-compose up -d

Then I tried to add an admin account with the command in the instructions:

docker exec -it manifold-docker-compose_api_rails_1 rails manifold:user:create:admin['email@example.com','test123!','First','Last']

This doesn’t initially doesn’t work because the name of the container is incorrect. These names get automatically created, so this could be a result of a different version of Docker. Ultimately, this isn’t a big deal, but it may be worth noting in the docs, or you could have folks use something more like docker-compose exec instead, which can use the service names in the compose file.

I adjusted the name and tried this instead:

docker exec -it manifold-docker-compose-api_rails-1 rails manifold:user:create:admin['email@example.com','test123!','First','Last']

That command runs, but produces this error:

W, [2025-05-20T21:18:23.941314 #93]  WARN -- : ActsAsTaggableOn.delimiter is deprecated and will be removed from v4.0+, use  a ActsAsTaggableOn.default_parser instead

rails aborted!
NoMethodError: undefined method `verified_by_admin_at?' for #<User:0x000055b43ca76f48>
/opt/manifold/api/app/models/user.rb:281:in `calculate_established'
/opt/manifold/api/app/models/user.rb:291:in `infer_established!'
/opt/manifold/api/lib/tasks/user.rake:6:in `create_user'
/opt/manifold/api/lib/tasks/user.rake:27:in `block (4 levels) in <top (required)>'
Tasks: TOP => manifold:user:create:admin
(See full trace by running task with --trace)

I ran it again with --trace for a more verbose error:

docker exec -it manifold-docker-compose-api_rails-1 rails manifold:user:create:admin['email@example.com','test123!', 'First','Last'] --trace

here’s that error:

** Invoke manifold:user:create:admin (first_time)
** Invoke environment (first_time)
** Execute environment
W, [2025-05-20T21:21:24.339080 #125]  WARN -- : ActsAsTaggableOn.delimiter is deprecated and will be removed from v4.0+, use  a ActsAsTaggableOn.default_parser instead

** Execute manifold:user:create:admin
rails aborted!
NoMethodError: undefined method `verified_by_admin_at?' for #<User:0x0000556658d00228>
/usr/local/bundle/gems/activemodel-6.1.7.3/lib/active_model/attribute_methods.rb:469:in `method_missing'
/usr/local/bundle/gems/rolify-5.3.0/lib/rolify/role.rb:98:in `method_missing'
/opt/manifold/api/app/models/user.rb:281:in `calculate_established'
/opt/manifold/api/app/models/user.rb:291:in `infer_established!'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:427:in `block in make_lambda'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:198:in `block (2 levels) in halting'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:604:in `block (2 levels) in default_terminator'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:603:in `catch'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:603:in `block in default_terminator'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:199:in `block in halting'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:512:in `block in invoke_before'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:512:in `each'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:512:in `invoke_before'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:105:in `run_callbacks'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:824:in `_run_validation_callbacks'
/usr/local/bundle/gems/activemodel-6.1.7.3/lib/active_model/validations/callbacks.rb:117:in `run_validations!'
/usr/local/bundle/gems/activemodel-6.1.7.3/lib/active_model/validations.rb:337:in `valid?'
/usr/local/bundle/gems/activerecord-6.1.7.3/lib/active_record/validations.rb:68:in `valid?'
/usr/local/bundle/gems/activerecord-6.1.7.3/lib/active_record/validations.rb:84:in `perform_validations'
/usr/local/bundle/gems/activerecord-6.1.7.3/lib/active_record/validations.rb:47:in `save'
/usr/local/bundle/gems/activerecord-6.1.7.3/lib/active_record/transactions.rb:298:in `block in save'
/usr/local/bundle/gems/activerecord-6.1.7.3/lib/active_record/transactions.rb:354:in `block in with_transaction_returning_status'
/usr/local/bundle/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in `block in transaction'
/usr/local/bundle/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within_new_transaction'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/usr/local/bundle/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/usr/local/bundle/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/transaction.rb:317:in `within_new_transaction'
/usr/local/bundle/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in `transaction'
/usr/local/bundle/gems/activerecord-6.1.7.3/lib/active_record/transactions.rb:350:in `with_transaction_returning_status'
/usr/local/bundle/gems/activerecord-6.1.7.3/lib/active_record/transactions.rb:298:in `save'
/usr/local/bundle/gems/activerecord-6.1.7.3/lib/active_record/suppressor.rb:44:in `save'
/usr/local/bundle/gems/activerecord-6.1.7.3/lib/active_record/persistence.rb:38:in `create'
/opt/manifold/api/lib/tasks/user.rake:6:in `create_user'
/opt/manifold/api/lib/tasks/user.rake:27:in `block (4 levels) in <top (required)>'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/task.rb:279:in `block in execute'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/task.rb:279:in `each'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/task.rb:279:in `execute'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/task.rb:199:in `synchronize'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/task.rb:199:in `invoke_with_call_chain'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/task.rb:188:in `invoke'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/application.rb:160:in `invoke_task'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/application.rb:116:in `each'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/application.rb:116:in `block in top_level'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/application.rb:125:in `run_with_threads'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/application.rb:110:in `top_level'
/usr/local/bundle/gems/railties-6.1.7.3/lib/rails/commands/rake/rake_command.rb:24:in `block (2 levels) in perform'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/application.rb:186:in `standard_exception_handling'
/usr/local/bundle/gems/railties-6.1.7.3/lib/rails/commands/rake/rake_command.rb:24:in `block in perform'
/usr/local/bundle/gems/rake-13.0.6/lib/rake/rake_module.rb:59:in `with_application'
/usr/local/bundle/gems/railties-6.1.7.3/lib/rails/commands/rake/rake_command.rb:18:in `perform'
/usr/local/bundle/gems/railties-6.1.7.3/lib/rails/command.rb:50:in `invoke'
/usr/local/bundle/gems/railties-6.1.7.3/lib/rails/commands.rb:18:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => manifold:user:create:admin

Awesome. Thank you. We’ve isolated both problems and will have them fixed in the master branch in the next couple days. There’s a v9 Manifold release coming out in early June, and we’ll be publishing new docker images for that release.