mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 18:29:21 +00:00 
			
		
		
		
	- updated base image from openproject/community:13 to openproject/openproject:14 - added dedicated migration task (db:migrate + schema cache clear) - moved settings, ldap, and admin tasks to separate files - adjusted docker-compose template to use OPENPROJECT_WEB_SERVICE / OPENPROJECT_SEEDER_SERVICE variables - replaced postinstall.sh with precompile-assets.sh - ensured depends_on uses variable-based service names Ref: https://chatgpt.com/share/68d57770-2430-800f-ae53-e7eda6993a8d
		
			
				
	
	
		
			68 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # General
 | |
| application_id:                 "web-app-openproject"
 | |
| 
 | |
| # Database
 | |
| database_type:                  "postgres"
 | |
| 
 | |
| # Docker
 | |
| docker_repository_branch:       "stable/{{ OPENPROJECT_VERSION }}"
 | |
| docker_repository_address:      "https://github.com/opf/openproject-deploy"
 | |
| docker_pull_git_repository:     true
 | |
| docker_compose_flush_handlers:  false
 | |
| 
 | |
| # Open Project Specific
 | |
| OPENPROJECT_VERSION:            "{{ applications | get_app_conf(application_id, 'docker.services.web.version') }}"
 | |
| OPENPROJECT_IMAGE:              "{{ applications | get_app_conf(application_id, 'docker.services.web.image') }}"
 | |
| OPENPROJECT_VOLUME:             "{{ applications | get_app_conf(application_id, 'docker.volumes.data') }}"
 | |
| OPENPROJECT_WEB_SERVICE:        "web"
 | |
| OPENPROJECT_WEB_CONTAINER:      "{{ applications | get_app_conf(application_id, 'docker.services.' ~ OPENPROJECT_WEB_SERVICE ~ '.name') }}"
 | |
| OPENPROJECT_SEEDER_SERVICE:     "seeder"
 | |
| OPENPROJECT_SEEDER_CONTAINER:   "{{ applications | get_app_conf(application_id, 'docker.services.' ~ OPENPROJECT_SEEDER_SERVICE ~ '.name') }}"
 | |
| OPENPROJECT_CRON_CONTAINER:     "{{ applications | get_app_conf(application_id, 'docker.services.cron.name') }}"
 | |
| OPENPROJECT_PROXY_CONTAINER:    "{{ applications | get_app_conf(application_id, 'docker.services.proxy.name') }}"
 | |
| OPENPROJECT_WORKER_CONTAINER:   "{{ applications | get_app_conf(application_id, 'docker.services.worker.name') }}"
 | |
| 
 | |
| ## Admin
 | |
| OPENPROJECT_ADMINISTRATOR_USERNAME: "{{ users.administrator.username }}"
 | |
| OPENPROJECT_ADMINISTRATOR_PASSWORD: "{{ users.administrator.password }}"
 | |
| OPENPROJECT_ADMINISTRATOR_EMAIL:    "{{ users.administrator.email }}"
 | |
| 
 | |
| # Open Project Cache
 | |
| OPENPROJECT_CACHE_CONTAINER:    "{{ applications | get_app_conf(application_id, 'docker.services.cache.name') }}"
 | |
| OPENPROJECT_CACHE_IMAGE:        "{{ applications
 | |
|      | get_app_conf(application_id, 'docker.services.cache.image')
 | |
|      or applications
 | |
|        | get_app_conf('svc-db-memcached', 'docker.services.memcached.image')
 | |
|   }}"
 | |
| 
 | |
| OPENPROJECT_CACHE_VERSION: "{{ applications
 | |
|      | get_app_conf(application_id, 'docker.services.cache.version')
 | |
|      or applications
 | |
|        | get_app_conf('svc-db-memcached', 'docker.services.memcached.version')
 | |
|   }}"
 | |
| 
 | |
|       
 | |
| OPENPROJECT_PLUGINS_FOLDER:   "{{ docker_compose.directories.volumes }}plugins/"
 | |
| 
 | |
| OPENPROJECT_CUSTOM_IMAGE:     "custom_openproject"
 | |
| 
 | |
| # The following volume doesn't have a practcical function. It just exist to prevent the creation of unnecessary anonymous volumes
 | |
| OPENPROJECT_DUMMY_VOLUME:     "{{ docker_compose.directories.volumes }}dummy_volume"
 | |
| 
 | |
| OPENPROJECT_RAILS_SETTINGS:
 | |
|   email_delivery_method:      "smtp"
 | |
|   smtp_address:               "{{ SYSTEM_EMAIL.HOST }}"
 | |
|   smtp_domain:                "{{ SYSTEM_EMAIL.DOMAIN }}"
 | |
|   smtp_user_name:             "{{ users['no-reply'].email }}"
 | |
|   smtp_password:              "{{ users['no-reply'].mailu_token }}"
 | |
|   smtp_ssl:                   false
 | |
| 
 | |
| ## LDAP
 | |
| OPENPROJECT_LDAP_ENABLED:                       "{{ applications | get_app_conf(application_id, 'features.ldap') }}"
 | |
| OPENPROJECT_LDAP_FILTER_ADMINISTRATORS_ENABLED: "{{ applications | get_app_conf(application_id, 'ldap.filters.administrators') }}"
 | |
| OPENPROJECT_LDAP_FILTER_USERS_ENABLED:          "{{ applications | get_app_conf(application_id, 'ldap.filters.users') }}"
 | |
| OPENPROJECT_LDAP_FILTERS:
 | |
|   # The administrator filter just works in the Enterprise edition
 | |
|   ADMINISTRATORS: "{{ '(memberOf=cn=openproject-admins,' ~ LDAP.DN.OU.ROLES ~ ')' if OPENPROJECT_LDAP_FILTER_ADMINISTRATORS_ENABLED | bool else '' }}"
 | |
|   USERS:          "{{ '(memberOf=cn=openproject-users,' ~ LDAP.DN.OU.ROLES ~ ')' if OPENPROJECT_LDAP_FILTER_USERS_ENABLED | bool else '' }}"
 |