根据https://github.com/drakkan/sftpgo中的readme.md,创建第一个admin的一种方法是在配置文件中启用create_default_admin并设置环境变量SFTPGO_DEFAULT_ADMIN_USERNAME和SFTPGO_DEFAULT_ADMIN_PASSWORD。
我遵循这一点,尽管设置这些成功,我无法创建第一个管理员。
我想这样做的原因是在GCP上自动创建SFTPGo示例,然后使用一些预定义的管理员和密码对其进行初始化。
这是我用途:的启动脚本
metadata_startup_script = <<-SCRIPT
#!/bin/bash
# Install SFTPGo
sudo apt-get update
sudo add-apt-repository -y ppa:sftpgo/sftpgo
sudo apt update
sudo apt-get install -y sftpgo
# Set ENV Variables
echo 'export SFTPGO_DEFAULT_ADMIN_USERNAME="user"' | sudo tee -a /etc/environment
echo 'export SFTPGO_DEFAULT_ADMIN_PASSWORD="password"' | sudo tee -a /etc/environment
# Apply changes to the current shell
source /etc/environment
# Change create_default_admin to true
sudo -s && jq '.data_provider.create_default_admin = true' /etc/sftpgo/sftpgo.json > temp.json && mv temp.json /etc/sftpgo/sftpgo.json
# Restart the shell to apply changes
exec bash
SCRIPT
字符串
虽然我的脚本中的一切工作,当我访问“https://IP:8080/web/admin”安装SFTPGo后第一次,它仍然要求我创建第一个管理员。
我这样重新启动服务:
sudo systemctl restart sftpgo
型
服务无法重新启动。我检查了如下日志:
journalctl -u sftpgo
型
我看到这个错误:
{"level":"error","time":"2023-10-17T00:50:46.006","sender":"service","message":"error initializing data provider: to create the default admin you need to set the env vars \"SFTPGO_DEFAULT_ADMIN_USERNAME\" and \"SFTPGO_DEFAULT_ADMIN_PASSWORD\"""}
型
我确实在设置这些ENV变量。我登录到示例并检查所需的ENV变量是否全局声明。
- 如果这个问题是非常具体的服务是堆栈溢出
2条答案
按热度按时间jecbmhm31#
根据sftpgo systemd文件,您可以将
/etc/sftpgo/sftpgo.env
用作env文件。尝试将您的env vars添加到此文件:
字符串
93ze6v8z2#
能够使用以下方法实现这一点:
字符串