写了一半的总结用opencode和claude code写了接近一天,差不多完成了80%吧
概念设计
风格:手绘/卡通冒险风,温馨房间人设(暖色调、木质、绿植、小摆件)
主页导航:点击房间里的物品跳转对应页面
互动机制:成就徽章系统、隐藏彩蛋、返访记忆(localStorage)
时间系统:随系统时间切换白天/傍晚/夜晚氛围
技术栈搭建
React 19 + Vite 8 + React Router v7 + Framer Motion 12
oxlint 代码检查
生产构建 (dist/) 可部署
房间主页 (src/pages/Home.jsx)温馨房间背景(墙面+地板+踢脚线+木纹),根据系统时间自动切换色调:
☀️ 上午 — 暖黄明亮
🌤️ 下午 — 金黄
🌅 傍晚 — 橙红
🌙 夜晚 — 深蓝
10 个房间物品,数据驱动渲染:
物品
类型
行为
🖼️ 照片墙
navigation
→ /photos
🏆 奖杯架
navigation
→ /growth
📚 书架
navi ...
Oracle 部署 GNOME 桌面服务给甲骨文 Ubuntu ARM 实例装个 GNOME 桌面,配上 NoMachine 远程连接,跑完这套流程就能用了。
清理干扰12sudo apt purge lightdm* unity-greeter* xfce4* xubuntu* -y 2>/dev/nullsudo apt autoremove -y
防止系统自动拉轻量级桌面进来。
更新 & 安装GNOME12sudo apt updatesudo apt install ubuntu-desktop gdm3 gnome-session gnome-terminal -y
安装 NoMachine去 NoMachine 官网 下载 ARM64 的 .deb 包,拿到下载链接后 wget 安装:
12wget <下载链接>sudo dpkg -i nomachine_*.deb
装好之后 NoMachine 会自动注册成 systemd 服务,不用额外配置。
设置图形界面启动 & 重启123sudo systemctl set-defa ...
部署项目
deepseekharness [1panel][26.8.31]
怀旧游戏厅 [Docker Compose][game.clovee.qzz.io]
OpenResty 反代
Hermes + gateway服务 [网页+QQ+微信]
FiveM 服务端
1panel面板
已配置域名的服务
服务
地址
部署方式
怀旧游戏厅
game.clovee.qzz.io
Docker Compose
FREELLMAPI
api.clovee.qzz.io
Docker
博客
blog.clovee.qzz.io
Vercel部署
Hermes网页入口
VPS :9119
自改为常驻服务
什么是 RetroAssemblyRetroAssembly 是一个开源的网页版怀旧游戏收藏柜。把 ROM 文件上传到自己的服务器上,就能在浏览器里直接玩 NES、SNES、Genesis、GameBoy、街机 等 23 个平台的经典游戏。
主打优点:
一条 Docker 命令部署,64MB 镜像极其轻量
自动刮削封面,游戏库看起来整整齐齐
多用户 + 云存档,家人朋友各玩各的
MIT 协议,随便改
PWA 支持,手机也能当 APP 用
部署步骤前提条件
一台有公网 IP 的服务器(本文以 Ubuntu + Oracle Cloud 为例)
服务器已安装 Docker 和 Docker Compose
第一步:确认 Docker 已安装12docker --versiondocker compose version
第二步:创建项目目录1mkdir -p ~/retroassembly && cd ~/retroassembly
第三步:编写 docker-compose.yml123456789services: retroassembly: ...
手动申请SSL证书记录一次用 Certbot + Cloudflare DNS API 申请通配符证书的完整流程。
前置条件
域名托管在 Cloudflare
服务器有 root 权限
Cloudflare API Token(需 DNS - Edit 权限)
安装 Certbot 及插件12sudo apt updatesudo apt install certbot python3-certbot-dns-cloudflare
配置 Cloudflare API 凭证12sudo mkdir -p /etc/letsencrypt/credentialssudo nano /etc/letsencrypt/credentials/cloudflare.ini
写入 Token 后加固权限:
1sudo chmod 600 /etc/letsencrypt/credentials/cloudflare.ini
申请证书12345sudo certbot certonly \ --dns-cloudflare \ --dns-cloudflare-credentials ...
用opencode写了个部署脚本https://github.com/w1288568/Fivem-server-install?tab=readme-ov-file
在 ARM 架构 Ubuntu 上部署 FiveM 服务端完整指南
本指南基于社区方案,利用 FEX-Emu 模拟器在 ARM64 机器上运行 x86_64 的 FiveM 服务端。适用于 Ubuntu 20.04 / 22.04 / 24.04 (aarch64)。
前提条件
ARM 架构服务器(建议 4 核 + 8 GB 以上内存,推荐 16 GB)
已注册 Cfx.re 并获取 License Key
防火墙开放端口:30120(TCP+UDP),可选 40120(TCP)用于 txAdmin
GTA 5 经典版(Legacy)游戏文件(增强版暂不支持)
1. 系统准备与端口开放1234567sudo apt update && sudo apt upgrade -ysudo apt install -y git wget xz-utils screen curl# ...
把 Hermes 网页仪表盘做成后台服务之前 Hermes 的 dashboard 跑在终端里,Ctrl+C 或者关掉窗口就没了。这次用 systemd 用户服务把它做成常驻后台,关机自启、崩溃自动恢复。
写入服务文件把下面的配置贴到终端:
1234567891011121314151617181920212223cat <<'EOF' > /root/.config/systemd/user/hermes-dashboard.service[Unit]Description=Hermes Agent Web DashboardAfter=network-online.targetWants=network-online.target[Service]Type=simpleWorkingDirectory=/rootExecStart=/usr/local/lib/hermes-agent/venv/bin/hermes dashboard \ --host 0.0.0.0 \ --port 9119 \ --no-openRestart ...
甲骨文云的三种防火墙机制甲骨文的机器有三层防火墙,哪一层没放行都连不上,刚接触的时候被坑过好几次。
1. 安全列表(Security List)Oracle 云控制台里的规则,相当于云平台层面的防火墙。
路径:控制台 → 网络 → 虚拟云网络 → 子网 → 安全列表
默认只开放了 22 端口,想开别的得手动加入站规则(Ingress Rule)。比如要开放 80 端口:
源 CIDR:0.0.0.0/0
协议:TCP
目标端口:80
加完之后保存,立竿见影。这层不放开,后面两层折腾再多也没用。
2. 服务器内置防火墙系统自带的防火墙,不同的系统命令不一样。
CentOS / Rocky Linux 用 firewalld:
123456# 查看当前规则firewall-cmd --list-all# 开放端口firewall-cmd --add-port=80/tcp --permanentfirewall-cmd --reload
Ubuntu / Debian 用 ufw,默认一般是关闭的:
12345# 查看状态ufw status# 开启并放行端口 ...
26-7-3补充:后来看个人资料才发现姓氏和名字都填反了😂,这都过了,这次申请真是玄学。
甲骨文云申请成功!刷 B 站看到个视频说甲骨文免费 ARM 从 4 核 24G 削到了 2 核 12G,突然想起自己也很久没试了,就随手又申请了一下。
没想到,成了。
中途还开了下代理,因为信用卡付款页面打不开,离谱。点注册后提示我去填写新链接——我之前手机号注册过,不过后来被封了。填完新链接再注册,久违的绿色圈圈出现了。之前试了多少次都没成功啊,真太激动了。
注册信息留念
网络: 电脑连接手机热点,浏览器无痕模式
邮箱:w12*****@gmail.com
位置:新加坡西部
地址:山东省青岛市黄岛区世纪大道1014号
手机号:150****1505
信用卡:宝钢 visa 卡
截图留念