update and cleanup

master
Brett O'Donnell 2018-04-12 17:56:05 +09:30
parent bbecc6fde9
commit 0db4d252b5
11 changed files with 343 additions and 5 deletions

View File

@ -0,0 +1,56 @@
-----BEGIN CERTIFICATE-----
MIIFCjCCA/KgAwIBAgISAwEyTcIlQD5Zmxo7q5zJnXnlMA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTIxMTQ2MTdaFw0x
ODA0MTIxMTQ2MTdaMBYxFDASBgNVBAMTC2Rldi5hZmkuaW5rMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtAFk1KEICuGQxrWKNNBttZcuD5tQrt9ujqw2
2Dyhr1DsNJ6QheFlN0V2HGvsgtNmBv+/dPwRJPwVPinlFzmkEf00iqoA01fBnz9q
BaUJhxM+6gHjGGpNZNZY2bEumimXZTv5d8+dVoCHKQQCNwEIVPhDP9wtU6M70DNY
EkhO9omVq3cXbOGb1r2NUSSNIkEFNPG3f8P6MbcOq0Sv2x5C6GG0lzuHHixEGgGx
7HFDFyEXP9ZKEA3FeaGazu04nltrpZOzGFCscABUFhuWq/Ehc4pwV70n9+Kc93eP
yhQMvdaeD/9P92M5bHJsLiLs2nSr2DweNXpVpz5scFK90pPMLwIDAQABo4ICHDCC
AhgwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD
AjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQ3702Y/n4GcirzaqwfsSjpYprWODAf
BgNVHSMEGDAWgBSoSmpjBH3duubRObemRWXv86jsoTBvBggrBgEFBQcBAQRjMGEw
LgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwLmludC14My5sZXRzZW5jcnlwdC5vcmcw
LwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5sZXRzZW5jcnlwdC5vcmcv
MCcGA1UdEQQgMB6CC2Rldi5hZmkuaW5rgg9wbWEtZGV2LmFmaS5pbmswgf4GA1Ud
IASB9jCB8zAIBgZngQwBAgEwgeYGCysGAQQBgt8TAQEBMIHWMCYGCCsGAQUFBwIB
FhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYBBQUHAgIwgZ4MgZtU
aGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1cG9uIGJ5IFJlbHlp
bmcgUGFydGllcyBhbmQgb25seSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIENlcnRp
ZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNlbmNyeXB0Lm9yZy9y
ZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEACb3P5IUQ5rEzXHV6cBYjzMcV
GpbdtYwZw+8r86cfZlzLh7H5Dsf8rQv/gSOfVSR5GSZUwy7RFdwIALkfj5plytks
AcJ1s1AwqPVFU6gLiERN6tWQwtWmFG0WdcgwFbyBuptGM98K8bOps0ERhIRvxcis
Ey0z5Nus1tKt9FvO9GnzCnk2aw39NcmI2l8Z+FBMuhFIkFZ4T53pNgkA9SaGTL2q
CM0ulvfrLXr9cSDzrM7cT1YccRDrjxVpqrKqRMKg1VjpF9PsFKbLl1Y3rAj/NJ5c
0YMtRK3QubOQccw2jURwr2XQSdPy/f5gEOJ24HzU1m99ZJCTFKF87ymCJUuLlA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
-----END CERTIFICATE-----

View File

@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC0AWTUoQgK4ZDG
tYo00G21ly4Pm1Cu326OrDbYPKGvUOw0npCF4WU3RXYca+yC02YG/790/BEk/BU+
KeUXOaQR/TSKqgDTV8GfP2oFpQmHEz7qAeMYak1k1ljZsS6aKZdlO/l3z51WgIcp
BAI3AQhU+EM/3C1TozvQM1gSSE72iZWrdxds4ZvWvY1RJI0iQQU08bd/w/oxtw6r
RK/bHkLoYbSXO4ceLEQaAbHscUMXIRc/1koQDcV5oZrO7TieW2ulk7MYUKxwAFQW
G5ar8SFzinBXvSf34pz3d4/KFAy91p4P/0/3YzlscmwuIuzadKvYPB41elWnPmxw
Ur3Sk8wvAgMBAAECggEAAqO2l8uYs5glKFTHJwkbYrtJyJ7NaxMJqvvpffg9orV8
ETV2BxCMDGhvV/FZMX3qFBYx94QuuC0eHqA8pL+KoVzmJVZi1raFt1EVu+l0n09v
77yBWP1ODzl5ag/IECil+K0Ndm1L8FXIJZjSc34HYj+VtN0EqSJOoTnvg60dw02w
4EIH/STiPzsL6vIiQmUtmA5mxQEbecGPvMZcm22jBYQgQgn2lp1XmcRMgQ8aZjIJ
IJI4GYzsK4u/xtIn5jn6QCv0wCJulmLBGYyaVIrdnUqrfOEhVT8wL2Ij8/40S1qL
JCE5cKtdoYl4aC20uLTPGgc+cOIeFWJQ+weT+wNr6QKBgQDfNSwy9z/eDGAY7DPc
mXT8TExMF3FUtUydWKVAZcL4sONmgQqM7wLtHM5o3SAl9uRr7wrtuolhJK/BkzgX
GliAN5ENOYofQ6EgkH69AGp8WzoRzHlrTXDpkv8ACruo6tPWpxiZeLLLZTCQgSqT
EKJfDECoRKSQ22uKV939RiA7MwKBgQDOc2MRbr1Xd3CYW96FPQakrxt582kpYpDw
CM58CN8IYL6Qo9n3of5kz/Dh3zR88k1donvMR2R/6VhSjgou/+pI5H+a7JRHKVm+
fwg8umQ9KUmAftiXiYoX73B67vys7sIuUrGMszg1UDiMptAnEIoo4KsnDkFmGCvC
kcfc5Q1LFQKBgQDeZ2f7/Hrp8KDMFIb0dv+m6QtZAj7NbbzCR3KZQQxNqktbdpah
qQHca0iMGlEPIvulRFE6YRTD878gfWV1N64ZS8S/Tab/0e45uWBfSIvSD0BEPd55
+XbZdbuaOheUjy+3AVY0jZxxqAkE438dfISdemLuhz8Gi2uTNEwgMoCpGwKBgQCx
mG87mtDEglnYpwcIBRRG7N+tC6iGUmUuJ9VAu/zo3xhvopQpwy/tFzg3heRIK8RD
7Tej5jJdGqXA9rFp9vpa1D21TxjLEpZCGlNCsnDycCbro7K8wTOLHY3cIuQ3+3gN
k1NrHu0WZ7kNvZ5ITKEdQw/YnBnEMrzKNtAAhQXndQKBgQCQXu+oEpoFVvv3Nwya
VYVaveo7AhnpvoNpf5CKS52nkjLX9QiewbyAmHRCKALxG11VSgND8ex0pAWWksIh
tq8/UelTz/3ZmcDBtFxnqwpH61Cn9qNIuB+29pTOQXrz9UpisETY0hg5cLRPxTDH
zSkjsLCcWYdsLY3592yti/axEw==
-----END PRIVATE KEY-----

View File

@ -0,0 +1,157 @@
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
log_format logstash_json '{ "@timestamp": "$time_iso8601", '
'"@fields": { '
'"remote_addr": "$remote_addr", '
'"remote_user": "$remote_user", '
'"body_bytes_sent": "$body_bytes_sent", '
'"request_time": "$request_time", '
'"status": "$status", '
'"request": "$request", '
'"request_method": "$request_method", '
'"http_x_forwarded_for": "$http_x_forwarded_for", '
'"http_referrer": "$http_referer", '
'"http_user_agent": "$http_user_agent" } }';
access_log /var/log/nginx/access.log logstash_json;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
ssl_stapling on;
ssl_stapling_verify on;
#resolver <IP DNS resolver>;
ssl_dhparam /etc/nginx/dhparam/dhparam.pem;
# gzip should not be used with ssl
gzip off;
# larger uploads
client_max_body_size 64M;
# HTTP server
server {
charset utf-8;
server_name afi.ink;
listen 80 default_server;
root /app/web;
index index.php;
# ACME webroot for https://github.com/bringnow/docker-nginx-letsencrypt
location /.well-known/acme-challenge {
alias /var/acme-webroot/.well-known/acme-challenge;
location ~ /.well-known/acme-challenge/(.*) {
add_header Content-Type application/jose+json;
}
}
# redirect all traffic to https
# note: if uncommenting this, comment out anything further in this server definition
#location / {
# return 301 https://$host$request_uri;
#}
# Redirect everything that isn't a real file to index.php
location / {
try_files $uri $uri/ /index.php?$args;
}
# uncomment to avoid processing of calls to non-existing static files by Yii
location ~ \.(js|css|swf|ico|mov|fla|zip|rar)$ {
try_files $uri =404;
}
# print-spool
location /print-spool {
index index.html;
try_files $uri $uri/ /index.php?$args;
}
# send php files to phpfpm
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
fastcgi_pass php:9000;
try_files $uri =404;
}
# deny secret files
location ~ /\.(ht|svn|git) {
deny all;
}
}
# HTTPS server
server {
charset utf-8;
server_name app;
listen 443 ssl default_server;
root /app/web;
index index.php;
# setup SSL
ssl_certificate /etc/letsencrypt/live/app/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/app/privkey.pem;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains" always;
# redirect everything that isn't a real file to index.php
location / {
try_files $uri $uri/ /index.php?$args;
}
# avoid processing of calls to non-existing static files by Yii
location ~ \.(js|css|swf|ico|mov|fla|zip|rar)$ {
try_files $uri =404;
}
# send php files to phpfpm
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
fastcgi_pass php:9000;
try_files $uri =404;
}
# print-spool
location /print-spool {
index index.html;
try_files $uri $uri/ /index.php?$args;
}
# deny secret files
location ~ /\.(ht|svn|git) {
deny all;
}
}
include /etc/nginx/conf.d/*.conf;
}

View File

@ -0,0 +1,4 @@
<?php
$cfg['Servers'][1]['auth_type'] = 'config';
$cfg['Servers'][1]['user'] = 'root';
$cfg['Servers'][1]['password'] = 'root';

View File

@ -10,7 +10,7 @@
"yiisoft/yii2-bootstrap": "*",
"fxp/composer-asset-plugin": "*",
"kartik-v/yii2-widgets": "^3.4",
"cebe/markdown": "~1.0.1",
"cebe/markdown": "~1.2.0",
"bigpaulie/yii2-fancybox": "^1.0",
"knplabs/github-api": "^1.4",
"vlucas/phpdotenv": "^2.0",

View File

@ -0,0 +1,31 @@
version: '2'
services:
nginx:
environment:
- VIRTUAL_HOST=minetest-bower.127.0.0.1.xip.io
networks:
- default
- nginx-proxy
volumes:
- ./build/nginx/config/etc/letsencrypt/live/app:/etc/letsencrypt/live/app
# db:
# ports:
# - 3306:3306
phpmyadmin:
environment:
- VIRTUAL_HOST=minetest-bower.afi.127.0.0.1.xip.io
networks:
- default
- nginx-proxy
volumes:
- ./build/phpmyadmin/etc/phpmyadmin/config.dev.inc.php:/etc/phpmyadmin/config.user.inc.php
networks:
nginx-proxy:
external:
name: nginx-proxy

58
docker-compose.yml Normal file
View File

@ -0,0 +1,58 @@
version: '2'
services:
php:
image: cornernote/php:7.2-fpm-4.2
depends_on:
- db
environment:
- DB_ENV_MYSQL_USER=minetest
- DB_ENV_MYSQL_DATABASE=minetest
- DB_ENV_MYSQL_PASSWORD=minetest
- DB_ENV_MYSQL_ROOT_PASSWORD=root
volumes:
- ./composer.json:/app/composer.json
- ./composer.lock:/app/composer.lock
- ./yii:/app/yii
- ./web:/app/web
- ./src:/app/src
- ./vendor:/app/vendor
- ./runtime:/app/runtime
nginx:
image: cornernote/nginx:1.13
volumes:
- dhparam:/etc/nginx/dhparam
- ./build/nginx/config/etc/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./web:/app/web
- ./src:/app/src
- ./vendor:/app/vendor
- ./runtime:/app/runtime
depends_on:
- php
db:
image: percona:5.7
command: --character-set-server=utf8 --collation-server=utf8_general_ci
environment:
- MYSQL_USER=minetest
- MYSQL_DATABASE=minetest
- MYSQL_PASSWORD=minetest
- MYSQL_ROOT_PASSWORD=root
volumes:
- mysql:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
- PMA_HOST=db
volumes:
- /sessions
depends_on:
- db
volumes:
mysql:
dhparam:

View File

@ -52,7 +52,7 @@ class PackageController extends Controller
*/
public function actionRestore()
{
$file = 'https://gist.githubusercontent.com/cornernote/d18f9048b230a8075be1/raw/bc76dc90013422053642865111ff8a5553fa6dd5/packages.json';
$file = 'https://gist.githubusercontent.com/cornernote/b622b71ac3f77922e9021654f4c28909/raw/77ff749cac8f0bc1b1e667da300126edecf2f8ec/packages.json';
$this->stdout('Importing restore from ' . $file . "\n");
$data = json_decode(file_get_contents($file), true);
$count = count($data);

View File

@ -12,7 +12,7 @@ if (YII_ENV == 'prod') {
}
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=minetest_bower',
'dsn' => 'mysql:host=db;dbname=minetest',
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',

View File

@ -24,7 +24,7 @@ class ModController extends Controller
public $enableCsrfValidation = false;
/**
* Lists all Package models.
* Browse Package models.
* @return mixed
*/
public function actionIndex()
@ -60,6 +60,7 @@ class ModController extends Controller
* Displays a single Package model.
* @param string $name
* @return mixed
* @throws NotFoundHttpException
*/
public function actionView($name)
{
@ -82,6 +83,7 @@ class ModController extends Controller
* Displays a single Package models bower info.
* @param string $name
* @return mixed
* @throws NotFoundHttpException
*/
public function actionBower($name)
{
@ -95,6 +97,7 @@ class ModController extends Controller
* Displays a single Package models readme info.
* @param string $name
* @return mixed
* @throws NotFoundHttpException
*/
public function actionReadme($name)
{
@ -108,6 +111,7 @@ class ModController extends Controller
* Displays a single Package models readme info.
* @param string $name
* @return mixed
* @throws NotFoundHttpException
*/
public function actionScreenshots($name)
{

View File

@ -9,7 +9,6 @@ class m150812_000001_create_package extends Migration
public function up()
{
$this->dropTable(self::TABLE);
$this->createTable(self::TABLE, [
'id' => Schema::TYPE_PK,
'name' => Schema::TYPE_STRING . '(50) NOT NULL',
@ -35,5 +34,6 @@ class m150812_000001_create_package extends Migration
public function down()
{
$this->dropTable(self::TABLE);
}
}