Closed Floppy closed 6 months ago
Hey @Floppy nice work, you can change anything this will not change people's installations. Think of this as an install script, not infrastructure-as-code
Ah ok, cool, so people with existing installations will need to change the image name themselves?
Long story short, when upgrading, Cosmos normally overwrite containers and so on while retaining the volumes (and the password that are documented in the cosmos_persistent_env). So it's all good.
More details, since the names of services will different it wont be able to do that "automagically". That said, the only obstacle is people need to make sure their stack name is the same as the one they already have (ex. changing Manyfolds to Van_DAM or whatever they used). Then the container will overwrite properly (since the service / stack name is the same) and all will be good.
This is of course assuming that the image name only changed? if you changed the path to the 3D models. that's ok too, Cosmos prompts for it on install anyway, including if you're upgrading (see the demo here: https://cosmos-cloud.io/cosmos-ui/market-listing/cosmos-cloud/Van_DAM)
Finally, the default values of the DB you dont need to worry about them, they are marked as cosmos-persistent-env
meaning if you try to upgrade by overwriting the container, it will preserve the right credentials for your setup.
Also I noticed the DB creds were static, we have a password generator included in the compose: https://github.com/azukaar/cosmos-servapps-official/blob/master/servapps/Nextcloud/cosmos-compose.json#L23
BTW if you are interested in showing Cosmos as an install method for Manyfolds in your doc, we have a "fancy" link that redirect people to their personal server's app pages (this is the link for Van_DAM, which you can update once Manyfolds rename is merged: https://cosmos-cloud.io/proxy#cosmos-ui/market-listing/cosmos-cloud/Van_DAM) and we have a badge too!
https://img.shields.io/badge/Cosmos-Install%20Server-violet
Here's an example of how Ryot documented it:
which takes you to
Fantastic, thanks. I'll definitely be adding it to my installer list, so I'll use that link for sure!
OK, all changes made now, I think!
I think you need to rename the folder too no? You changed the link to the icon
I did - you can see the changed paths in the diff view.
Thanks you! (sorry I didnt see it in the file diff!)
Hey @Floppy I just tested it, and it seems to not see the database:
2024-02-03 11:30:11
Caused by:
2024-02-03 11:30:11
SQLite3::SQLException: no such column: problems.ignored (SQLite3::SQLException)
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/sqlite3-1.7.2-x86_64-linux/lib/sqlite3/database.rb:177:in `initialize'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/sqlite3-1.7.2-x86_64-linux/lib/sqlite3/database.rb:177:in `new'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/sqlite3-1.7.2-x86_64-linux/lib/sqlite3/database.rb:177:in `prepare'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/connection_adapters/sqlite3/database_statements.rb:61:in `block (2 levels) in exec_query'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.8/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.8/lib/active_support/dependencies/interlock.rb:41:in `permit_concurrent_loads'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/connection_adapters/sqlite3/database_statements.rb:47:in `block in exec_query'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/connection_adapters/abstract_adapter.rb:752:in `block in log'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.8/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/connection_adapters/abstract_adapter.rb:743:in `log'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/connection_adapters/sqlite3/database_statements.rb:46:in `exec_query'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/connection_adapters/abstract/database_statements.rb:560:in `select'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/connection_adapters/abstract/database_statements.rb:66:in `select_all'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/connection_adapters/abstract/query_cache.rb:110:in `select_all'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/querying.rb:54:in `_query_by_sql'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/relation.rb:942:in `block in exec_main_query'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/relation.rb:962:in `skip_query_cache_if_necessary'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/relation.rb:928:in `exec_main_query'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/relation.rb:914:in `block in exec_queries'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/relation.rb:962:in `skip_query_cache_if_necessary'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/relation.rb:908:in `exec_queries'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/relation.rb:695:in `load'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/relation.rb:250:in `records'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/relation.rb:580:in `destroy_all'
2024-02-03 11:30:11
/usr/src/app/db/data/20230612080306_remove_destination_exists_problems.rb:6:in `up'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/migration.rb:908:in `public_send'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/migration.rb:908:in `exec_migration'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/migration.rb:889:in `block (2 levels) in migrate'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/migration.rb:888:in `block in migrate'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:215:in `with_connection'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/migration.rb:887:in `migrate'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/migration.rb:1095:in `migrate'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/migration.rb:1409:in `block in execute_migration_in_transaction'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within_new_transaction'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/connection_adapters/abstract/transaction.rb:317:in `within_new_transaction'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/transactions.rb:209:in `transaction'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/migration.rb:1460:in `ddl_transaction'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/migration.rb:1408:in `execute_migration_in_transaction'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/migration.rb:1370:in `run_without_lock'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/migration.rb:1325:in `run'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/bundler/gems/data-migrate-65a3b57c2c5a/lib/data_migrate/migration_context.rb:29:in `run'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/bundler/gems/data-migrate-65a3b57c2c5a/lib/data_migrate/data_migrator.rb:69:in `run'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/bundler/gems/data-migrate-65a3b57c2c5a/lib/data_migrate/database_tasks.rb:59:in `run_migration'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/bundler/gems/data-migrate-65a3b57c2c5a/lib/data_migrate/database_tasks.rb:178:in `block in migrate_with_data'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/bundler/gems/data-migrate-65a3b57c2c5a/lib/data_migrate/database_tasks.rb:177:in `each'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/bundler/gems/data-migrate-65a3b57c2c5a/lib/data_migrate/database_tasks.rb:177:in `migrate_with_data'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/bundler/gems/data-migrate-65a3b57c2c5a/lib/data_migrate/database_tasks.rb:206:in `block (2 levels) in prepare_all_with_data'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/bundler/gems/data-migrate-65a3b57c2c5a/lib/data_migrate/database_tasks.rb:89:in `with_temporary_pool'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/bundler/gems/data-migrate-65a3b57c2c5a/lib/data_migrate/database_tasks.rb:186:in `block in prepare_all_with_data'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/tasks/database_tasks.rb:557:in `block (2 levels) in each_current_configuration'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/tasks/database_tasks.rb:554:in `each'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/tasks/database_tasks.rb:554:in `block in each_current_configuration'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/tasks/database_tasks.rb:553:in `each'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8/lib/active_record/tasks/database_tasks.rb:553:in `each_current_configuration'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/bundler/gems/data-migrate-65a3b57c2c5a/lib/data_migrate/database_tasks.rb:185:in `prepare_all_with_data'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/bundler/gems/data-migrate-65a3b57c2c5a/tasks/databases.rake:153:in `block (3 levels) in <main>'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/task.rb:281:in `block in execute'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/task.rb:281:in `each'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/task.rb:281:in `execute'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/task.rb:199:in `synchronize'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/task.rb:199:in `invoke_with_call_chain'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/task.rb:188:in `invoke'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/application.rb:182:in `invoke_task'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/application.rb:138:in `block (2 levels) in top_level'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/application.rb:138:in `each'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/application.rb:138:in `block in top_level'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/application.rb:147:in `run_with_threads'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/application.rb:132:in `top_level'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/railties-7.0.8/lib/rails/commands/rake/rake_command.rb:24:in `block (2 levels) in perform'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/application.rb:208:in `standard_exception_handling'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/railties-7.0.8/lib/rails/commands/rake/rake_command.rb:24:in `block in perform'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/rake-13.1.0/lib/rake/rake_module.rb:59:in `with_application'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/railties-7.0.8/lib/rails/commands/rake/rake_command.rb:18:in `perform'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/railties-7.0.8/lib/rails/command.rb:51:in `invoke'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/railties-7.0.8/lib/rails/commands.rb:18:in `<main>'
2024-02-03 11:30:11
/usr/src/app/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
2024-02-03 11:30:11
Tasks: TOP => db:prepare:with_data
2024-02-03 11:30:11
(See full trace by running task with --trace)
2024-02-03 11:30:11
== Data =======================================================================
2024-02-03 11:30:11
== 20230612080306 RemoveDestinationExistsProblems: migrating ==================
This is what the container looks like (the creds seems correct):
RE: I see on the official compose you have moved DATABASE_URL to DB_HOST I guess that is the issue, is there anything else?
This was a problem with a bug in the v0.56.0 release, I think, looking at the log. It's fixed now and released as v0.56.1, so try again and you should be OK.
Resolves azukaar/Cosmos-Server#188
@azukaar there are a couple of things I'm not sure of, which I may still need to change. Mainly, if I change them, will it break people's existing installations? These are:
1) The folder name 2) default values for DB_NAME and DB_USER in the compose file
Should I leave those as they are, or update them? I would like to make sure people have a smooth upgrade path to the new name, ideally without reinstalling!