Coder Social home page Coder Social logo

openproject-deploy's Introduction

openproject-deploy's People

Contributors

b12f avatar candiedoperation avatar crohr avatar dev-clavis avatar kharonus avatar lgaida avatar machisuji avatar marklowski avatar oliverguenther avatar richardjacton avatar shirshak55 avatar wilsenhc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openproject-deploy's Issues

docker-compose deployment errors on first start up

On a clean server with a fresh docker install, the deployment of OpenProject using the docker-compose.yml in this repository results in a number of errors. Running:

❯ git clone https://github.com/opf/openproject-deploy --depth=1 --branch=stable/12 openproject
❯ cd openproject/compose
❯ docker compose pull
❯ OPENPROJECT_HTTPS=false docker compose up

will result in the following stack trace (and ultimately many more but those may be caused by this):

lars-web-1       | 20230105134940_work_package_date_indices.rb
lars-web-1       |
lars-web-1       |
lars-web-1       |      from /app/config/initializers/06-pending_migrations_check.rb:34:in `<top (required)>'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/engine.rb:667:in `load'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/engine.rb:667:in `block in load_config_initializer'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.4.1/lib/active_support/notifications.rb:208:in `instrument'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/engine.rb:666:in `load_config_initializer'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/engine.rb:620:in `block (2 levels) in <class:Engine>'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/engine.rb:619:in `each'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/engine.rb:619:in `block in <class:Engine>'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/initializable.rb:32:in `instance_exec'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/initializable.rb:32:in `run'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/initializable.rb:61:in `block in run_initializers'
lars-web-1       |      from /usr/local/lib/ruby/3.1.0/tsort.rb:228:in `block in tsort_each'
lars-web-1       |      from /usr/local/lib/ruby/3.1.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
lars-web-1       |      from /usr/local/lib/ruby/3.1.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
lars-web-1       |      from /usr/local/lib/ruby/3.1.0/tsort.rb:431:in `each_strongly_connected_component_from'
lars-web-1       |      from /usr/local/lib/ruby/3.1.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/initializable.rb:50:in `each'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/initializable.rb:50:in `tsort_each_child'
lars-web-1       |      from /usr/local/lib/ruby/3.1.0/tsort.rb:415:in `call'
lars-web-1       |      from /usr/local/lib/ruby/3.1.0/tsort.rb:415:in `each_strongly_connected_component_from'
lars-web-1       |      from /usr/local/lib/ruby/3.1.0/tsort.rb:349:in `block in each_strongly_connected_component'
lars-web-1       |      from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `each'
lars-web-1       |      from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `call'
lars-web-1       |      from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `each_strongly_connected_component'
lars-web-1       |      from /usr/local/lib/ruby/3.1.0/tsort.rb:226:in `tsort_each'
lars-web-1       |      from /usr/local/lib/ruby/3.1.0/tsort.rb:205:in `tsort_each'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/initializable.rb:60:in `run_initializers'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/application.rb:372:in `initialize!'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/railtie.rb:226:in `public_send'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/railtie.rb:226:in `method_missing'
lars-web-1       |      from /app/config/environment.rb:32:in `<top (required)>'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
lars-web-1       |      from config.ru:31:in `block in <main>'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.6.2/lib/rack/builder.rb:116:in `eval'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.6.2/lib/rack/builder.rb:116:in `new_from_string'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.6.2/lib/rack/builder.rb:105:in `load_file'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.6.2/lib/rack/builder.rb:66:in `parse_file'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.6.2/lib/rack/server.rb:349:in `build_app_and_options_from_config'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.6.2/lib/rack/server.rb:249:in `app'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.6.2/lib/rack/server.rb:422:in `wrapped_app'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.6.2/lib/rack/server.rb:312:in `block in start'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.6.2/lib/rack/server.rb:379:in `handle_profiling'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.6.2/lib/rack/server.rb:311:in `start'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/commands/server/server_command.rb:38:in `start'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/commands/server/server_command.rb:143:in `block in perform'
lars-web-1       |      from <internal:kernel>:90:in `tap'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/commands/server/server_command.rb:134:in `perform'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/command/base.rb:87:in `perform'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/command.rb:48:in `invoke'
lars-web-1       |      from /app/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.1/lib/rails/commands.rb:18:in `<top (required)>'
lars-web-1       |      from bin/rails:9:in `require'
lars-web-1       |      from bin/rails:9:in `<main>'
lars-db-1        | 2023-03-13 18:58:15.873 UTC [76] ERROR:  relation "users" does not exist at character 491
lars-db-1        | 2023-03-13 18:58:15.873 UTC [76] STATEMENT:  SELECT a.attname, format_type(a.atttypid, a.atttypmod),
lars-db-1        |             pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod,
lars-db-1        |             c.collname, col_description(a.attrelid, a.attnum) AS comment,
lars-db-1        |             attgenerated as attgenerated
lars-db-1        |        FROM pg_attribute a
lars-db-1        |        LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
lars-db-1        |        LEFT JOIN pg_type t ON a.atttypid = t.oid
lars-db-1        |        LEFT JOIN pg_collation c ON a.attcollation = c.oid AND a.attcollation <> t.typcollation
lars-db-1        |       WHERE a.attrelid = '"users"'::regclass
lars-db-1        |         AND a.attnum > 0 AND NOT a.attisdropped
lars-db-1        |       ORDER BY a.attnum
lars-db-1        |
lars-worker-1    | rake aborted!
lars-worker-1    | ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  relation "users" does not exist
lars-worker-1    | LINE 9:  WHERE a.attrelid = '"users"'::regclass
lars-worker-1    |                             ^

Full log: op.log

Problem with postgres docker image version

Hi, I had following error when running open project with docker-compose:

initdb: error: The program "postgres" is needed by initdb but was not found in the

To fix that I had to change:
services: db: image: postgres:13
to:
services: db: image: postgres:13-bullseye

Please take a look into that issue.

Large size after installation

I have a problem. After installation with docker-compose, if you go to the panel itself -> Administration -> Information, it shows that openproject takes up 65GB of disk space. Compared with the version installed on the server, with attachment files the system takes up 3GB of space. How to configure docker to reduce size?

Error while docker compose up

Hi,

Getting following error with docker-compose up

proxy_1     | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.31.0.3. Set the 'ServerName' directive globally to suppress this message
seeder_1    | /app/config/constants/settings/definition.rb:295:in `find_env_var_override': Using unprefixed environment variables is deprecated. Please use OPENPROJECT_ATTACHMENTS_STORAGE_PATH instead of ATTACHMENTS_STORAGE_PATH (StructuredWarnings::StandardWarning)
seeder_1    | /app/config/constants/settings/definition.rb:295:in `find_env_var_override': Using unprefixed environment variables is deprecated. Please use OPENPROJECT_RAILS_CACHE_STORE instead of RAILS_CACHE_STORE (StructuredWarnings::StandardWarning)
worker_1    | /app/config/constants/settings/definition.rb:295:in `find_env_var_override': Using unprefixed environment variables is deprecated. Please use OPENPROJECT_ATTACHMENTS_STORAGE_PATH instead of ATTACHMENTS_STORAGE_PATH (StructuredWarnings::StandardWarning)
worker_1    | /app/config/constants/settings/definition.rb:295:in `find_env_var_override': Using unprefixed environment variables is deprecated. Please use OPENPROJECT_RAILS_CACHE_STORE instead of RAILS_CACHE_STORE (StructuredWarnings::StandardWarning)
worker_1    | /app/lib/tasks/environment.rake:32:in `block (2 levels) in <top (required)>': Forcefully loading the application. Use :environment to avoid eager loading. (StructuredWarnings::StandardWarning)
web_1       | /app/config/constants/settings/definition.rb:295:in `find_env_var_override': Using unprefixed environment variables is deprecated. Please use OPENPROJECT_ATTACHMENTS_STORAGE_PATH instead of ATTACHMENTS_STORAGE_PATH (StructuredWarnings::StandardWarning)
web_1       | /app/config/constants/settings/definition.rb:295:in `find_env_var_override': Using unprefixed environment variables is deprecated. Please use OPENPROJECT_RAILS_CACHE_STORE instead of RAILS_CACHE_STORE (StructuredWarnings::StandardWarning)
web_1       | => Booting Puma
web_1       | => Rails 7.0.3.1 application starting in production
web_1       | => Run `bin/rails server --help` for more startup options
autoheal_1  | 21-09-2022 06:40:54 Container /compose_web_1 (777aa74f41ac) found to be unhealthy - Restarting container now with 10s timeout
web_1       | Exiting
compose_web_1 exited with code 1..

Any solution ?

ERROR: for seeder Get "https://registry-1.docker.io/v2/openproject/community/manifests/sha256:1755c524fab49e943c069eb2c6781b64f0aad0f56e8581ec06a450456797b49e": read tcp 192.168.178.35:54120->52.5.157.114:443: read: connection reset by peer

git clone https://github.com/opf/openproject-deploy --depth=1 --branch=stable/12 openproject
cd openproject/compose

docker-compose pull

Pulling db       ... error
Pulling cache    ... done
Pulling autoheal ... done
Pulling seeder   ... error
Pulling cron     ... done
Pulling worker   ... done
Pulling web      ... done
Pulling proxy    ... done

ERROR: for seeder  Get "https://registry-1.docker.io/v2/openproject/community/manifests/sha256:1755c524fab49e943c069eb2c6781b64f0aad0f56e8581ec06a450456797b49e": read tcp 192.168.178.35:54120->52.5.157.114:443: read: connection reset by peer

ERROR: for db  Head "https://registry-1.docker.io/v2/library/postgres/manifests/13": read tcp 192.168.178.35:60992->34.203.135.183:443: read: connection reset by peer
ERROR: Get "https://registry-1.docker.io/v2/openproject/community/manifests/sha256:1755c524fab49e943c069eb2c6781b64f0aad0f56e8581ec06a450456797b49e": read tcp 192.168.178.35:54120->52.5.157.114:443: read: connection reset by peer
Head "https://registry-1.docker.io/v2/library/postgres/manifests/13": read tcp 192.168.178.35:60992->34.203.135.183:443: read: connection reset by peer

Error pulling image config: TLS handshake timeout

Having a few issues deploying this to a fresh install with docker.

I followed the instructions here: https://www.openproject.org/docs/installation-and-operations/installation/docker/

Upon running docker-compose pull I get the following error:

error pulling image configuration: Get "https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/48/487a6b982637737434edc432eb386d7d1d4f15a437275ada6261da640511c722/data?verify=1641586568-0eOijBTP23A2cjIR%2FCfvj92zESQ%3D": net/http: TLS handshake timeout

K8S - pending migration stuck + INGRESS problem

Worker and web deployment are restarting.

Checkings pod logs, i can see from the web pod :

Migrations are pending. To resolve this issue, run:

        bin/rails db:migrate RAILS_ENV=production

in the worker logs, having this error :

-----> Setting PGVERSION=13 PGBIN=/usr/lib/postgresql/13/bin PGCONF_FILE=/etc/postgresql/13/main/postgresql.conf
/app/config/constants/settings/definition.rb:303:in `find_env_var_override': Using unprefixed environment variables is deprecated. Please use OPENPROJECT_ATTACHMENTS_STORAGE_PATH instead of ATTACHMENTS_STORAGE_PATH (StructuredWarnings::StandardWarning)
/app/config/constants/settings/definition.rb:303:in `find_env_var_override': Using unprefixed environment variables is deprecated. Please use OPENPROJECT_RAILS_CACHE_STORE instead of RAILS_CACHE_STORE (StructuredWarnings::StandardWarning)
/app/lib/tasks/environment.rake:32:in `block (2 levels) in <top (required)>': Forcefully loading the application. Use :environment to avoid eager loading. (StructuredWarnings::StandardWarning)
rake aborted!
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  relation "users" does not exist
LINE 9:  WHERE a.attrelid = '"users"'::regclass
                            ^

It's like the worker can't migrate the database !
Any idea what is wrong ?

Thank you for your help.

Unable to start stack

I'm trying to run OpenProject from Portainer for the first time. However, the frontend only shows Service Unavailable, after a while it is Proxy Error with DNS lookup failure for: web.

Reviewing the logs reveals the same message in multiple containers:

-----> Setting PGVERSION=13 PGBIN=/usr/lib/postgresql/13/bin PGCONF_FILE=/etc/postgresql/13/main/postgresql.conf
./docker/prod/entrypoint.sh: line 69: /app/docker/prod/gosu: cannot execute binary file: Exec format error
./docker/prod/entrypoint.sh: line 69: /app/docker/prod/gosu: Success

I can't attach to any of these containers, since they seem to immediately crash.
What could be the problem here?

How to skip creating the demo projects?

I have installed OpenProject using the provided docker-compose.yml file and everything is working fine,
however I did not found a way to skip the creation of the default projects:

Screenshot from 2022-06-10 17-01-16

Hoc can I configure it in order to avoid the creation of Scrum project and Demo project?

lc_collate values for database "postgres" do not match: old "C", new "en_US.utf8"

When attempting to upgrade Postgres, I got message:

lc_collate values for database "postgres" do not match: old "C", new "en_US.utf8"

Any ideas?

$ docker-compose -f docker-compose.yml -f docker-compose.control.yml run upgrade
Creating compose_upgrade_run ... done
/control/upgrade/scripts/00-db-upgrade.sh: line 9: [: 9.6: integer expression expected
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.utf8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/postgresql/work/datanew ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Etc/UTC
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

Success. You can now start the database server using:

    /usr/lib/postgresql/13/bin/pg_ctl -D /var/lib/postgresql/work/datanew -l logfile start

Performing a dry-run migration to PostgreSQL 13...
Performing Consistency Checks
-----------------------------
Checking cluster versions                                   ok
Checking database user is the install user                  ok
Checking database connection settings                       ok
Checking for prepared transactions                          ok
Checking for system-defined composite types in user tables  ok
Checking for reg* data types in user tables                 ok
Checking for contrib/isn with bigint-passing mismatch       ok
Checking for tables WITH OIDS                               ok
Checking for invalid "sql_identifier" user columns          ok
Checking for invalid "unknown" user columns                 ok
Checking for hash indexes                                   ok

lc_collate values for database "postgres" do not match:  old "C", new "en_US.utf8"
Failure, exiting

[Error 500]

Hey all;

After fresh docker install, using https://github.com/opf/openproject-deploy/tree/stable/11/compose , when i login i have:

"Hostname setting mismatch
Your application is running with its host name setting set to localhost:3000, but the request is a 10.10.150.17 hostname. This will result in errors! Go to System settings and change the "Host name" setting to correct this."

When i go to settings and change it to 10.10.150.17:3000 and save i got error 500:

"[Error 500] An error occurred on the page you were trying to access. If you continue to experience problems please contact your OpenProject administrator for assistance."

Docker logs show me:

[root@localhost compose]# docker logs --tail 100 compose_web_1
=> Booting Puma
=> Rails 6.0.3.4 application starting in production
=> Run `rails server --help` for more startup options
DEPRECATION: :dalli_store will be removed in Dalli 3.0.
Please use Rails' official :mem_cache_store instead.
https://guides.rubyonrails.org/caching_with_rails.html
/app/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.4/lib/active_record/railtie.rb:139:in `block (3 levels) in <class:Railtie>': Ignoring db/schema_cache.yml because it has expired. The current schema version is 20190220080647, bu
t the one in the cache is 20201125121949. (StructuredWarnings::StandardWarning)
[1] Puma starting in cluster mode...
[1] * Puma version: 5.1.0 (ruby 2.7.1-p83) ("At Your Service")
[1] *  Min threads: 4
[1] *  Max threads: 16
[1] *  Environment: production
[1] *   Master PID: 1
[1] *      Workers: 1
[1] *     Restarts: (✔) hot (✖) phased
[1] * Preloading application
[1] * Listening on http://0.0.0.0:8080
[1] Use Ctrl-C to stop
[1] - Worker 0 (PID: 30) booted, phase: 0
I, [2020-12-18T14:55:29.909966 #30]  INFO -- : Fork detected, re-connecting child process...
I, [2020-12-18T14:55:30.619829 #30]  INFO -- : method=GET path=/ format=html controller=HomescreenController acti
W, [2020-12-18T14:55:30.734559 #30]  WARN -- : Scoped order is ignored, it's forced to be batch order.
W, [2020-12-18T14:55:30.783540 #30]  WARN -- : Scoped order is ignored, it's forced to be batch order.
W, [2020-12-18T14:55:30.837106 #30]  WARN -- : Scoped order is ignored, it's forced to be batch order.
I, [2020-12-18T14:55:30.885914 #30]  INFO -- : method=GET path=/highlighting/styles/b46dafc367331616eaf0c835b62cb
174.35 view=136.62 db=24.44 user=3
I, [2020-12-18T14:55:40.189918 #30]  INFO -- : method=POST path=/login format=html controller=AccountController a
I, [2020-12-18T14:56:24.575821 #30]  INFO -- : User admin changed password successfully.
I, [2020-12-18T14:56:24.967570 #30]  INFO -- : method=POS[root@localhost compose]# docker logs --tail 100 compose_web_1
=> Booting Puma
=> Rails 6.0.3.4 application starting in production
=> Run `rails server --help` for more startup options
DEPRECATION: :dalli_store will be removed in Dalli 3.0.
Please use Rails' official :mem_cache_store instead.
https://guides.rubyonrails.org/caching_with_rails.html
/app/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.4/lib/active_record/railtie.rb:139:in `block (3 levels) in <class:Railtie>': Ignoring db/schema_cache.yml because it has expired. The current schema version is 20190220080647, bu
t the one in the cache is 20201125121949. (StructuredWarnings::StandardWarning)
[1] Puma starting in cluster mode...
[1] * Puma version: 5.1.0 (ruby 2.7.1-p83) ("At Your Service")
[1] *  Min threads: 4
[1] *  Max threads: 16
[1] *  Environment: production
[1] *   Master PID: 1
[1] *      Workers: 1
[1] *     Restarts: (✔) hot (✖) phased
[1] * Preloading application
[1] * Listening on http://0.0.0.0:8080
[1] Use Ctrl-C to stop
[1] - Worker 0 (PID: 30) booted, phase: 0
I, [2020-12-18T14:55:29.909966 #30]  INFO -- : Fork detected, re-connecting child process...
I, [2020-12-18T14:55:30.619829 #30]  INFO -- : method=GET path=/ format=html controller=HomescreenController acti
W, [2020-12-18T14:55:30.734559 #30]  WARN -- : Scoped order is ignored, it's forced to be batch order.
W, [2020-12-18T14:55:30.783540 #30]  WARN -- : Scoped order is ignored, it's forced to be batch order.
W, [2020-12-18T14:55:30.837106 #30]  WARN -- : Scoped order is ignored, it's forced to be batch order.
I, [2020-12-18T14:55:30.885914 #30]  INFO -- : method=GET path=/highlighting/styles/b46dafc367331616eaf0c835b62cb
174.35 view=136.62 db=24.44 user=3
I, [2020-12-18T14:55:40.189918 #30]  INFO -- : method=POST path=/login format=html controller=AccountController a
I, [2020-12-18T14:56:24.575821 #30]  INFO -- : User admin changed password successfully.
I, [2020-12-18T14:56:24.967570 #30]  INFO -- : method=POST path=/account/change_password format=html controller=A
0/ user=2
E, [2020-12-18T14:56:25.153957 #30] ERROR -- : [current_user=OpenProject Admin] PG::UndefinedColumn: ERROR:  colu
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
: PG::UndefinedColumn: ERROR:  column "updated_on" of relation "settings" does not exist
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
I, [2020-12-18T14:56:25.225204 #30]  INFO -- : method=GET path=/ format=html controller=HomescreenController acti
I, [2020-12-18T14:56:27.837443 #30]  INFO -- : method=PATCH path=/user_settings format=html controller=Onboarding
E, [2020-12-18T14:56:28.019087 #30] ERROR -- : [current_user=OpenProject Admin] PG::UndefinedColumn: ERROR:  colu
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
: PG::UndefinedColumn: ERROR:  column "updated_on" of relation "settings" does not exist
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
I, [2020-12-18T14:56:28.109786 #30]  INFO -- : method=GET path=/ format=html controller=HomescreenController acti
I, [2020-12-18T14:56:33.735834 #30]  INFO -- : method=GET path=/admin format=html controller=AdminController acti
I, [2020-12-18T14:56:36.528606 #30]  INFO -- : method=GET path=/settings/general format=html controller=Settings:
E, [2020-12-18T14:56:52.679972 #30] ERROR -- : [current_user=OpenProject Admin] PG::UndefinedColumn: ERROR:  colu
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
: PG::UndefinedColumn: ERROR:  column "updated_on" of relation "settings" does not exist
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
I, [2020-12-18T14:56:52.716178 #30]  INFO -- : method=PATCH path=/settings/general format=html controller=Setting
I, [2020-12-18T14:58:08.622687 #30]  INFO -- : method=GET path=/settings/general format=html controller=Settings:
E, [2020-12-18T14:58:25.012683 #30] ERROR -- : [current_user=OpenProject Admin] PG::UndefinedColumn: ERROR:  colu
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
: PG::UndefinedColumn: ERROR:  column "updated_on" of relation "settings" does not exist
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
I, [2020-12-18T14:58:25.054331 #30]  INFO -- : method=PATCH path=/settings/general format=html controller=Setting
I, [2020-12-18T15:08:07.603437 #30]  INFO -- : method=GET path=/admin format=html controller=AdminController acti
I, [2020-12-18T15:08:09.526422 #30]  INFO -- : method=GET path=/settings/general format=html controller=Settings:
E, [2020-12-18T15:08:31.524447 #30] ERROR -- : [current_user=OpenProject Admin] PG::UndefinedColumn: ERROR:  colu
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
: PG::UndefinedColumn: ERROR:  column "updated_on" of relation "settings" does not exist
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
I, [2020-12-18T15:08:31.590014 #30]  INFO -- : method=PATCH path=/settings/general format=html controller=SettingT path=/account/change_password format=html controller=A
0/ user=2
E, [2020-12-18T14:56:25.153957 #30] ERROR -- : [current_user=OpenProject Admin] PG::UndefinedColumn: ERROR:  colu
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
: PG::UndefinedColumn: ERROR:  column "updated_on" of relation "settings" does not exist
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
I, [2020-12-18T14:56:25.225204 #30]  INFO -- : method=GET path=/ format=html controller=HomescreenController acti
I, [2020-12-18T14:56:27.837443 #30]  INFO -- : method=PATCH path=/user_settings format=html controller=Onboarding
E, [2020-12-18T14:56:28.019087 #30] ERROR -- : [current_user=OpenProject Admin] PG::UndefinedColumn: ERROR:  colu
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
: PG::UndefinedColumn: ERROR:  column "updated_on" of relation "settings" does not exist
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
I, [2020-12-18T14:56:28.109786 #30]  INFO -- : method=GET path=/ format=html controller=HomescreenController acti
I, [2020-12-18T14:56:33.735834 #30]  INFO -- : method=GET path=/admin format=html controller=AdminController acti
I, [2020-12-18T14:56:36.528606 #30]  INFO -- : method=GET path=/settings/general format=html controller=Settings:
E, [2020-12-18T14:56:52.679972 #30] ERROR -- : [current_user=OpenProject Admin] PG::UndefinedColumn: ERROR:  colu
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
: PG::UndefinedColumn: ERROR:  column "updated_on" of relation "settings" does not exist
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
I, [2020-12-18T14:56:52.716178 #30]  INFO -- : method=PATCH path=/settings/general format=html controller=Setting
I, [2020-12-18T14:58:08.622687 #30]  INFO -- : method=GET path=/settings/general format=html controller=Settings:
E, [2020-12-18T14:58:25.012683 #30] ERROR -- : [current_user=OpenProject Admin] PG::UndefinedColumn: ERROR:  colu
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
: PG::UndefinedColumn: ERROR:  column "updated_on" of relation "settings" does not exist
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
I, [2020-12-18T14:58:25.054331 #30]  INFO -- : method=PATCH path=/settings/general format=html controller=Setting
I, [2020-12-18T15:08:07.603437 #30]  INFO -- : method=GET path=/admin format=html controller=AdminController acti
I, [2020-12-18T15:08:09.526422 #30]  INFO -- : method=GET path=/settings/general format=html controller=Settings:
E, [2020-12-18T15:08:31.524447 #30] ERROR -- : [current_user=OpenProject Admin] PG::UndefinedColumn: ERROR:  colu
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
: PG::UndefinedColumn: ERROR:  column "updated_on" of relation "settings" does not exist
LINE 1: UPDATE "settings" SET "value" = $1, "updated_on" = $2 WHERE ...
^
I, [2020-12-18T15:08:31.590014 #30]  INFO -- : method=PATCH path=/settings/general format=html controller=Setting

How can i replace to the correct "Host name" if i have error 500 when click save?

Steps to reproduce:
After install, login and try to replace the "Host name" in System settings.

P.S.: i cant see any variable that i could use to set "Host name" ( https://docs.openproject.org/installation-and-operations/configuration/environment )

docker-compose database will not start

Attaching to compose_db_1, compose_autoheal_1, compose_cache_1, compose_seeder_1, compose_worker_1, compose_cron_1, compose_web_1, compose_proxy_1
cron_1      | -----> Setting PGVERSION=13 PGBIN=/usr/lib/postgresql/13/bin PGCONF_FILE=/etc/postgresql/13/main/postgresql.conf
db_1        | chown: cannot dereference '/var/lib/postgresql/data/postgresql.conf': No such file or directory
cron_1      | [cron] IMAP email checking is disabled
cron_1      | [cron] Rescheduling in 600s
proxy_1     | -----> Setting PGVERSION=13 PGBIN=/usr/lib/postgresql/13/bin PGCONF_FILE=/etc/postgresql/13/main/postgresql.conf
seeder_1    | -----> Setting PGVERSION=13 PGBIN=/usr/lib/postgresql/13/bin PGCONF_FILE=/etc/postgresql/13/main/postgresql.conf
web_1       | -----> Setting PGVERSION=13 PGBIN=/usr/lib/postgresql/13/bin PGCONF_FILE=/etc/postgresql/13/main/postgresql.conf
worker_1    | -----> Setting PGVERSION=13 PGBIN=/usr/lib/postgresql/13/bin PGCONF_FILE=/etc/postgresql/13/main/postgresql.conf
proxy_1     | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.224.3. Set the 'ServerName' directive globally to suppress this message
compose_seeder_1 exited with code 2
compose_db_1 exited with code 1
db_1        | chown: cannot dereference '/var/lib/postgresql/data/postgresql.conf': No such file or directory
db_1        | chown: cannot dereference '/var/lib/postgresql/data/postgresql.conf': No such file or directory
db_1        | chown: cannot dereference '/var/lib/postgresql/data/postgresql.conf': No such file or directory
db_1        | chown: cannot dereference '/var/lib/postgresql/data/postgresql.conf': No such file or directory
db_1        | chown: cannot dereference '/var/lib/postgresql/data/postgresql.conf': No such file or directory
seeder_1    | -----> Setting PGVERSION=13 PGBIN=/usr/lib/postgresql/13/bin PGCONF_FILE=/etc/postgresql/13/main/postgresql.conf
seeder_1    | -----> Setting PGVERSION=13 PGBIN=/usr/lib/postgresql/13/bin PGCONF_FILE=/etc/postgresql/13/main/postgresql.conf
seeder_1    | -----> Setting PGVERSION=13 PGBIN=/usr/lib/postgresql/13/bin PGCONF_FILE=/etc/postgresql/13/main/postgresql.conf
seeder_1    | -----> Setting PGVERSION=13 PGBIN=/usr/lib/postgresql/13/bin PGCONF_FILE=/etc/postgresql/13/main/postgresql.conf
seeder_1    | -----> Setting PGVERSION=13 PGBIN=/usr/lib/postgresql/13/bin PGCONF_FILE=/etc/postgresql/13/main/postgresql.conf
db_1        | chown: cannot dereference '/var/lib/postgresql/data/postgresql.conf': No such file or directory
db_1        | chown: cannot dereference '/var/lib/postgresql/data/postgresql.conf': No such file or directory
db_1        | chown: cannot dereference '/var/lib/postgresql/data/postgresql.conf': No such file or directory
db_1        | chown: cannot dereference '/var/lib/postgresql/data/postgresql.conf': No such file or directory
db_1        | chown: cannot dereference '/var/lib/postgresql/data/postgresql.conf': No such file or directory
db_1        | chown: cannot dereference '/var/lib/postgresql/data/postgresql.conf': No such file or directory

Not sure how to proceed or troubleshoot.

docker-compose needs update for HTTPS

As HTTPS usage is now set true by default, it requires the set it to false for the provided docker-compose file.
I did this and it seems to work, could provide a PR, but as I am not very deep into the project maybe a dev would like to do it in they way they want it.

time problem

Hello, when I use openprojcet, I found that the modification time of the administrator is different from that of ordinary users. I am in +8:00 time zone, ordinary users are in utc time, administrators are in +8:00 time, there is a difference of 8 hours in between, how to modify it? I am using docker to deploy openproject, thank you!

./docker/prod/entrypoint.sh: line 87: /app/docker/proxy: No such file or directory

After clone this repo and follow all step from https://docs.openproject.org/installation-and-operations/installation/docker/ all containers are created but some never start. docker logs show me the same in all containers that doesn't start:

 docker logs compose_proxy_1 
./docker/prod/entrypoint.sh: line 87: /app/docker/proxy: No such file or directory
./docker/prod/entrypoint.sh: line 87: /app/docker/proxy: No such file or directory
./docker/prod/entrypoint.sh: line 87: /app/docker/proxy: No such file or directory
./docker/prod/entrypoint.sh: line 87: /app/docker/proxy: No such file or directory
./docker/prod/entrypoint.sh: line 87: /app/docker/proxy: No such file or directory
./docker/prod/entrypoint.sh: line 87: /app/docker/proxy: No such file or directory
./docker/prod/entrypoint.sh: line 87: /app/docker/proxy: No such file or directory
./docker/prod/entrypoint.sh: line 87: /app/docker/proxy: No such file or directory
docker ps -a
CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS                            PORTS               NAMES
5bdb40b59895        openproject/community:11   "./docker/prod/ent..."   8 minutes ago       Restarting (127) 24 seconds ago                       compose_proxy_1
1418f1fbb753        openproject/community:11   "./docker/prod/ent..."   8 minutes ago       Restarting (127) 25 seconds ago                       compose_web_1
cb9bb81500d0        openproject/community:11   "./docker/prod/ent..."   8 minutes ago       Restarting (127) 22 seconds ago                       compose_worker_1
bbd034504561        openproject/community:11   "./docker/prod/ent..."   8 minutes ago       Restarting (127) 22 seconds ago                       compose_cron_1
34107ce87b5a        postgres:10                "docker-entrypoint..."   8 minutes ago       Up 8 minutes                      5432/tcp            compose_db_1
3ed4f45f312c        memcached                  "docker-entrypoint..."   8 minutes ago       Up 8 minutes                      11211/tcp           compose_cache_1
fc1962f80034        openproject/community:11   "./docker/prod/ent..."   8 minutes ago       Restarting (127) 22 seconds ago                       compose_seeder_1

all dead containers have the same log.

docker logs compose_web_1
./docker/prod/entrypoint.sh: line 87: /app/docker/web: No such file or directory
docker logs compose_worker_1
./docker/prod/entrypoint.sh: line 87: /app/docker/worker: No such file or directory
docker logs compose_cron_1
./docker/prod/entrypoint.sh: line 87: /app/docker/cron: No such file or directory
docker logs compose_seeder_1
./docker/prod/entrypoint.sh: line 87: /app/docker/seeder: No such file or directory

steps to reproduce:

git clone https://github.com/opf/openproject-deploy --depth=1 --branch=stable/11 openproject
cd openproject/compose
docker-compose pull
docker-compose up -d
docker ps -a

how can i fix this?

Invalid interpolation format error in compose

ERROR: Invalid interpolation format for "environment" option in service "web": "${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}"

Trying to deploy openproject using docker-compose i am getting the above error.

Docker multi-container stops at 11AM and 11PM everyday

Hi, I've deployed the docker installation, using the multi-container method and now the container stack shuts down every 12hrs, at 11 Am and 11 PM.

I can't find any clues for the issue on the logs, and I hope you can shine some light on how to debug this issue.

Regards and thanks in advance for the help.

JG

Postgresql deployment fail to start

I tried to install the openproject to the Microsoft Azure AKS kubernetes instance but openproject failed to start because postgresql's data directory was not empty (it contained lost+found directory)

Affected version
stable/12

How to repeat
Aquire Azure AKS instance
Clone: git clone https://github.com/opf/openproject-deploy --depth=1 --branch=stable/12 openproject
Create new namespace: kubectl create namespace openproject
Install: kubectl apply . -n openproject

Validate error
Get pods: kubectl get pods -n openproject
NAME READY STATUS RESTARTS AGE cache-d88d87f6d-84l7q 1/1 Running 0 2m18s cron-7dbc56b55c-4scbg 1/1 Running 0 2m17s db-6c5c8f9bc9-mgb9m 0/1 CrashLoopBackOff 4 (36s ago) 2m18s proxy-797b9b5dc6-m6kvf 1/1 Running 0 2m17s seeder 0/1 CrashLoopBackOff 3 (31s ago) 2m17s web-6d4df698b9-29rwl 0/1 CrashLoopBackOff 2 (31s ago) 2m17s worker-d9bc84777-s692l 1/1 Running 3 (38s ago) 2m17s

Get logs of the db pod: kubectl -n openproject logs db-6c5c8f9bc9-mgb9m
`
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

initdb: error: directory "/var/lib/postgresql/data" exists but is not empty
It contains a lost+found directory, perhaps due to it being a mount point.
Using a mount point directly as the data directory is not recommended.
Create a subdirectory under the mount point.
`

Cannot access application after following quickstart docs

I followed the quick start instructions from this page https://www.openproject.org/docs/installation-and-operations/installation/docker/ (both using compose and the single container) and I cannot access the application after starting it. I specified http:// in the address but I seem to get redirected to https. Error follows:

Secure Connection Failed
An error occurred during a connection to localhost:8080. SSL received a record that exceeded the maximum permissible length.
Error code: SSL_ERROR_RX_RECORD_TOO_LONG

I tried a curl:

*   Trying 127.0.0.1:8080...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 8080 (#0)
> GET / HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 301 Moved Permanently
< Date: Tue, 16 Aug 2022 08:23:13 GMT
< Server: Apache/2.4.38 (Debian)
< Content-Type: text/html
< Location: https://localhost:8080/
< X-Frame-Options: SAMEORIGIN
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< X-Download-Options: noopen
< X-Permitted-Cross-Domain-Policies: none
< Referrer-Policy: origin-when-cross-origin
< Content-Security-Policy: default-src 'self'; base-uri 'self'; connect-src 'self' https://augur.openproject.com; font-src 'self' data:; form-action 'self'; frame-ancestors 'self'; frame-src 'self' https://player.vimeo.com https://releases.openproject.com/v1/check.svg; img-src * data: blob:; object-src https://releases.openproject.com/v1/check.svg; script-src 'self'; style-src 'self' 'unsafe-inline'
< Content-Length: 0
<
* Connection #0 to host localhost left intact

Is additional configuration required or should it work out of the box?

issue to export

Hi
Currently trying to export to pdf and to excel but i keep getting on the logs

ERROR -- : user=5 undefined method path' for nil:NilClass: undefined method path' for nil:NilClass

Running the docker config


version: "3.7"

networks:
  frontend:
  backend:

volumes:
  pgdata:
  opdata:

x-op-restart-policy: &restart_policy
  restart: unless-stopped
x-op-image: &image
  image: openproject/community:${TAG:-12}
x-op-app: &app
  <<: [*image, *restart_policy]
  environment:
    RAILS_CACHE_STORE: "memcache"
    OPENPROJECT_CACHE__MEMCACHE__SERVER: "cache:11211"
    OPENPROJECT_RAILS__RELATIVE__URL__ROOT: "${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}"
    DATABASE_URL: "${DATABASE_URL:-postgres://postgres:p4ssw0rd@db/openproject?pool=20&encoding=unicode&reconnect=true}"
    RAILS_MIN_THREADS: 4
    RAILS_MAX_THREADS: 16
    # set to true to enable the email receiving feature. See ./docker/cron for more options
    IMAP_ENABLED: "${IMAP_ENABLED:-true}"
  volumes:
    - /projects/${OPDATA:-opdata}:/var/openproject/assets"

services:
  db:
    image: postgres:13
    <<: *restart_policy
    stop_grace_period: "3s"
    volumes:
      - /projects/${PGDATA:-pgdata}:/var/lib/postgresql/data"
    environment:
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-p4ssw0rd}
      POSTGRES_DB: openproject
    networks:
      - backend

  cache:
    image: memcached
    <<: *restart_policy
    networks:
      - backend

  proxy:
    <<: [*image, *restart_policy]
    command: "./docker/prod/proxy"
    ports:
      - "${PORT:-8085}:80"
    environment:
      APP_HOST: web
      OPENPROJECT_RAILS__RELATIVE__URL__ROOT: "${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}"
    depends_on:
      - web
    networks:
      - frontend

  web:
    <<: *app
    command: "./docker/prod/web"
    networks:
      - frontend
      - backend
    depends_on:
      - db
      - cache
      - seeder
    labels:
      - autoheal=true
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8085${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}/health_checks/default"]
      interval: 10s
      timeout: 3s
      retries: 3
      start_period: 30s

  autoheal:
    image: willfarrell/autoheal:1.2.0
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    environment:
      AUTOHEAL_CONTAINER_LABEL: autoheal

  worker:
    <<: *app
    command: "./docker/prod/worker"
    networks:
      - backend
    depends_on:
      - db
      - cache
      - seeder

  cron:
    <<: *app
    command: "./docker/prod/cron"
    networks:
      - backend
    depends_on:
      - db
      - cache
      - seeder

  seeder:
    <<: *app
    command: "./docker/prod/seeder"
    restart: on-failure
    networks:
      - backend

docker-compose.yml still referencing old docker image.

Hi, i just had an error when i tried pull via docker-compose.

Then i checked the corresponding file and found that within the docker-compose.yml the image still references to the old docker Image "openproject/community". Apparently the Docker Image was renamed to "openproject/openproject", that's at least mentioned on DockerHub within the Old Image. After Changing the Docker Image to "openproject/openproject" the pull worked as expected.

Could you please look into the Issue?
Thank you.

Instruction error - docker-compose should be docker compose

Instructions indicate one should use the docker-compose command. Doing so will result in following exception:
docker.errors.DockerException: Error while fetching server API version: HTTPConnection.request() got an unexpected keyword argument 'chunked'

I was able to get it to work with the docker compose command

[Docker] Container compose_web_1 found to be unhealthy

Hi,

On a fresh install with docker, I got this problem recursively. Any idea ?

Booting Puma
web_1 | => Rails 6.1.4.1 application starting in production
web_1 | => Run bin/rails server --help for more startup options
web_1 | W, [2021-12-19T18:43:21.704559 #1] WARN -- : Creating scope :open. Overwriting existing method GithubPullRequest.open.
web_1 | [1] Puma starting in cluster mode...
web_1 | [1] * Puma version: 5.5.2 (ruby 2.7.5-p203) ("Zawgyi")
web_1 | [1] * Min threads: 4
web_1 | [1] * Max threads: 16
web_1 | [1] * Environment: production
web_1 | [1] * Master PID: 1
web_1 | [1] * Workers: 2
web_1 | [1] * Restarts: (✔) hot (✖) phased
web_1 | [1] * Preloading application
web_1 | [1] * Listening on http://0.0.0.0:8080
web_1 | [1] Use Ctrl-C to stop
web_1 | [1] - Worker 0 (PID: 36) booted in 0.01s, phase: 0
web_1 | [1] - Worker 1 (PID: 42) booted in 0.0s, phase: 0
autoheal_1 | 19-12-2021 18:44:05 Container /compose_web_1 (19934500d80e) found to be unhealthy - Restarting container now with 10s timeout
web_1 | [1] === puma shutdown: 2021-12-19 18:44:05 +0000 ===
web_1 | [1] - Goodbye!
web_1 | [1] - Gracefully shutting down workers...
web_1 | Exiting

Export feature doesn't work (missing volume)

Since this is a stable/14 release from the main branch, I have to inform that all Export feature doesn't work.

After spending a day, I discovered the volumes added here from #70 causes the volumes defined in the x-op-app to be replaced.

This can be confirmed with docker compose config. I struggled to understand the merging until I realized that the issue was not with compose merging, but with the yaml merge key <<:. This key causes the volumes from the current web mapping replace the volumes from x-op-app, rather than merging them.

As a result, "${OPDATA:-opdata}:/var/openproject/assets" is missing from web service. I hope this will help to fix and help anyone to try-out this using the latest docker compose.

I managed to get the export working by adding the missing volume directly to web in my compose override.

...
services:
  ...
  web:
    volumes:
      - "${OPDATA:-opdata}:/var/openproject/assets" # Add this
      - assets:/app/public

BTW, it's great to have Caddy, but I would like to modify the template since everything is already in the stack. Consider using lucaslorentz/caddy-docker-proxy for dynamic Caddyfile which I managed to replace the proxy service to that.

exec /usr/local/bin/proxy-entrypoint.sh: no such file or directory

Hello Expert,
We I installed the OP compose in Dorcker for windows, and started it.
compose-proxy-1 always have an error exec /usr/local/bin/proxy-entrypoint.sh: no such file or directory.
Error
But the file could be found in the installation folder.

The current docker is Docker Desktop 4.30.0 (149282), and the OP Compose is latest version 4.1.
How to fix this, Please help .
Regards,
Mic

Problem With New Health Check Container in OpenProject 12 Docker Compose Script?

As the Docker Compose script was now updated to work with PostgreSQL 13, I immediately tried it out.

Everything seemed to work fine, including DB conversion / upgrade, but afterwards I noticed that in general OpenProject 12 was running, but became inaccessible for a while every few minutes, so working with it was not really possibly.

This seems to be caused by an amok running health check which always marks the web container as "unhealthy" and restartet it every minute or so.

It took me a while to figure out, as I had never encountered such a "heal check" stuff for Docker Containers before.

No sure if I understood the health check correctly, but at least if I run the health check command in the autoheal container - is this the right one to execute it in, or where should I execute it to test? - it always fails, even though the web container seems to be running fine:

$ docker container exec -ti openproject_test_12_autoheal_1 sh -l
83230a91fb2d:/# curl -f http://localhost:80/health_checks/default
curl: (7) Failed to connect to localhost port 80 after 0 ms: Connection refused
83230a91fb2d:/# 

The same also happens if I try to do it in the Web Container:

$ docker container exec -ti openproject_test_12_web_1 sh -l
# curl -f http://localhost:80/health_checks/default
curl: (7) Failed to connect to localhost port 80: Connection refused
# 

Note that OpenProject itself is working fine.

I worked around this "amok autohealer" by just commenting out all health check / autoheal additions from the Docker Compose script and recreating the containers.

PostgreSQL Upgrade Instructions Incomplete

The Docker Compose script was adjusted to use PostgreSQL 13, however when upgrading from a previous Docker Compose script version, extra steps have to be taken to properly migrate the DB contents.

This is also nicely explained somehow in the actual commit: https://github.com/opf/openproject-deploy/blob/stable/12/compose/control/README.md#upgrade

BUT:

These instructions seem nowhere to be found at places where users will actually look for them. Maybe I just was extraordinarily stupid, but I actually had to fetch the link from the already closed issue #13 and manually copy paste it into my browser's address bar to be able to view it... :-( This was only possible because I knew the instructions were there.

How would I be able to find it without that knowledge?

If I read the official docs, I end up at:

https://www.openproject.org/docs/installation-and-operations/operation/upgrading/#compose-based-installation

This just says

Compose-based installation
When using the Compose-based docker installation, you can simply do the following:

docker-compose pull
docker-compose up -d

Please note that you can override the TAG that is used to pull the OpenProject image from the Docker Hub.

...which will probably break the installation completely, as there's no indication for special treatment of the DB.

I might have expected a notice in the OpenProject release notes, but neither on

https://www.openproject.org/docs/release-notes/12-0-0/#drop-official-support-for-postgresql--13

nor on

https://www.openproject.org/docs/release-notes/12-0-0/#migrating-to-openproject-120 is there any indication that anything special has to be done.

And even if I find the OpenProject Docker Compose GitHub repo and view the instructions there:

https://github.com/opf/openproject-deploy/tree/stable/12/compose

there's not even a hint that anything has to be done manually to the DB.

The instructions only state:

Upgrade
Go to the compose folder:

cd openproject/compose
Retrieve any changes from the openproject-deploy repository:

git pull origin stable/12
Make sure you are using the latest version of the Docker images:

docker-compose pull
Relaunch the containers:

docker-compose up -d

...which will probably also break the installation.

How am I, as a "regular" user, supposed to find the proper upgrade instructions?

IMHO, this should be one of the first things pointed out in any upgrade instructions for OpenProject 12 Docker Compose based installations, and should be REALLY EASY to find and REALLY DIFFICULT to miss.

The current situation is completely the opposite from my point of view - the correct instructions seem to be nearly impossible to find while and official, reachable upgrade instructions seem to indicate that nothing special needs to be done at all...

Invalid interpolation format

Hi
I get this error on docker-compose pull:
ERROR: Invalid interpolation format for "environment" option in service "cron": "${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}"

after some search I changed & to $$ and the error disappered but this new error happened:
ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the services key, or omit the version key and place your service definitions at the root of the file to use version 1.
I use docker compose 1.17.1 & docker 20.10.2

seeder

All the services have been started successfully, but the seeder-server shows the Completep view log as follows:
image
image

Has any partner encountered this?

Kubernetes Deploy not compatible with many Cloud Providers (DOKS)

I attempted to run OpenProject on DigitalOcean Kubernetes yesterday, and was already a bit concerned about the opdata PVC you create, and mount to multiple containers.

At first glance it might seem like this would work, and some cloud providers might support it, but from what I could gather GKE and DOKS do not. Because while containers can run on the same node, and it will allow the volume to be mounted to all of them, a scaled cluster with multiple nodes, or even node pools, will attempt to attach the volume to different droplets, which isn't allowed.

I might be going back to a single-container deploy for now, but it seems like that isn't recommended for production, and the environment configuration is limited with this. Also scaling would work a lot better with the multi-container solution, so either OpenProject should support S3 for its data, or the one-container solution needs to be adopted again IMHO.

Upgrading from 12 to 13 with external Postgres DB v15

Hi, I'm trying to upgrade from the 12 to 13 version, using docker compose deployment.
I do:

docker-compose down
Edit the TAG in my docker-copse.yml file to 13:
: image: openproject/community:${TAG:-13}

do:
docker-compose pull

and them:
docker-compose up -d

But my 'web' container doesn't stay UP saying the below log:

How can I execute the upgrade manually? since the docs only show the steps for the container version, and also I cannot use the 'web' container console since doesn't stay up enough for that.

Hope someone has some ideas.

Thanks and regards.
JG
------//
=> Booting Puma
=> Rails 7.0.7 application starting in production
=> Run bin/rails server --help for more startup options

Exiting

/app/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:627:in `check_pending!': (ActiveRecord::PendingMigrationError)

Migrations are pending. To resolve this issue, run:

    bin/rails db:migrate RAILS_ENV=production

You have 21 pending migrations:

20230314165213_add_foreign_keys_to_work_packages.rb
20230315103437_add_foreign_keys_to_workflows.rb
20230315183431_add_foreign_keys_to_projects_types.rb
20230315184533_add_foreign_keys_to_custom_fields_projects.rb
20230322135932_merge_wiki_content_into_page.rb
20230328154645_add_gin_trgm_index_on_journals_and_custom_values.rb
20230508150835_copy_project_status_into_projects_and_journals.rb
20230531093004_remove_default_from_query_name.rb
20230606083221_add_cause_to_journal.rb
20230608151123_add_validity_period_to_journals.rb
20230613155001_add_export_logo_to_custom_style.rb
20230713144232_create_storages_file_link_journals.rb
20230717104700_drop_export_card_configurations.rb
20230718084649_add_create_user_permission_to_roles.rb
20230725165505_add_storage_name_to_storages_file_links_journals.rb
20230726061920_rename_auth_source_to_ldap_auth_source.rb
20230726112130_remove_type_from_ldap_auth_sources.rb
20230731153909_add_file_link_journals_to_existing_containers.rb
20230803113215_add_indices_to_work_package_journals.rb
20230808080001_remove_some_string_length_constraints.rb
20230808140921_add_derived_remaining_hours_to_work_packages.rb

from /app/config/initializers/06-pending_migrations_check.rb:34:in `<top (required)>'
from /app/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/engine.rb:667:in `load'
from /app/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/engine.rb:667:in `block in load_config_initializer'
from /app/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.7/lib/active_support/notifications.rb:208:in `instrument'
from /app/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/engine.rb:666:in `load_config_initializer'
from /app/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/engine.rb:620:in `block (2 levels) in <class:Engine>'
from /app/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/engine.rb:619:in `each'
from /app/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/engine.rb:619:in `block in <class:Engine>'
from /app/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/initializable.rb:32:in `instance_exec'
from /app/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/initializable.rb:32:in `run'

..///...

DB-Migration not working

Coming from working container of openproject image 11, switching to 12 (also working with deprecated db warning) and trying to apply db migration, the following error comes up:
image

Install OpenProject - Portainer

image
hi,
someone please help me to explain this note, for deploying OpenProject using portainer, i have no idea which brackets to replace this mark "<<"

Thanks!

Setting SMTP Vars in .env docker-compose file do not work

Hi Devs,

can i set the SMTP vars i needed in the .env file?

Trying a little bit but do not work.
But with telnet to port 25 and manual setting a mail works well from the same machine who should have openproject.

Thanks in advance

Can not upgrade from 12 to 13

I am following this steps: https://github.com/opf/openproject-deploy/tree/stable/13/compose/control#upgrade

(Ubuntu 20.04.6 LTS)

If I stay in OpenProject 12 the postgres upgrade from 10 to 13 works.

But when upgrading to OpenProject 13 compose_web_1 goes into a kind of crash loop:

-----> Setting PGVERSION=13 PGBIN=/usr/lib/postgresql/13/bin PGCONF_FILE=/etc/postgresql/13/main/postgresql.conf
=> Booting Puma
=> Rails 7.0.7 application starting in production
=> Run bin/rails server --help for more startup options

Am I missing something?
Any help woluld be apreciated.

How do I deploy OpenProject on Kubernetes?

hey, guys!
I heard from OpenProject a few weeks ago!
Then the company I work for (Empresa Brasil de Comunicação - EBC) requested our IT team a deployment to test it out.

Since then, I have been working in its deployment on Kubernetes.
The work have done with it so far is good enough to deploy an staging environment.
So here we are, I made the project available on Gitlab.com at:
https://gitlab.com/adrianovieira/openproject.org-helm-chart

Please, stop by to analyse it. 🙏🏾
And if you want to help with something or even have any comments let us know, please.

Regards.

Go OpenProject go.

postgres incorrect password. web and worker containers restarting

After running docker-compose up -d with the default docker-compose.yml file (I only changed the port variable to be hardcoded), the web and worker containers get stuck in a restart loop.

Logs show lots of Ruby output and repeated postgres auth failures:

$ docker-compose logs | grep password
...
worker_1  | /app/vendor/bundle/ruby/2.7.0/gems/pg-1.2.3/lib/pg.rb:58:in `initialize': FATAL:  password authentication failed for user "postgres" (PG::ConnectionBad)
web_1     | /app/vendor/bundle/ruby/2.7.0/gems/pg-1.2.3/lib/pg.rb:58:in `initialize': FATAL:  password authentication failed for user "postgres" (PG::ConnectionBad)
web_1     | /app/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/postgresql_adapter.rb:83:in `rescue in new_client': FATAL:  password authentication failed for user "postgres" (ActiveRecord::ConnectionNotEstablished)
...

The docker-compose file is using the default postgres password p4ssw0rd

However, I am able to deploy Open Project using the following docker run command.

docker run -d \
    -p 8085:80 \
    -e SERVER_HOSTNAME=<redacted> \
    -e SECRET_KEY_BASE=<redacted> \
    --restart unless-stopped \
    --name openproject \
    -v /home/mike/openproject/etc/openproject:/etc/openproject \
    -v /home/mike/openproject/var/openproject/pgdata:/var/openproject/pgdata \
    -v /home/mike/openproject/var/openproject/assets:/var/openproject/assets \
    openproject/community:11

Full logs:
error_logs.txt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.