树莓派家庭服务器的搭建以 docker 为核心,通过 docker 统一管理家庭服务,目前搭建的服务还在持续完善中,主要目的是为了方便日常使用、满足学习和探索的需求。
Docker 的安装这里不再赘述,参考 Docker Configuration01 Install on Linux 一文进行安装即可;本篇主要侧重于介绍部署的镜像和服务,以及简单介绍使用方式。
一些 Docker 容器推荐 这里推荐一些 Docker 容器:Alist、XiaoYa、PiDashboard、redis、mysql、portainer、memos、wikijs
相关的 Docker-Compose 文件会上传到AikenH/aikenh-DockerComposeYML (github.com)
数据库部署与远程连接测试 sqlite 3
Sqlite 与 Mysql 等不同,是一个无服务器、零配置的数据库,其更像是一个解析特定数据库文件的命令接口(CLI 工具),其将数据完全存储于一个单一的跨平台磁盘文件中;
由于 sqlite3 的特性,决定了其是一个轻量级 且不需要额外配置 的数据库,但是在远程访问方面,只能通过文件共享来实现远程操作数据库。
大多数的 Linux 系统版本都会附带 SQLite 的安装,因此我们可以直接使用下面的指令验证一下是否安装:
如果没有安装的话,可以去官方的下载页面 下载对应的预编译包,然后进行安装即可。
1 2 3 4 5 6 wget https://www.sqlite.org/2023/sqlite-autoconf-3420000.tar.gz tar -zxvf sqlite-autoconf-3420000.tar.gzcd sqlite-autoconf-3420000 ./configure --prefix=/usr/local make make install
这里也提供使用 Docker-compose 安装的方式,但实际上看该数据库的特性,用 docker 安装的并不是推荐的选择。
参考资料:SQLite 3 Docker Compose – Mustafa Bugra 。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 version: '3' services: sqlite3: container_name: sqlite3_container image: nouchka/sqlite3:latest stdin_open: true tty: true volumes: - path-to/your/databases/sqlite3:/root/db/ ports: - '9000:9000' restart: unless-stopped
如果是树莓派的 ARM64,可能需要使用另一个镜像 。
1 docker run --rm -it -v "$(pwd) :/workspace" -w /workspace keinos/sqlite3
但是该镜像的使用方式,实际上就是将其当成一个命令来用,所以还是建议本机安装。