榨干 Oracle ARM 1/ 安装 Gitlab

本文成文时间较久,内容与现行版本可能出现差异,请谨慎参考

骨文免费的 ARM 4C24G 的机器只用来搭梯子就大材小用了,这里结合博主自身的体验,说说如何榨干它。

以下均基于 Debian 11 root 用户 。

安装 Docker 及 Compose

第一步,先安装 Docker 及 Docker-Compose

安装依赖

apt-get update && apt-get install ca-certificates curl wget vim gnupg lsb-release -y

下载 GPG Key

curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

更新 apt source

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

安装 Docker Engine

apt-get update && apt-get install docker-ce docker-ce-cli containerd.io -y

## 可选,用 d 代替 docker 命令
ln -s /usr/bin/docker /usr/bin/d

安装 Docker Compose

wget -O /usr/local/bin/docker-compose "https://github.com/docker/compose/releases/download/v2.3.3/docker-compose-linux-aarch64"

chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

## 可选,可用 dc 代替 docker-compose 命令
ln -s /usr/local/bin/docker-compose /usr/bin/dc

查看是否安装成功

d -v
# Docker version 20.10.13, build a224086
dc -v
# Docker Compose version v2.3.3

💡 以下我均用 dc 代替 docker-compose 命令。

安装 Nginx 及 acme.sh

安装 GPG Key

curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

更新 apt source

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" | tee /etc/apt/sources.list.d/nginx.list

# 提权
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | tee /etc/apt/preferences.d/99nginx

安装 Nginx

apt update && apt install nginx -y

安装 acme.sh

curl -L get.acme.sh | bash

# 重启终端,重新登录 SSH

安装 Gitlab

新建文件夹

mkdir -p /var/www/gitlab && cd /var/www/gitlab

编辑 docker-compose.yml

vim docker-compose.yml

将下方代码粘贴进去,按 Esc,输入 :wq 保存退出

version: '3.6'
services:
  web:
    image: 'yrzr/gitlab-ce-arm64v8:latest'
    hostname: 'git.im.sb'
    restart: unless-stopped
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://git.im.sb'
        gitlab_rails['gitlab_shell_ssh_port'] = 3022
        gitlab_rails['time_zone'] = 'Asia/Shanghai'
        gitlab_rails['gitlab_ssh_host'] = 'git.im.sb'
    ports:
      - '3080:80'
      - '3022:22'
    volumes:
      - './config:/etc/gitlab'
      - './logs:/var/log/gitlab'
      - './data:/var/opt/gitlab'
  runner:
    restart: always
    volumes:
      - './runner-config:/etc/gitlab-runner'
      - '/var/run/docker.sock:/var/run/docker.sock'
    image: 'gitlab/gitlab-runner:latest'

# 以上所有 git.im.sb 均修改为您自己的域名

运行

dc up -d

# 查看运行详情
dc ps

NAME                COMMAND                  SERVICE             STATUS              PORTS
gitlab-runner-1     "/usr/bin/dumb-init …"   runner              running             
gitlab-web-1        "/assets/wrapper"        web                 running (healthy)   0.0.0.0:3022->22/tcp, 0.0.0.0:3080->80/tcp, :::3022->22/tcp, :::3080->80/tcp

# 当 gitlab-web-1 状态为 healthy 的时候即代表成功运行,访问 ip:3080 即可进入 Gitlab 首页

查看默认 root 密码

cat config/initial_root_password

# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: [Hidden]

# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

以用户名 root 及上方 Password 密码即可登陆 Gitlab。

配置 Runner、HTTPS 待更......


安装 Mastodon 可查看系列 2

榨干 Orcale ARM 2/ Mastodon

Read more

Mastodon 数据库升级实战:从 PostgreSQL 12 到 14 全记录

在今日拉取 glitch-soc/mastodon:edge 时,发现 Mastodon 最新版本对数据库的要求提升至至少 PostgreSQL 13,而我的部署环境中一直依赖 Docker Compose ,使用的是 PostgreSQL 12。为了保证后续更新不出问题,冲了一波版本升级。 下面是数据库升级的详细过程: 以下 dc 均为 docker compse 的简写 修改 docker-compose 配置 首先,给 db 服务添加 volume: db: volumes: - ./postgres:/var/lib/postgresql/data - ./dumps:/dumps 单独重启数据库 dc down dc up -d

By YJK
榨干 ORACLE ARM 5/ 安装 Windows

榨干 ORACLE ARM 5/ 安装 Windows

不建议,具有删号的风险、具有变砖的风险。不适合不会救砖的同学。 准备工作 登录 OCI 后台,设置一下实例【传输中加密】为【已禁用】 安装依赖 apt install curl wget -y 安装 Windows 1、DD 的方式,大概历时 15 分钟 curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh && bash reinstall.sh dd --img https://r2.hotdog.eu.org/win11-arm-with-pagefile-15g.

By YJK
自建 Docker Hub 镜像

自建 Docker Hub 镜像

使用 Nginx server { listen 443 ssl; server_name 域名; ssl_certificate 证书地址; ssl_certificate_key 密钥地址; ssl_session_timeout 24h; ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256'; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; location / { proxy_pass https://registry-1.docker.io; # Docker Hub 的官方镜像仓库 proxy_

By YJK
[AD] 闲置 VPS 挂机赚钱 | 已提现超过 100 USD

[AD] 闲置 VPS 挂机赚钱 | 已提现超过 100 USD

闲置 VPS 挂机销售流量赚钱,通过以下链接注册赠送 5USD,即只要再挂满 5USD 便可提现 10USD,可通过 USDT(TRC20) 提现至 Crypto 钱包。 * https://traffmonetizer.com/?aff=793646 根据 TM 最新的政策, 新注册账号未赠送 5 USD。 还有一个 Repocket,注册送 5U,满 20U 10USD 提现。 Repocket 更新了它的提现政策,满 10 刀即可通过 Paypal、Wise 提现。 * https://link.repocket.co/BTrB Traffmonetizer 挂机方法 1/

By YJK
Mastodon