wiki: use utf8 encoding, improve db performance, more backups (#100)
* wiki: use utf8 encoding, improve db performance, more backups * add medik skin colour, logo
This commit is contained in:
		
							parent
							
								
									07f1f032b7
								
							
						
					
					
						commit
						7b769cebfe
					
				
					 3 changed files with 23 additions and 6 deletions
				
			
		|  | @ -41,7 +41,7 @@ $wgDBpassword = "{{ key "mediawiki/db/password" }}"; | |||
| # MySQL specific settings
 | ||||
| $wgDBprefix = "rbwiki_"; | ||||
| # MySQL table options to use during installation or update
 | ||||
| $wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary"; | ||||
| $wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=utf8mb4"; | ||||
| 
 | ||||
| ## Shared memory settings
 | ||||
| $wgMainCacheType = CACHE_NONE; | ||||
|  | @ -89,11 +89,15 @@ wfLoadSkin( 'Vector' ); | |||
| wfLoadSkin( 'Citizen' ); | ||||
| wfLoadSkin( 'Timeless' ); | ||||
| wfLoadSkin( 'MinervaNeue' ); | ||||
| wfLoadSkin( 'Medik' ); | ||||
| 
 | ||||
| $wgCitizenThemeColor = "#a81e22"; | ||||
| $wgCitizenShowPageTools = "permission"; | ||||
| $wgCitizenSearchDescriptionSource = "pagedescription"; | ||||
| 
 | ||||
| $wgMedikColor = "#a81e22"; | ||||
| $wgMedikShowLogo = "main"; | ||||
| 
 | ||||
| $wgLocalisationUpdateDirectory = "$IP/cache"; | ||||
| 
 | ||||
| # load extensions
 | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ job "mediawiki-backup" { | |||
|       } | ||||
| 
 | ||||
|       template { | ||||
|         data = <<EOH | ||||
|         data        = <<EOH | ||||
| #!/bin/bash | ||||
| 
 | ||||
| file=/storage/backups/nomad/wiki/mysql/rbwiki-mysql-$(date +%Y-%m-%d_%H-%M-%S).sql | ||||
|  | @ -30,7 +30,7 @@ job_name=$(echo ${NOMAD_JOB_NAME} | cut -d "/" -f 1) | |||
| 
 | ||||
| nomad alloc exec -task rbwiki-db $alloc_id mariadb-dump -u {{ key "mediawiki/db/username" }} -p'{{ key "mediawiki/db/password"}}' {{ key "mediawiki/db/name" }} > "${file}" | ||||
| 
 | ||||
| find /storage/backups/nomad/wiki/mysql/rbwiki-mysql* -ctime +3 -exec rm {} \; || true | ||||
| find /storage/backups/nomad/wiki/mysql/rbwiki-mysql* -ctime +30 -exec rm {} \; || true | ||||
| 
 | ||||
| if [ -s "$file" ]; then # check if file exists and is not empty | ||||
|   echo "Backup successful" | ||||
|  | @ -56,7 +56,7 @@ EOH | |||
|       } | ||||
| 
 | ||||
|       template { | ||||
|         data = <<EOH | ||||
|         data        = <<EOH | ||||
| #!/bin/bash | ||||
| 
 | ||||
| file=/storage/backups/nomad/wiki/xml/rbwiki-dump-$(date +%Y-%m-%d_%H-%M-%S).xml | ||||
|  |  | |||
|  | @ -213,6 +213,18 @@ EOH | |||
|       template { | ||||
|         data = <<EOH | ||||
| [mysqld] | ||||
| # Ensure full UTF-8 support | ||||
| character-set-server = utf8mb4 | ||||
| collation-server = utf8mb4_unicode_ci | ||||
| skip-character-set-client-handshake | ||||
| 
 | ||||
| # Fix 1000-byte key length issue | ||||
| innodb_large_prefix = 1 | ||||
| innodb_file_format = Barracuda | ||||
| innodb_file_per_table = 1 | ||||
| innodb_default_row_format = dynamic | ||||
| 
 | ||||
| # Performance optimizations (Keep these based on your system) | ||||
| max_connections = 100 | ||||
| key_buffer_size = 2G | ||||
| query_cache_size = 0 | ||||
|  | @ -224,13 +236,14 @@ innodb_io_capacity = 200 | |||
| tmp_table_size = 5242K | ||||
| max_heap_table_size = 5242K | ||||
| innodb_log_buffer_size = 16M | ||||
| innodb_file_per_table = 1 | ||||
| 
 | ||||
| bind-address = 0.0.0.0 | ||||
| # Logging | ||||
| slow_query_log = 1 | ||||
| slow_query_log_file = /var/log/mysql/slow.log | ||||
| long_query_time = 1 | ||||
| 
 | ||||
| # Network | ||||
| bind-address = 0.0.0.0 | ||||
| EOH | ||||
| 
 | ||||
|         destination = "local/conf.cnf" | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue