From 41fa48c8bd0e9f8dd331be1d39c0f42529904a31 Mon Sep 17 00:00:00 2001 From: takalalika Date: Tue, 15 Dec 2020 16:17:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 26 +++++++++++++++++---- normal/chevereto/docker-compose.yml | 33 ++++++++++++++++++++++++++ normal/gitlab/docker-compose.yml | 17 ++++++++++++++ tool/no-compose/shadowsoks.txt | 1 + tool/resilio/docker-compose.yml | 14 +++++++++++ tool/syncthing/docker-compose.yml | 19 +++++++++++++++ tool/transmission/docker-compose.yml | 21 +++++++++++++++++ use_ssl/chevereto/docker-compose.yml | 35 ++++++++++++++++++++++++++++ use_ssl/gitlab/docker-compose.yml | 19 +++++++++++++++ 9 files changed, 181 insertions(+), 4 deletions(-) create mode 100644 normal/chevereto/docker-compose.yml create mode 100644 normal/gitlab/docker-compose.yml create mode 100644 tool/no-compose/shadowsoks.txt create mode 100644 tool/resilio/docker-compose.yml create mode 100644 tool/syncthing/docker-compose.yml create mode 100644 tool/transmission/docker-compose.yml create mode 100644 use_ssl/chevereto/docker-compose.yml create mode 100644 use_ssl/gitlab/docker-compose.yml diff --git a/README.md b/README.md index 7236050..8522996 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ## 目录 use_ssl:支持docker-compose一键搭建并使用ssl normal:一些人不喜欢https或者如果套用cf再用 Let’s Encrypt 生成证书会出问题。这两种情况用这个目录下的 - 这两个目录任选一个使用 + tool: 一些工具类的软件,直接使用ip访问或者直接使用docker跑的东西 ## 核心 use_ssl/nginx-proxy 或者 normal/nginx-proxy 目录下的docker-compose,好奇可以自行google image后面的内容 @@ -20,15 +20,33 @@ cd auto-server\use_ssl\nginx-proxy or cd auto-server\normal\nginx - - docker-compose up -d + docker-compose up -d #### 4.修改并启动需要启动的服务的docker-compose中的参数 如bitwarden下的 - VIRTUAL_HOST=example.test.com - LETSENCRYPT_HOST=example.test.com - DEFAULT_EMAIL=xxx@gmail.com 将对应的域名和邮箱修改,不使用ssl的情况下 只需要修改VIRTUAL_HOST - + 一些特殊的软件可能需要额外配置,请留意文件中的注释 + +## 已知的问题 + 在套用cloudflare并且https启用严格的情况下,再使用use_ssl中的方法运行可能出现ssl检验不过的情况,实测可以先使用灵活模式,再运行docker-compose。再改成严格模式/直接使用normal方式启动cf设置成灵活模式/cloudflare使用严格模式并且dns中配置足够久的情况下仍然可以直接使用use_ssl启动,这也是为什么一开始我没有发现这个问题的原因。 + +## 问题排查和一些基本操作 +当发现启动项目后运行不正常,先使用docker ps -a +查询到对应docker容器的id 再使用 docker logs -f 容器id的方式可以查询到该容器的启动日志。多数情况下是jrcs/letsencrypt-nginx-proxy-companion没有签发成功,详细情况可以添加issue。或者直接使用normal方式 + +## 已经支持的项目 + bitwarden + chevereto + gitlab + file_server(https://files.photo.gallery/demo) + wordpress + shadowsoks + resilio + syncthing + transmission + ## 参照 #### http://einverne.github.io/post/2017/02/docker-nginx-host-multiple-websites.html 看见这篇文章开始折腾的 diff --git a/normal/chevereto/docker-compose.yml b/normal/chevereto/docker-compose.yml new file mode 100644 index 0000000..8ba40f2 --- /dev/null +++ b/normal/chevereto/docker-compose.yml @@ -0,0 +1,33 @@ +version: '3' + +services: + db: + image: mariadb + volumes: + - ./images/mariadb:/var/lib/mysql:rw + restart: always + environment: + MYSQL_ROOT_PASSWORD: chevereto_root + MYSQL_DATABASE: chevereto + MYSQL_USER: chevereto + MYSQL_PASSWORD: chevereto + + chevereto: + depends_on: + - db + image: nmtan/chevereto + restart: always + environment: + CHEVERETO_DB_HOST: db + CHEVERETO_DB_USERNAME: chevereto + CHEVERETO_DB_PASSWORD: chevereto9527@! + CHEVERETO_DB_NAME: chevereto + CHEVERETO_DB_PREFIX: chv_ + VIRTUAL_HOST: example.test.com + volumes: + - ./images/cheverto:/var/www/html/images:rw #需要给这个images 777权限,如果还是不行需要到容器内( docker exec -ti 容器id bash)给images文件777权限 + +networks: + default: + external: + name: nginx-proxy \ No newline at end of file diff --git a/normal/gitlab/docker-compose.yml b/normal/gitlab/docker-compose.yml new file mode 100644 index 0000000..5e8bfff --- /dev/null +++ b/normal/gitlab/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3' +services: + gitlab: + image: 'gitlab/gitlab-ce' + restart: unless-stopped + hostname: 'git.motoko.site' #记得修改这里 + container_name: gitlab + environment: + VIRTUAL_HOST: example.test.com + TZ: 'Asia/Shanghai' + GITLAB_OMNIBUS_CONFIG: | + external_url 'http://example.test.com' #记得修改这里 + gitlab_rails['time_zone'] = 'Asia/Shanghai' + volumes: + - /srv/gitlab/config:/etc/gitlab + - /srv/gitlab/logs:/var/log/gitlab + - /srv/gitlab/data:/var/opt/gitlab \ No newline at end of file diff --git a/tool/no-compose/shadowsoks.txt b/tool/no-compose/shadowsoks.txt new file mode 100644 index 0000000..126410a --- /dev/null +++ b/tool/no-compose/shadowsoks.txt @@ -0,0 +1 @@ +docker run --restart=always -e PASSWORD=1uyzxqwer@321 -e METHOD=aes-256-gcm -p 1888:8388 -p 1888:8388/udp -d shadowsocks/shadowsocks-libev \ No newline at end of file diff --git a/tool/resilio/docker-compose.yml b/tool/resilio/docker-compose.yml new file mode 100644 index 0000000..951c5ab --- /dev/null +++ b/tool/resilio/docker-compose.yml @@ -0,0 +1,14 @@ +version: '3' + +services: + resilio_sync: + image: resilio/sync + restart: always + ports: + - 9999:8888 + - 55555:55555/tcp + - 55555:55555/udp + volumes: + - ./sync_storage:/mnt/sync/storage # Sync storage folder + - ./sync.conf:/mnt/sync/sync.conf # Configuration file + - /root/auto-server/use_ssl/file_server/app/files/syn:/mnt/sync/data # folder with data to be shared diff --git a/tool/syncthing/docker-compose.yml b/tool/syncthing/docker-compose.yml new file mode 100644 index 0000000..0553c71 --- /dev/null +++ b/tool/syncthing/docker-compose.yml @@ -0,0 +1,19 @@ +version: "2.1" +services: + syncthing: + image: ghcr.io/linuxserver/syncthing + container_name: syncthing + hostname: syncthing #optional 一般用ip访问就可以 + environment: + - PUID=0 # 用户/用户组id 0为root,这个地方如果用新建用户 记得给授权 要不运行起来没有权限操作文件 + - PGID=0 # 用户/用户组id 0为root,这个地方如果用新建用户 记得给授权 要不运行起来没有权限操作文件 + - TZ=Europe/London + volumes: + - ./path/to/appdata/config:/config # 操作的文件地址,需要共享出去 或者下载过来的文件存放地址 + - ./path/to/data1:/data1 + - ./path/to/data2:/data2 + ports: + - 8384:8384 + - 22000:22000 + - 21027:21027/udp + restart: unless-stopped diff --git a/tool/transmission/docker-compose.yml b/tool/transmission/docker-compose.yml new file mode 100644 index 0000000..dee0149 --- /dev/null +++ b/tool/transmission/docker-compose.yml @@ -0,0 +1,21 @@ +version: "2.1" +services: + transmission: + image: ghcr.io/linuxserver/transmission + container_name: transmission + environment: + - PUID=1000 # 用户/用户组id 0为root,这个地方如果用新建用户 记得给授权 要不运行起来没有权限操作文件 + - PGID=1000 # 用户/用户组id 0为root,这个地方如果用新建用户 记得给授权 要不运行起来没有权限操作文件 + - TZ=Europe/London + - TRANSMISSION_WEB_HOME=/combustion-release/ #optional + - USER=username #optional + - PASS=password #optional + volumes: + - ./data/config:/config + - ./data/downloads:/downloads + - ./data/watch:/watch + ports: + - 9091:9091 + - 51413:51413 + - 51413:51413/udp + restart: unless-stopped \ No newline at end of file diff --git a/use_ssl/chevereto/docker-compose.yml b/use_ssl/chevereto/docker-compose.yml new file mode 100644 index 0000000..f71faa7 --- /dev/null +++ b/use_ssl/chevereto/docker-compose.yml @@ -0,0 +1,35 @@ +version: '3' + +services: + db: + image: mariadb + volumes: + - ./images/mariadb:/var/lib/mysql:rw + restart: always + environment: + MYSQL_ROOT_PASSWORD: chevereto_root + MYSQL_DATABASE: chevereto + MYSQL_USER: chevereto + MYSQL_PASSWORD: chevereto + + chevereto: + depends_on: + - db + image: nmtan/chevereto + restart: always + environment: + CHEVERETO_DB_HOST: db + CHEVERETO_DB_USERNAME: chevereto + CHEVERETO_DB_PASSWORD: chevereto9527@! + CHEVERETO_DB_NAME: chevereto + CHEVERETO_DB_PREFIX: chv_ + VIRTUAL_HOST: example.test.com + LETSENCRYPT_HOST: example.test.com + DEFAULT_EMAIL: xxx@gmail.com + volumes: + - ./images/cheverto:/var/www/html/images:rw #需要给这个images 777权限,如果还是不行需要到容器内( docker exec -ti 容器id bash)给images文件777权限 + +networks: + default: + external: + name: nginx-proxy \ No newline at end of file diff --git a/use_ssl/gitlab/docker-compose.yml b/use_ssl/gitlab/docker-compose.yml new file mode 100644 index 0000000..9cb03b5 --- /dev/null +++ b/use_ssl/gitlab/docker-compose.yml @@ -0,0 +1,19 @@ +version: '3' +services: + gitlab: + image: 'gitlab/gitlab-ce' + restart: unless-stopped + hostname: 'git.motoko.site' #记得修改这里 + container_name: gitlab + environment: + VIRTUAL_HOST: example.test.com + LETSENCRYPT_HOST: example.test.com + DEFAULT_EMAIL: xxx@gmail.com + TZ: 'Asia/Shanghai' + GITLAB_OMNIBUS_CONFIG: | + external_url 'https://example.test.com' #记得修改这里 + gitlab_rails['time_zone'] = 'Asia/Shanghai' + volumes: + - /srv/gitlab/config:/etc/gitlab + - /srv/gitlab/logs:/var/log/gitlab + - /srv/gitlab/data:/var/opt/gitlab \ No newline at end of file