完成docker模块
This commit is contained in:
parent
7aa7f119f4
commit
b73e72c2e9
@ -14,8 +14,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "${port}:5244"
|
- "${port}:5244"
|
||||||
EOF
|
EOF
|
||||||
sudo docker compose up -d | "安装失败" $$ exit
|
sudo docker compose up -d || "安装失败" $$ exit
|
||||||
declare password=$( docker exec -it alist ./alist admin random )
|
declare password=$( sudo docker exec -it alist ./alist admin random | grep password | awk '{print $4}')
|
||||||
echo "账号:admin"
|
echo "账号:admin"
|
||||||
echo "密码:${password}"
|
echo "密码:${password}"
|
||||||
cd - >> /dev/null
|
|
||||||
|
@ -0,0 +1,58 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
declare path=$1
|
||||||
|
declare port=$2
|
||||||
|
|
||||||
|
sudo useradd -m git
|
||||||
|
sudo -u git ssh-keygen -t rsa -b 4096 -C "Gitea Host Key" -f /home/git/.ssh/id_rsa -N ""
|
||||||
|
sudo -u git sh -c 'cat /home/git/.ssh/id_rsa.pub >> /home/git/.ssh/authorized_keys'
|
||||||
|
declare uid=$( id git | awk -F'[=() ]+' '{print $2}' )
|
||||||
|
declare gid=$( id git | awk -F'[=() ]+' '{print $5}' )
|
||||||
|
|
||||||
|
cd $path
|
||||||
|
cat > "docker-compose.yml" << EOF
|
||||||
|
networks:
|
||||||
|
gitea:
|
||||||
|
external: false
|
||||||
|
services:
|
||||||
|
server:
|
||||||
|
image: gitea/gitea:latest
|
||||||
|
container_name: gitea
|
||||||
|
environment:
|
||||||
|
- USER_UID=${uid}
|
||||||
|
- USER_GID=${gid}
|
||||||
|
- GITEA__database__DB_TYPE=mysql
|
||||||
|
- GITEA__database__HOST=db:3306
|
||||||
|
- GITEA__database__NAME=gitea
|
||||||
|
- GITEA__database__USER=gitea
|
||||||
|
- GITEA__database__PASSWD=gitea
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- gitea
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /home/git/.ssh/:/data/git/.ssh
|
||||||
|
ports:
|
||||||
|
- "${port}:3000"
|
||||||
|
- "$(( port+22 )):22"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
db:
|
||||||
|
image: mysql:8
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=gitea
|
||||||
|
- MYSQL_USER=gitea
|
||||||
|
- MYSQL_PASSWORD=gitea
|
||||||
|
- MYSQL_DATABASE=gitea
|
||||||
|
networks:
|
||||||
|
- gitea
|
||||||
|
volumes:
|
||||||
|
- ./mysql:/var/lib/mysql
|
||||||
|
EOF
|
||||||
|
sudo docker compose up -d
|
||||||
|
|
||||||
|
sudo -u git ssh -p $(( port+22 )) -o StrictHostKeyChecking=no git@127.0.0.1 "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@"
|
||||||
|
|
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
declare path=$1
|
||||||
|
declare port=$2
|
||||||
|
|
||||||
|
cd $path
|
||||||
|
cat > docker-compose.yml << EOF
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: 'jc21/nginx-proxy-manager:latest'
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- '80:80'
|
||||||
|
- '443:443'
|
||||||
|
- '${port}:81'
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
- ./letsencrypt:/etc/letsencrypt
|
||||||
|
EOF
|
||||||
|
sudo docker compose up -d
|
||||||
|
echo "Email: admin@example.com"
|
||||||
|
echo "Password: changeme"
|
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
declare path=$1
|
||||||
|
declare port=$2
|
||||||
|
cd $path
|
||||||
|
wget "https://waf-ce.chaitin.cn/release/latest/compose.yaml"
|
||||||
|
|
||||||
|
cat > ".env" << EOF
|
||||||
|
SAFELINE_DIR=$path
|
||||||
|
IMAGE_TAG=latest
|
||||||
|
MGT_PORT=$port
|
||||||
|
POSTGRES_PASSWORD="safeline"
|
||||||
|
SUBNET_PREFIX=172.22.222
|
||||||
|
IMAGE_PREFIX=chaitin
|
||||||
|
EOF
|
||||||
|
sudo docker compose up -d || "安装失败" $$ exit
|
||||||
|
declare password=$( docker exec safeline-mgt resetadmin | grep password | awk -F ":" '{print $2}' )
|
||||||
|
echo "账号:admin"
|
||||||
|
echo "密码:${password}"
|
@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
declare path=$1
|
||||||
|
declare port=$2
|
||||||
|
declare password
|
||||||
|
read -p "请输入思源访问密码,(默认 Siyuan ):" password
|
||||||
|
|
||||||
|
if [[ -z $password ]];then
|
||||||
|
password="Siyuan"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo chown -R 1000:1000 $path
|
||||||
|
cd $path
|
||||||
|
cat > "docker-compose.yml" << EOF
|
||||||
|
version: "3.9"
|
||||||
|
services:
|
||||||
|
siyuan:
|
||||||
|
image: b3log/siyuan
|
||||||
|
container_name: siyuan
|
||||||
|
user: '1000:1000'
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- $port:6806
|
||||||
|
volumes:
|
||||||
|
- ./:/siyuan/workspace
|
||||||
|
command:
|
||||||
|
- "--workspace=/siyuan/workspace/"
|
||||||
|
- "--lang=zh_CN"
|
||||||
|
- "--accessAuthCode=$password"
|
||||||
|
EOF
|
||||||
|
sudo docker compose up -d || "安装失败" $$ exit
|
||||||
|
echo "访问密码:$password"
|
@ -0,0 +1,119 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
declare path=$1
|
||||||
|
declare port=$2
|
||||||
|
cd $path
|
||||||
|
|
||||||
|
mkdir data
|
||||||
|
mkdir php
|
||||||
|
mkdir -p nginx/conf
|
||||||
|
|
||||||
|
cat > "./php/Dockerfile" << 'EOF'
|
||||||
|
FROM php:fpm
|
||||||
|
|
||||||
|
# 更新包列表并安装 pdo_mysql 扩展
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -y libpq-dev && \
|
||||||
|
docker-php-ext-install pdo_mysql && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# 设置 PHP 配置
|
||||||
|
RUN { \
|
||||||
|
echo "output_buffering = 4096"; \
|
||||||
|
echo "date.timezone = PRC"; \
|
||||||
|
} > /usr/local/etc/php/conf.d/custom.ini
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > "./nginx/conf/default.conf" << 'EOF'
|
||||||
|
server {
|
||||||
|
listen 80 default_server; # 监听 80 端口
|
||||||
|
root /var/www/html; # 网站根目录
|
||||||
|
index index.php index.html index.htm;
|
||||||
|
|
||||||
|
access_log /var/log/nginx/typecho_access.log main; # 访问日志
|
||||||
|
if (!-e $request_filename) {
|
||||||
|
rewrite ^(.*)$ /index.php$1 last; # 重写 URL 到 index.php
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
if (!-e $request_filename) {
|
||||||
|
rewrite . /index.php last; # 如果文件不存在,重写到 index.php
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ \.php(.*)$ {
|
||||||
|
fastcgi_pass php:9000; # 转发 PHP 请求到 php-fpm 服务
|
||||||
|
fastcgi_index index.php;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 设置脚本文件名参数
|
||||||
|
include fastcgi_params; # 包含 fastcgi 参数
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > docker-compose.yml << EOF
|
||||||
|
services: # 定义多个服务
|
||||||
|
|
||||||
|
nginx: # 服务名称
|
||||||
|
image: nginx # 使用的镜像
|
||||||
|
ports: # 映射的端口
|
||||||
|
- "${port}:80" # 宿主机端口 ${port} 映射到容器端口 80
|
||||||
|
restart: always # 容器重启策略
|
||||||
|
volumes: # 映射文件
|
||||||
|
- ./data:/var/www/html # 网站源代码
|
||||||
|
- ./nginx/conf:/etc/nginx/conf.d # nginx 站点配置文件
|
||||||
|
- ./nginx/logs:/var/log/nginx # nginx 日志文件
|
||||||
|
depends_on: # 定义依赖关系
|
||||||
|
- php # 依赖 php 服务
|
||||||
|
networks: # 要加入的网络
|
||||||
|
- typecho # 加入 typecho 网络
|
||||||
|
|
||||||
|
php: # 服务名称
|
||||||
|
build: ./php # 构建文件的目录
|
||||||
|
restart: always # 容器重启策略
|
||||||
|
volumes: # 映射文件
|
||||||
|
- ./data:/var/www/html # 网站源代码
|
||||||
|
depends_on: # 定义依赖关系
|
||||||
|
- mysql # 依赖 mysql 服务
|
||||||
|
networks: # 要加入的网络
|
||||||
|
- typecho # 加入 typecho 网络
|
||||||
|
|
||||||
|
mysql: # 服务名称
|
||||||
|
image: mysql:5.7 # 指定 5.7 版本的 mysql 镜像
|
||||||
|
restart: always # 容器重启策略
|
||||||
|
volumes: # 要映射的文件
|
||||||
|
- ./mysql/data:/var/lib/mysql # mysql 数据
|
||||||
|
- ./mysql/logs:/var/log/mysql # mysql 日志
|
||||||
|
- ./mysql/conf:/etc/mysql/conf.d # mysql 配置文件
|
||||||
|
environment: # 环境变量
|
||||||
|
MYSQL_ROOT_PASSWORD: typecho # MySQL root 用户的密码
|
||||||
|
MYSQL_DATABASE: typecho # 创建的数据库名称
|
||||||
|
networks: # 要加入的网络
|
||||||
|
- typecho # 加入 typecho 网络
|
||||||
|
|
||||||
|
networks: # 定义的内部网络
|
||||||
|
typecho: # 网络名称
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cd data
|
||||||
|
wget https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip -O typecho.zip
|
||||||
|
unzip typecho.zip
|
||||||
|
rm typecho.zip
|
||||||
|
|
||||||
|
cd $path
|
||||||
|
|
||||||
|
sudo chown -R 1000:1000 $path
|
||||||
|
|
||||||
|
|
||||||
|
sudo chmod -R 777 data
|
||||||
|
|
||||||
|
|
||||||
|
sudo docker compose up -d
|
||||||
|
|
||||||
|
echo "数据库地址:mysql"
|
||||||
|
echo "数据库用户名:root"
|
||||||
|
echo "数据库密码:typecho"
|
||||||
|
echo "数据库名:typecho"
|
||||||
|
|
||||||
|
echo "安装完成在${path}/data/config.inc.php末尾加上,防止排版错误"
|
||||||
|
echo "define('__TYPECHO_SECURE__',true);"
|
||||||
|
|
44
Config/Docker/Vaultwarden.sh
Normal file
44
Config/Docker/Vaultwarden.sh
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
declare path=$1
|
||||||
|
declare port=$2
|
||||||
|
|
||||||
|
declare password
|
||||||
|
read -p "请输入管理员密码(不输入则关闭管理员):" password
|
||||||
|
|
||||||
|
cd $path
|
||||||
|
cat > "docker-compose.yml" << EOF
|
||||||
|
version: '3.8'
|
||||||
|
services:
|
||||||
|
bitwarden:
|
||||||
|
image: vaultwarden/server:latest
|
||||||
|
container_name: vaultwarden
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- SIGNUPS_ALLOWED=true
|
||||||
|
- WEBSOCKET_ENABLED=true
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
- ADMIN_TOKEN="$password"
|
||||||
|
volumes:
|
||||||
|
- ./:/data/
|
||||||
|
ports:
|
||||||
|
- "${port}:80"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if [[ -z $password ]];then
|
||||||
|
awk '!/ADMIN_TOKEN=/' docker-compose.yml > tmpfile && mv tmpfile docker-compose.yml
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir templates
|
||||||
|
cd templates
|
||||||
|
wget https://github.com/wcjxixi/vaultwarden-lang-zhcn/archive/refs/heads/main.zip
|
||||||
|
unzip main.zip
|
||||||
|
rm main.zip
|
||||||
|
cd vaultwarden-lang-zhcn-main
|
||||||
|
declare admin=$( ls | grep "admin" | tac | head -n 1 )
|
||||||
|
declare email=$( ls | grep "email" | tac | head -n 1 )
|
||||||
|
mv "$admin" admin && cp -r admin ..
|
||||||
|
mv "$email" email && cp -r email ..
|
||||||
|
cd ..
|
||||||
|
rm -rf vaultwarden-lang-zhcn-main
|
||||||
|
sudo docker compose up -d || echo "安装失败" && exiti
|
||||||
|
echo "需要反向代理,使用https,才能正常使用"
|
@ -92,8 +92,7 @@ elif [[ "${pick}" -gt "$((${pick_number}-${#pick_array[*]}))" && "${pick}" -le "
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
bash Config/Docker/${pick_array[${pick}]}.sh "$file_path" "$port"
|
bash Config/Docker/${pick_array[${pick}]}.sh "$file_path" "$port"
|
||||||
echo "访问链接:http://127.0.0.1:${port}"
|
echo "${pick_array[${pick}]}安装完成,访问端口${port}"
|
||||||
echo "${pick_array[${pick}]}安装完成"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user