Debian用docker部署Homepage和Vaultwarden
在 Debian 上用 Docker Compose 部署 Homepage 导航面板和 Vaultwarden 密码管理器。
#type / howto
#status / evergreen
#tech / ops / docker
Debian用docker部署Homepage和Vaultwarden
[!info] related notes [[vaultwarden|Vaultwarden]] Docker Compose 容器升级步骤 Vaultwarden prelogin 404 故障
部署 Homepage 和 Vaultwarden
为了保持服务器整洁,我们将把所有服务都放在 /opt/docker 目录下。
1. 创建目录结构:
Bash
sudo mkdir -p /opt/docker/homepage/config
sudo mkdir -p /opt/docker/vaultwarden/data
cd /opt/docker
- 创建 compose.yaml 文件:
我们需要一个“蓝图”来告诉 Docker 怎么运行这两个软件。
输入命令:
nano compose.yaml
- 粘贴以下配置 (核心步骤):
(我帮你配置好了端口:Homepage 用 3000,Vaultwarden 用 8080)
YAML
services:
# --- 1. Nginx Proxy Manager (反向代理/SSL证书) ---
npm:
image: 'jc21/nginx-proxy-manager:latest'
container_name: npm
restart: unless-stopped
ports:
- '80:80' # HTTP 入口
- '81:81' # NPM 管理后台
- '443:443' # HTTPS 入口
volumes:
- ./npm/data:/data
- ./npm/letsencrypt:/etc/letsencrypt
# --- 2. Homepage 导航面板 ---
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
restart: unless-stopped
ports:
- '3000:3000'
volumes:
- ./homepage/config:/app/config
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- HOMEPAGE_ALLOWED_HOSTS=你的域名或IP # 必须配置,否则访问报 Host validation failed
# --- 3. Vaultwarden 密码管理器 ---
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
ports:
- '8080:80'
volumes:
- ./vaultwarden/data:/data
environment:
- SIGNUPS_ALLOWED=true # 首次安装开启注册,注册完务必改成 false
- DOMAIN: "https://你的域名" # 必须配置为你实际访问的 HTTPS 地址
- 按
Ctrl + O保存,Enter确认,Ctrl + X退出。
4. 启动服务:
Bash
docker compose up -d
Docker 会开始疯狂拉取镜像并启动。等待出现 Started 字样即可。
第三步:访问你的成果
现在,你的 N100 已经不仅仅是一台服务器了:
-
访问 Homepage:
- 浏览器打开:
http://192.168.0.51:3000 - 你会看到一个默认的漂亮面板。
- 怎么改内容? 回到 SSH,编辑
/opt/docker/homepage/config/services.yaml等文件。
- 浏览器打开:
-
访问 Vaultwarden:
- 浏览器打开:
http://192.168.0.51:8080 - ⚠️ 重要提示:Vaultwarden 出于安全考虑,强制要求 HTTPS 才能使用部分功能(如创建账号)。
- 解决方法:你需要用 Nginx Proxy Manager (NPM) 给它套一层反向代理并加上 SSL 证书,或者在你的浏览器里开启“不安全来源”豁免(不推荐)。
- 浏览器打开:
建议的下一步:
因为 Vaultwarden 没 HTTPS 用不了,你现在最需要安装 Nginx Proxy Manager 来管理反向代理和证书。
需要我教你怎么把 NPM 加到这个 compose.yaml 里吗?