环境容器
上次更新: 2024-03-20 09:36:46
常用compose
version: '3.8'
services:
caddy:
image: caddy:latest
container_name: caddy
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- /www/wwwroot/caddy/Caddyfile:/etc/caddy/Caddyfile
- /www/wwwroot/caddy/data:/data
- /www/wwwroot/caddy/config:/config
- /www/wwwroot/caddy/html:/usr/share/caddy
networks:
- mozzie-net
mysql:
image: mysql:latest
container_name: mysql
restart: always
environment:
# 改自己的
MYSQL_ROOT_PASSWORD: xxxxxxx
TZ: Asia/Shanghai
volumes:
- /www/wwwroot/mysql:/var/lib/mysql
ports:
- "6033:3306"
networks:
- mozzie-net
mongo:
image: mongo:latest
container_name: mongo
restart: always
environment:
# 改自己的
MONGO_INITDB_ROOT_USERNAME: xxxxxxx
# 改自己的
MONGO_INITDB_ROOT_PASSWORD: xxxxxxx
ports:
- "37017:27017"
volumes:
- /www/wwwroot/mongodb:/data/db
networks:
- mozzie-net
gitea:
image: gitea/gitea:latest
container_name: gitea
restart: always
environment:
- TZ=Asia/Shanghai
ports:
- "10022:22"
- "3000:3000"
volumes:
- /www/wwwroot/gitea/data:/data
depends_on:
- mysql
networks:
- mozzie-net
drone-server:
image: drone/drone:latest
container_name: drone-server
volumes:
- /www/wwwroot/drone/:/data/docker/drone
environment:
DRONE_AGENTS_ENABLED: 'true'
DRONE_GIT_ALWAYS_AUTH: 'true'
DRONE_TLS_AUTOCERT: 'true'
DRONE_GITEA_SERVER: 'https://git.maxshader.com'
# 看gitea创建OAuth2应用后提供的ID
DRONE_GITEA_CLIENT_ID: '6a476381-1618-450b-9492-26e43abbb5d0'
# 看gitea创建OAuth2应用后提供的ID
DRONE_GITEA_CLIENT_SECRET: 'gto_c4tu5jovdzvgk3sscjqsya7ecd63vxnwe6c5ysrnx3jobvxzknwq'
# 随意 openssl rand -hex 16,和下面 drone-runner-docker 要求一一致
DRONE_RPC_SECRET: '26cdbe261717013601989df793a3cc38'
DRONE_SERVER_HOST: ci.maxshader.com
DRONE_SERVER_PROTO: 'https'
DRONE_USER_CREATE: 'username:mozzie,admin:true'
ports:
- "8081:80"
- "8443:443"
networks:
- mozzie-net
restart: always
drone-runner-docker:
image: drone/drone-runner-docker:latest
container_name: drone-runner-docker
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
DRONE_RPC_PROTO: http
DRONE_RPC_HOST: drone-server
DRONE_RPC_SECRET: 26cdbe261717013601989df793a3cc38
DRONE_RUNNER_CAPACITY: 2
DRONE_RUNNER_NAME: drone-runner-docker
DRONE_TLS_AUTOCERT: 'true'
networks:
- mozzie-net
restart: always
filebrowser:
image: filebrowser/filebrowser
container_name: filebrowser
# 直接挂整个wwwroot目录是个人习惯
volumes:
- /www/wwwroot/:/srv
restart: always
networks:
- mozzie-net
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
ports:
- "4533:4533"
restart: unless-stopped
volumes:
- "/www/wwwroot/navidrome/data:/data"
- "/www/wwwroot/navidrome/music:/music:ro"
networks:
- mozzie-net
networks:
mozzie-net:
name: mozzie-net
driver: bridge
对应 caddy 配置,也就是上面挂载的 Caddyfile
maxshader.com {
root * /usr/share/caddy/
file_server
encode gzip
}
www.maxshader.com {
redir https://maxshader.com{uri}
}
git.maxshader.com {
reverse_proxy gitea:3000
}
music.maxshader.com {
reverse_proxy navidrome:4533
}
file.maxshader.com {
reverse_proxy filebrowser
}
ci.maxshader.com {
reverse_proxy drone-server
}
drone ci卡pending
# 1.拉不下来就手动下载,再传到服务器解压
curl -L https://github.com/drone-runners/drone-runner-exec/releases/latest/download/drone_runner_exec_linux_amd64.tar.gz | tar zx
# 2.解压 移动到 /usr/local/bin
tar -zxvf drone_runner_exec_linux_amd64.tar.gz
mv ./drone-runner-exec /usr/local/bin
# 3.添加/修改 配置
mkdir /etc/drone-runner-exec
vim /etc/drone-runner-exec/config
写入内容
# http协议
DRONE_RPC_PROTO=https
# drone web服务地址
DRONE_RPC_HOST=ci.maxshader.com
# drone 安装 rpc key,和上面一致
DRONE_RPC_SECRET=26cdbe261717013601989df793a3cc38
安装 drone-runner-exec, 注册系统 service
# 配置完成后,运行 drone-runner-exec 注册系统service
drone-runner-exec service install
drone-runner-exec service start
drone-runner-exec service stop
# 查看服务状态
systemctl status drone-runner-exec
# 取消开机自动启动
systemctl disable drone-runner-exec
重拾纯粹的写作