分享两个我自用的docker版宝塔面板 docker-compose 配置

可导入到 Portainer 中使用!具体可在本博客中搜索:Docker相关字样!

Snipaste_2022-10-14_02-10-24.png

正式环境

1、只有https,所以只开放443端口
2、需要访问面板,故需要放行8888端口(注意!这里我映射母鸡端口是2333)
3、其他端口一律不放行,包括但不限于mysql,ssh,phpmyadmin,ftp协议等等,拒绝一切可能性,除非母鸡被黑了,那这无解了~

version: "3"
services:
  server:
    image: btpanel/baota:lnmp
    container_name: baota-prod
    restart: always
    volumes:
      - /docker/baota-prod/wwwroot:/www/wwwroot
      - /docker/baota-prod/backup:/www/backup
      - /docker/baota-prod/database:/www/server/data
    ports:
      - "443:443"
      - "2333:8888"

测试环境

能放的都放出来,爱黑不黑,黑了拉到,反正测试环境~摆烂了~

version: "3"
services:
  server:
    image: btpanel/baota:lnmp
    container_name: baota-dev
    restart: always
    volumes:
      - /docker/baota-dev/wwwroot:/www/wwwroot
      - /docker/baota-dev/backup:/www/backup
      - /docker/baota-dev/database:/www/server/data
    ports:
      - "80:80"
      - "8888:8888"
      - "888:888"
      - "21:21"
      - "3306:3306"

扩展阅读

通过本博文我们可以发现,通过docker我们可以实现一太服务器部署多个宝塔面板同时使用,虽然宝塔面板功能全面,并且内置了网站、数据库备份功能,并且我们可以轻松地通过插件插件市场安装对象存储相关应用已达到自动异地备份的能力,但是!既然都已经玩了容器了,多一个免费的备份岂不美哉?还是免费的!

Github上有一个开源的阿里云盘同步项目,支持docker运行,上传下载双向同步都是支持的!借助docker自身开机自运行的特性,我们就可以轻松实现多一个阿里云盘的备份能力了!

考虑到部分网络环境特殊等情况的兄弟可能无法访问开源主页!没事!送佛送到西,配置都给你写好了,如下:

version: "3"

services:
  server:
    image: tickstep/aliyunpan-sync:v0.2.2
    container_name: aliyunpan-sync
    restart: always
    environment:
    - TZ=Asia/Shanghai
    - ALIYUNPAN_REFRESH_TOKEN=#这里换成自己的阿里云盘账户token
    - ALIYUNPAN_PAN_DIR=#这里换成你云盘内备份的路径
    - ALIYUNPAN_SYNC_MODE=upload
    - ALIYUNPAN_TASK_STEP=upload
    volumes:
      - /docker:/home/app/data

同时也节约大家时间,如何获取自己阿里云盘token呢?很简单!

RefreshToken获取

需要通过浏览器获取refresh_token。这里以Chrome浏览器为例,其他浏览器类似。
打开 阿里云盘网页 并进行登录,然后F12按键打开浏览器调试菜单,按照下面步骤进行

how-to-get-refresh-token.png

或者直接打开控制台,输入如下代码回车获取!

JSON.parse(localStorage.getItem("token")).refresh_token

Snipaste_2022-10-14_03-44-50.png

个人完整配置分享

version: "3"

services:
  env-baota-prod:
    image: btpanel/baota:lnmp
    container_name: env-baota-prod
    restart: always
    volumes:
      - /docker/baota-prod/wwwroot:/www/wwwroot
      - /docker/baota-prod/backup/database:/www/backup/database
      - /docker/baota-prod/backup/site:/www/backup/site
    ports:
      - "80:80"
      - "443:443"
      - "8888:8888"
      - "888:888"
      - "3306:3306"
      - "21:21"
  backup-aliyunpan-baota-prod:
    image: tickstep/aliyunpan-sync:v0.2.2
    container_name: backup-aliyunpan-baota-prod
    restart: always
    environment:
    - TZ=Asia/Shanghai
    - ALIYUNPAN_REFRESH_TOKEN=【换成你自己的token】
    - ALIYUNPAN_PAN_DIR=【换成你自己的云盘目录】
    - ALIYUNPAN_SYNC_MODE=upload
    - ALIYUNPAN_TASK_STEP=upload
    - ALIYUNPAN_SYNC_LOG=true
    volumes:
      - /docker/baota-prod/backup:/home/app/data