mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 09:46:28 +08:00
add install script for ctos7&ub2004
This commit is contained in:
1 parent
88a9394836
commit
d57116692b
3 files changed
+143
-2
No files matched your search
@@ -6,10 +6,14 @@
|
|||||||
|
|
||||||
Hydro是一个高效的信息学在线测评系统。特点:易于部署,轻量,功能强大且易于扩展。
|
Hydro是一个高效的信息学在线测评系统。特点:易于部署,轻量,功能强大且易于扩展。
|
||||||
|
|
||||||
使用安装脚本(ubuntu18.04)
|
使用安装脚本(根据系统版本选择,使用root用户执行)
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
curl -sSL https://cdn.jsdelivr.net/gh/hydro-dev/Hydro@master/install/ubuntu-1804.sh | bash
|
curl -sSL https://cdn.jsdelivr.net/gh/hydro-dev/Hydro@master/install/ubuntu-1604.sh | bash # ubuntu 16.04
|
||||||
|
curl -sSL https://cdn.jsdelivr.net/gh/hydro-dev/Hydro@master/install/ubuntu-1804.sh | bash # ubuntu 18.04
|
||||||
|
curl -sSL https://cdn.jsdelivr.net/gh/hydro-dev/Hydro@master/install/ubuntu-2004.sh | bash # ubuntu 20.04
|
||||||
|
# 下方脚本未测试有效性,请尽量避免使用
|
||||||
|
curl -sSL https://cdn.jsdelivr.net/gh/hydro-dev/Hydro@master/install/centos-7.sh | bash # centos 7
|
||||||
```
|
```
|
||||||
|
|
||||||
其他平台请参照文档手动安装。
|
其他平台请参照文档手动安装。
|
||||||
|
|||||||
@@ -0,0 +1,70 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Running Hydro Installer for centos 7"
|
||||||
|
db_password=$(cat /dev/urandom | head -n 10 | md5sum | head -c 20)
|
||||||
|
|
||||||
|
# Basic
|
||||||
|
mkdir -p /etc/yum.repos.d
|
||||||
|
echo "[mongodb-org-4.4]
|
||||||
|
name=MongoDB Repository
|
||||||
|
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/
|
||||||
|
gpgcheck=1
|
||||||
|
enabled=1
|
||||||
|
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc" >/etc/yum.repos.d/mongodb-org-4.4.repo
|
||||||
|
echo "yum install -y mongodb-org"
|
||||||
|
yum install -y mongodb-org
|
||||||
|
mkdir -p /var/lib/mongo
|
||||||
|
mkdir -p /var/log/mongodb
|
||||||
|
chown -R mongod:mongod /var/lib/mongo /var/log/mongodb
|
||||||
|
|
||||||
|
# Install NodeJS
|
||||||
|
echo "Installing NodeJS"
|
||||||
|
curl -o- https://cdn.jsdelivr.net/gh/nvm-sh/nvm@v0.36.0/install.sh | sed 's/raw.githubusercontent.com\/nvm-sh\/nvm\//cdn.jsdelivr.net\/gh\/nvm-sh\/nvm@/g' | bash
|
||||||
|
export NVM_DIR=/root/.nvm
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||||
|
nvm install 14
|
||||||
|
nvm use 14
|
||||||
|
npm i yarn -g
|
||||||
|
echo "Installing pm2"
|
||||||
|
yarn global add pm2
|
||||||
|
|
||||||
|
# Install MongoDB
|
||||||
|
echo "Installing MongoDB"
|
||||||
|
echo "db.createUser({
|
||||||
|
user: 'hydro',
|
||||||
|
pwd: '$db_password',
|
||||||
|
roles: [
|
||||||
|
{ role: 'readWrite', db: 'hydro' }
|
||||||
|
]
|
||||||
|
})" >/tmp/createUser.js
|
||||||
|
echo "pm2 start mongod"
|
||||||
|
pm2 start mongod >/dev/null
|
||||||
|
sleep 2
|
||||||
|
mongo 127.0.0.1:27017/hydro /tmp/createUser.js
|
||||||
|
rm /tmp/createUser.js
|
||||||
|
echo "pm2 stop mongod"
|
||||||
|
pm2 stop mongod >/dev/null
|
||||||
|
pm2 del mongod >/dev/null
|
||||||
|
echo 'pm2 start "mongod --auth"'
|
||||||
|
pm2 start "mongod --auth"
|
||||||
|
|
||||||
|
# Install Compiler
|
||||||
|
echo 'Installing g++'
|
||||||
|
apt-get install -y g++ >/dev/null
|
||||||
|
|
||||||
|
# Install HydroOJ
|
||||||
|
# TODO: install basic addons?
|
||||||
|
echo "Installing Hydro"
|
||||||
|
yarn global add hydrooj @hydrooj/ui-default @hydrooj/hydrojudge
|
||||||
|
wget https://github.com/criyle/go-judge/releases/download/v0.7.1/executorserver-amd64 -O /usr/bin/sandbox
|
||||||
|
chmod +x /usr/bin/sandbox
|
||||||
|
pm2 start "/usr/bin/sandbox"
|
||||||
|
mkdir ~/.hydro
|
||||||
|
echo "{\"host\":\"127.0.0.1\",\"port\":\"27017\",\"name\":\"hydro\",\"username\":\"hydro\",\"password\":\"$db_password\"}" >~/.hydro/config.json
|
||||||
|
echo '["@hydrooj/ui-default","@hydrooj/hydrojudge"]' >~/.hydro/addon.json
|
||||||
|
pm2 start hydrooj
|
||||||
|
|
||||||
|
# Done
|
||||||
|
echo "Done"
|
||||||
|
echo "Database username: hydro"
|
||||||
|
echo "Database password: $db_password"
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Running Hydro Installer for ubuntu 20.04"
|
||||||
|
db_password=$(cat /dev/urandom | head -n 10 | md5sum | head -c 20)
|
||||||
|
|
||||||
|
# Basic
|
||||||
|
echo "apt-get update"
|
||||||
|
apt-get -qq update
|
||||||
|
echo "apt-get install curl wget gnupg -y"
|
||||||
|
apt-get install -y curl wget gnupg >/dev/null
|
||||||
|
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
|
||||||
|
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
|
||||||
|
apt-get -qq update
|
||||||
|
|
||||||
|
# Install NodeJS
|
||||||
|
echo "Installing NodeJS"
|
||||||
|
curl -o- https://cdn.jsdelivr.net/gh/nvm-sh/nvm@v0.36.0/install.sh | sed 's/raw.githubusercontent.com\/nvm-sh\/nvm\//cdn.jsdelivr.net\/gh\/nvm-sh\/nvm@/g' | bash
|
||||||
|
export NVM_DIR=/root/.nvm
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||||
|
nvm install 14
|
||||||
|
nvm use 14
|
||||||
|
npm i yarn -g
|
||||||
|
echo "Installing pm2"
|
||||||
|
yarn global add pm2
|
||||||
|
|
||||||
|
# Install MongoDB
|
||||||
|
echo "Installing MongoDB"
|
||||||
|
apt-get -qq install -y mongodb-org
|
||||||
|
mkdir -p /data/db
|
||||||
|
echo "db.createUser({
|
||||||
|
user: 'hydro',
|
||||||
|
pwd: '$db_password',
|
||||||
|
roles: [
|
||||||
|
{ role: 'readWrite', db: 'hydro' }
|
||||||
|
]
|
||||||
|
})" >/tmp/createUser.js
|
||||||
|
echo "pm2 start mongod"
|
||||||
|
pm2 start mongod >/dev/null
|
||||||
|
sleep 2
|
||||||
|
mongo 127.0.0.1:27017/hydro /tmp/createUser.js
|
||||||
|
rm /tmp/createUser.js
|
||||||
|
echo "pm2 stop mongod"
|
||||||
|
pm2 stop mongod >/dev/null
|
||||||
|
pm2 del mongod >/dev/null
|
||||||
|
echo 'pm2 start "mongod --auth"'
|
||||||
|
pm2 start "mongod --auth"
|
||||||
|
|
||||||
|
# Install Compiler
|
||||||
|
echo 'Installing g++'
|
||||||
|
apt-get install -y g++ >/dev/null
|
||||||
|
|
||||||
|
# Install HydroOJ
|
||||||
|
# TODO: install basic addons?
|
||||||
|
echo "Installing Hydro"
|
||||||
|
yarn global add hydrooj @hydrooj/ui-default @hydrooj/hydrojudge
|
||||||
|
wget https://github.com/criyle/go-judge/releases/download/v0.7.1/executorserver-amd64 -O /usr/bin/sandbox
|
||||||
|
chmod +x /usr/bin/sandbox
|
||||||
|
pm2 start "/usr/bin/sandbox"
|
||||||
|
mkdir ~/.hydro
|
||||||
|
echo "{\"host\":\"127.0.0.1\",\"port\":\"27017\",\"name\":\"hydro\",\"username\":\"hydro\",\"password\":\"$db_password\"}" >~/.hydro/config.json
|
||||||
|
echo '["@hydrooj/ui-default","@hydrooj/hydrojudge"]' >~/.hydro/addon.json
|
||||||
|
pm2 start hydrooj
|
||||||
|
|
||||||
|
# Done
|
||||||
|
echo "Done"
|
||||||
|
echo "Database username: hydro"
|
||||||
|
echo "Database password: $db_password"
|
||||||
Reference in new issue
Block a user