很早以前买一台VPS主要的功能就是翻墙,然后常年也仅仅是跑一个 Shadowsocks,后来渐渐的发现其实有一台服务器即使只有单核1G,也能够用来做很多事情。以前我也看过一些文章讲述如何充分利用起VPS,但大部分除了说自建网站,挂机刷 YouTube 赚钱外也都没有什么实质性的内容。而自从开始接触Docker,我渐渐的发现了很多服务,因此我自己搜罗了一些。当然其实 GitHub 上有一个 Awesome Selfhosted 这里面列举了成百上千种可以自己托管部署的服务,几乎可以代替掉日常生活中用到的80%的服务,可以自建 nextcloud 代替 Dr
Read more ...
Docker Volumes 机制通常用来给 Docker 容器保存持久化数据,使用 Volumes 有很多优势:
更容易备份和迁移
使用 Docker CLI 命令或者 Docker API 来管理
可以在 Linux 和 Windows 上使用
可以更安全得在多个容器中共享
Volume drivers 允许容器将内容保存到远端,云服务提供商,或者加密volume内容,或者增加其他功能
新 Volume 的内容可以被容器预先填充, volume 会先将容器内容拷贝到容器外目录
Volumes 通常也优于容器的可写层,使
Read more ...
Gogs 是一个能够自建Git托管服务的开源项目,用 Go 语言实现。因为较之 GitLab 轻量化一些,所以受到一定欢迎。
使用 Docker 来搭建 Gogs 服务时,需要额外依赖 MySQL,网上一般的教程都是先启动一个 MySQL 容器,开放端口,然后在启动 Gogs 容器配置。其实可以使用 docker-compose 一次性启动好。
version: '3.3'
services:
gogsdb:
image: mysql:5.7
container_name: gogsdb
restart: always
Read more ...
以下的内容适用于 docker-compose 版本 version 2 和 version 3。先来看 Docker 官方文档中关于 Docker Compose and Django的例子,可以使用 depends_on 来访问容器中的数据
version: '2'
services:
db:
image: postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
p
Read more ...
Privoxy 是一款不进行网页缓存且自带过滤功能的代理服务器,本文主要使用其 socks 转 http 代理的功能。Privoxy 也能够过滤网页内容,管理 Cookie,控制访问,去广告、横幅、弹窗等等,因此可以作为广告过滤。
Privoxy is a non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data and HTTP headers, controlling access, and
Read more ...
系统运行一段时间之后难免容器会出现问题,出现问题并不可怕,可怕的是不知道问题出现在哪里,这个时候查看当前容器运行的日志就能够排查出一些问题。
在之前的文章 中,学会了如何创建,查看,移除等等管理容器的方法,其实查看日志也和这些方法类似。
比如要查看容器所有运行的日志可以使用,下面的 containerId 都可以被替换为容器的名字:
docker logs [containerId]
如果要持续观察容器的日志输出,可以使用 -f 或者 --follow 参数
docker logs -f [containerId]
但是这个命令在不同系统
Read more ...
腾讯云对象存储 Cloud Object Storage ,简称 COS,是腾讯云为企业和个人开发者提供的存储海量数据的分布式存储服务。
基本使用
在控制面板申请对象存储基本信息,创建存储桶,输入名字,选择地域,选择访问权限,然后访问秘钥,可以得到如下信息:
bucket: backup-1251234567 (格式为 bucketname-appid)
SecretId: SecretId
SecretKey: SecretKey
region: ap-beijing
appid: 123456789
将腾讯云 COS 挂载到腾讯云服务器中
安
Read more ...
Flask 使用 Jinja2 模板引擎。
Flask 会在 templates 文件夹里寻找模板。所以,如果你的应用是个模块,这个文件夹应该与模块同级;如果它是一个包,那么这个文件夹作为包的子目录:
情况 1: 模块:
/application.py
/templates
/hello.html
情况 2: 包:
/application
/__init__.py
/templates
/hello.html
使用 Jinja2 只需要使用 render_template() 方法
from f
Read more ...
有很多网站可以托管 Docker 镜像, Docker 官方站点 hub.docker.com 速度在国内访问不是很快,不过幸好国内有公司做了 hub.docker.com 的镜像,通过 CDN 优化了下载。Docker Hub 为用户提供无限数量的公开镜像托管服务,但是仅提供一个私有镜像托管。Docker Hub 上镜像分为两类,一类为官方镜像,Ubuntu,redis 等等由权威三方开发和维护通过 Docker 官方认证,另一类就是普通用户镜像。
使用 registry mirrors
手动修改 Docker 配置 /etc/docker/daem
Read more ...
python 的版本管理有 pyenv,同样的 ruby 也有 rbenv,可以和 pyenv 一样在本地管理多个 ruby 版本,很久没有更新本地的 ruby 版本导致了 jekyll 的依赖不支持才想起来这件事情。
安装
其项目地址为:
https://github.com/rbenv/rbenv
因此安装就很方便
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
然后将下面内容添加到 PATH
export PATH="$HOME/.rbenv/bin:$PATH"
运行
Read more ...