Commit | Line | Data |
---|---|---|
bd4495f6 GS |
1 | # This template installs MariaDB and all dependencies needed for importing from phpBB3. |
2 | ||
3 | params: | |
4 | home: /var/www/discourse | |
5 | ||
6 | hooks: | |
7 | after_web_config: | |
8 | - exec: | |
9 | cd: /etc/service | |
10 | cmd: | |
11 | - rm -R unicorn | |
12 | - rm -R nginx | |
13 | - rm -R cron | |
14 | ||
15 | - exec: | |
16 | cd: /etc/runit/3.d | |
17 | cmd: | |
18 | - rm 01-nginx | |
19 | - rm 02-unicorn | |
20 | ||
bd4495f6 GS |
21 | - file: |
22 | path: /etc/apt/preferences.d/mariadb | |
23 | contents: | | |
24 | Package: * | |
25 | Pin: release o=MariaDB | |
26 | Pin-Priority: 1000 | |
27 | ||
28 | - file: | |
29 | path: /etc/mysql/conf.d/import.cnf | |
30 | contents: | | |
31 | [mysqld] | |
32 | # disable InnoDB since it is extremly slow in Docker container | |
33 | default-storage-engine=MyISAM | |
34 | default-tmp-storage-engine=MyISAM | |
35 | innodb=OFF | |
36 | ||
37 | datadir=/shared/import/mysql/data | |
38 | ||
39 | skip-host-cache | |
40 | skip-name-resolve | |
41 | ||
42 | - exec: | |
43 | cmd: | |
44 | - mkdir -p /shared/import/mysql/data | |
19dc53d5 GS |
45 | - apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 |
46 | - add-apt-repository 'deb [arch=amd64,i386] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.1/ubuntu xenial main' | |
bd4495f6 GS |
47 | - apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y nano libmariadbclient-dev mariadb-server |
48 | - sed -Ei 's/^log/#&/' /etc/mysql/my.cnf | |
49 | ||
50 | - file: | |
51 | path: /etc/service/mysql/run | |
52 | chmod: "+x" | |
53 | contents: | | |
54 | #!/bin/bash | |
55 | # Make sure the datadir exists, is accessible and contains all system tables | |
56 | mkdir -p /shared/import/mysql/data | |
57 | chown mysql -R /shared/import/mysql/data | |
58 | /usr/bin/mysql_install_db --user=mysql | |
59 | ||
60 | # Shamelessly copied from http://smarden.org/runit1/runscripts.html#mysql | |
61 | exec 2>&1 | |
62 | exec /usr/sbin/mysqld -u mysql | |
63 | ||
64 | - file: | |
65 | path: /etc/runit/3.d/99-mysql | |
66 | chmod: "+x" | |
67 | contents: | | |
68 | #!/bin/bash | |
69 | sv stop mysql | |
70 | ||
71 | - file: | |
72 | path: /usr/local/bin/import_phpbb3.sh | |
73 | chmod: "+x" | |
74 | contents: | | |
75 | #!/bin/bash | |
76 | chown discourse /shared/import/settings.yml | |
77 | chown discourse -R /shared/import/data | |
78 | ||
79 | if [ -f "/shared/import/data/phpbb_mysql.sql" ]; then | |
80 | if [ ! -f "/shared/import/mysql/imported" ]; then | |
81 | echo "Loading database dump into MySQL..." | |
82 | mysql -uroot -e "DROP DATABASE IF EXISTS phpbb" | |
83 | mysql -uroot -e "CREATE DATABASE phpbb" | |
84 | mysql -uroot --default-character-set=utf8 --database=phpbb < /shared/import/data/phpbb_mysql.sql | |
85 | touch /shared/import/mysql/imported | |
86 | fi | |
87 | else | |
88 | sv stop mysql | |
89 | fi | |
90 | ||
91 | cd $home | |
92 | echo "The phpBB3 import is starting..." | |
93 | echo | |
94 | su discourse -c 'bundle exec ruby script/import_scripts/phpbb3.rb /shared/import/settings.yml' | |
95 | ||
96 | - exec: | |
97 | cd: $home | |
98 | cmd: | |
99 | - mkdir -p /shared/import/data | |
100 | - chown discourse -R /shared/import | |
101 | - cp -n script/import_scripts/phpbb3/settings.yml /shared/import/settings.yml | |
102 | ||
103 | after_bundle_exec: | |
104 | - exec: | |
105 | cd: $home | |
106 | cmd: | |
107 | - echo "gem 'mysql2'" >> Gemfile | |
108 | - echo "gem 'ruby-bbcode-to-md', :github => 'nlalonde/ruby-bbcode-to-md'" >> Gemfile | |
109 | - su discourse -c 'bundle install --no-deployment --without test --without development --path vendor/bundle' |