Docker安装filerun的注意事项
source link: https://3mile.github.io/archives/2020/1127124547/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
使用 Docker 进行文件运行安装
本指南假定您已安装并安装在具有至少 1GB RAM 内存的服务器上。Docker
docker-compose
创建名为文本的文件,并将其粘贴到以下内容中:docker-compose.yml
version: '2'
services:
db:
image: mariadb:10.1
environment:
MYSQL_ROOT_PASSWORD: your_mysql_root_password
MYSQL_USER: your_filerun_username
MYSQL_PASSWORD: your_filerun_password
MYSQL_DATABASE: your_filerun_database
volumes:
- /filerun/db:/var/lib/mysql
web:
image: afian/filerun
environment:
FR_DB_HOST: db
FR_DB_PORT: 3306
FR_DB_NAME: your_filerun_database
FR_DB_USER: your_filerun_username
FR_DB_PASS: your_filerun_password
APACHE_RUN_USER: www-data
APACHE_RUN_USER_ID: 33
APACHE_RUN_GROUP: www-data
APACHE_RUN_GROUP_ID: 33
depends_on:
- db
links:
- db:db
ports:
- "80:80"
volumes:
- /filerun/html:/var/www/html
- /filerun/user-files:/user-files
请注意上述配置。您需要配置两个文件夹。一个用于 FileRun 应用程序文件。它可以位于任何空文件夹中,并且必须将装载路径设置为 和 一个用于 FileRun 用户文件,并且装载路径设置为 。换句话说,如果使用上述配置文本,您只需要创建两个空文件夹,并且可以启动 FileRun Docker 容器:volumes
/var/www/html
/user-files
/filerun/html
/filerun/user-files
其中/filerun
是你的本地映射路径,/var/www/html
是docker容器里的路径
mkdir /filerun /filerun/html /filerun/user-files
然后使用以下命令启动 FileRun:
docker-compose up -d
FileRun 现在应该已启动并运行,您可以使用浏览器访问它。
默认 FileRun 凭据如下所示:
* 用户名:superuser
* 密码:superuser
然后设置nginx
反向代理,使用ssl访问
/etc/nginx/conf.d/
下生成你的xxx.conf
文件。当然,你得先用Certbot
生成证书。内容如下:
server {
server_name xxx.xxx;#你的域名
location / {
proxy_pass http://127.0.0.1:10080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header X-Forwarded-Proto https;
port_in_redirect off;
proxy_connect_timeout 300;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/xxx.xxx/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/xxx.xxx/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = xxx.xxx) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name xxx.xxx;
return 404; # managed by Certbot
}
如果你使用了ssl,那么根据官方以及大多数博客的内容,你会在登录的时候出错。一直登录不上去。
强制使用https协议
如果您的nginx服务,并没有直接面向最终用户,而是在某些负载均衡/cdn后面,并且您的ssl证书是在这些负载均衡/cdn上面配置的,那么有可能会导致nginx无法正确获取客户端所使用的协议,从而导致无法将客户端使用的协议传递给为知笔记服务。在这种情况下,您可以修改nginx配置,强制通知服务使用https协议。
修改前面的配置,直接将proxy_set_header X-Forwarded-Proto $scheme
修改成
proxy_set_header X-Forwarded-Proto "https";
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK