本页内容
- 先决条件
- 步骤 1 - 配置防火墙
- 步骤 2 - 安装 Docker 和 Docker Compose
- 步骤 3 - 创建并下载 Lemmy 文件
- 步骤 4 - 配置 Lemmy
- 步骤 5 - 安装 Lemmy
- 步骤 6 - 安装 Nginx
- 步骤 7 - 安装 SSL
- 步骤 8 - 配置 Nginx
- 步骤 9 - 访问 Lemmy
- 步骤 10 - 升级 Lemmy
- 步骤 11 - 备份和恢复 Lemmy 恢复 Lemmy 数据库
- 结论
- 恢复 Lemmy 数据库
Lemmy 是一个开源的、类 Reddit 的内容聚合和微博客平台,面向 Fediverse。它允许你创建和管理社区,并能够与其他 ActivityPub 服务(包括 Mastodon、Pleroma 和 Peertube)进行通信。
虽然有一些流行的 Lemmy 实例你可以加入和使用,但也可以为你自己的朋友和家人运行自己的 Lemmy 实例。在本教程中,你将学习如何在 Ubuntu 22.04 服务器上安装 Lemmy。
先决条件
- 运行 Ubuntu 22.04 的服务器。
- 非 root 的 sudo 用户。
- 类似 example.com 的完全限定域名(FQDN)。
- 确保所有软件包都已更新。 $ sudo apt update $ sudo apt upgrade
- 系统需要的一些软件包。 $ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y 其中某些软件包可能已经在你的系统上安装过了。
运行 Ubuntu 22.04 的服务器。
非 root 的 sudo 用户。
类似 example.com 的完全限定域名(FQDN)。
确保所有软件包都已更新。
$ sudo apt update
$ sudo apt upgrade
系统需要的一些软件包。
$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y
其中某些软件包可能已经在你的系统上安装过了。
步骤 1 - 配置防火墙
第一步是配置防火墙。Ubuntu 默认自带 ufw(Uncomplicated Firewall,简易防火墙)。
检查防火墙是否在运行。
$ sudo ufw status
你将看到如下输出。
Status: inactive
允许 SSH 端口,以免在启用防火墙时中断当前的连接。
$ sudo ufw allow OpenSSH
同时允许 HTTP 和 HTTPS 端口。
$ sudo ufw allow http
$ sudo ufw allow https
启用防火墙
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
再次检查防火墙的状态。
$ sudo ufw status
你应该会看到类似的输出。
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
步骤 2 - 安装 Docker 和 Docker Compose
Ubuntu 22.04 自带较旧版本的 Docker。要安装最新版本,首先导入 Docker 的 GPG 密钥。
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg
创建 Docker 仓库文件。
$ echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
更新系统的仓库列表。
$ sudo apt update
安装最新版本的 Docker。
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
验证其是否正在运行。
$ sudo systemctl status docker
? docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-08-04 07:48:20 UTC; 4min 29s ago
TriggeredBy: ? docker.socket
Docs: https://docs.docker.com
Main PID: 2372 (dockerd)
Tasks: 8
Memory: 23.9M
CPU: 295ms
CGroup: /system.slice/docker.service
??2372 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
默认情况下,Docker 需要 root 权限。如果你想在每次运行 docker 命令时避免输入 sudo,可以将你的用户名加入 docker 组。
$ sudo usermod -aG docker $(whoami)
你需要注销服务器并以同一用户重新登录才能使此更改生效,或者使用以下命令。
$ su - ${USER}
确认你的用户已加入 Docker 组。
$ groups
navjot wheel docker
步骤 3 - 创建并下载 Lemmy 文件
为 Lemmy 创建一个文件夹。
$ mkdir ~/lemmy
切换到该目录。
$ cd ~/lemmy
获取自定义的 Nginx 文件以便与 Docker 配合使用。
$ wget https://raw.githubusercontent.com/LemmyNet/lemmy-ansible/main/templates/nginx_internal.conf
获取 Docker compose 文件。
$ wget https://raw.githubusercontent.com/LemmyNet/lemmy-ansible/main/templates/docker-compose.yml
为 Pictrs 应用创建一个文件夹。
$ mkdir -p volumes/pict-rs
为该目录设置正确的权限。
$ sudo chown -R 991:991 volumes/pict-rs
步骤 4 - 配置 Lemmy
在继续安装之前,我们需要编辑下载的文件。
打开 Docker compose 文件进行编辑。
$ nano docker-compose.yml
在文件中进行以下更改:
- 将文件中的变量 {{ lemmy_port }} 替换为 8536。
- 将文件中的变量 {{ lemmy_docker_image }} 替换为 dessalines/lemmy:0.18.3。你可以从 Lemmy 的 Docker Hub 页面获取最新版本的 Lemmy Docker 镜像。该页面需要你拥有 Docker 账号。或者,你也可以从其 Github 发布页面获取版本。
- 将文件中的变量 {{ lemmy_docker_ui_image }} 替换为 dessalines/lemmy-ui:0.18.3。请确保版本与 Lemmy 的 Docker 镜像一致,否则将无法正常工作。
- 使用以下命令为 pict-rs 生成 API 密钥。 $ openssl rand -base64 32 lRLcaM5rovxzmztlDvtkGijJyBtg4KlEKC6HRb3dn7s= pictrs 服务下 environment 属性下的 PICTRS__API_KEY 密钥被错误地配置为它应该是 PostgreSQL 密码。请将 API 密钥变量中的 {{ postgres_password }} 变量替换为上面命令生成的密钥。
- 将文件中的 {{ domain }} 变量替换为你的 Lemmy 实例的完全限定域名。
- 将 {{ postgres_password }} 替换为你自己选择的用于 PostgreSQL 服务器的强密码。
- 用以下内容替换现有的环境变量 RUST_LOG。 - RUST_LOG="warn,lemmy_server=debug,lemmy_api=debug,lemmy_api_common=debug,lemmy_api_crud=debug,lemmy_apub=debug,lemmy_db_schema=debug,lemmy_db_views=debug,lemmy_db_views_actor=debug,lemmy_db_views_moderator=debug,lemmy_routes=debug,lemmy_utils=debug,lemmy_websocket=debug" - RUST_BACKTRACE=full
- 在 PostgreSQL 服务下的 hostname 属性下添加以下部分。 command:/r/n [ "postgres", "-c", "session_preload_libraries=auto_explain", "-c", "auto_explain.log_min_duration=5ms", "-c", "auto_explain.log_analyze=true", "-c", "track_activity_query_size=1048576", ] ports:/r/n # use a different port so it doesnt conflict with potential postgres db running on the host - "5433:5432"
将文件中的变量 {{ lemmy_port }} 替换为 8536。
将文件中的变量 {{ lemmy_docker_image }} 替换为 dessalines/lemmy:0.18.3。你可以从 Lemmy 的 Docker Hub 页面获取最新版本的 Lemmy Docker 镜像。该页面需要你拥有 Docker 账号。或者,你也可以从其 Github 发布页面获取版本。
将文件中的变量 {{ lemmy_docker_ui_image }} 替换为 dessalines/lemmy-ui:0.18.3。请确保版本与 Lemmy 的 Docker 镜像一致,否则将无法正常工作。
使用以下命令为 pict-rs 生成 API 密钥。
$ openssl rand -base64 32
lRLcaM5rovxzmztlDvtkGijJyBtg4KlEKC6HRb3dn7s=
pictrs 服务下 environment 属性下的 PICTRS__API_KEY 密钥被错误地配置为它应该是 PostgreSQL 密码。请将 API 密钥变量中的 {{ postgres_password }} 变量替换为上面命令生成的密钥。
将文件中的 {{ domain }} 变量替换为你的 Lemmy 实例的完全限定域名。
将 {{ postgres_password }} 替换为你自己选择的用于 PostgreSQL 服务器的强密码。
用以下内容替换现有的环境变量 RUST_LOG。
- RUST_LOG="warn,lemmy_server=debug,lemmy_api=debug,lemmy_api_common=debug,lemmy_api_crud=debug,lemmy_apub=debug,lemmy_db_schema=debug,lemmy_db_views=debug,lemmy_db_views_actor=debug,lemmy_db_views_moderator=debug,lemmy_routes=debug,lemmy_utils=debug,lemmy_websocket=debug"
- RUST_BACKTRACE=full
在 PostgreSQL 服务下的 hostname 属性下添加以下部分。
command:
[
"postgres",
"-c",
"session_preload_libraries=auto_explain",
"-c",
"auto_explain.log_min_duration=5ms",
"-c",
"auto_explain.log_analyze=true",
"-c",
"track_activity_query_size=1048576",
]
ports:
# use a different port so it doesnt conflict with potential postgres db running on the host
- "5433:5432"
编辑完成后,按 Ctrl + X 并在提示时输入 Y 来保存文件。接下来,创建并打开 lemmy.hjson 文件进行编辑。
$ nano lemmy.hjson
粘贴以下代码。
{
# for more info about the config, check out the documentation
# https://join-lemmy.org/docs/en/administration/configuration.html
database: {
host: "postgres"
user: "lemmy"
password: "yourpsqlpassword"
database: "lemmy"
port: 5432
}
hostname: "example.com"
pictrs: {
url: "http://pictrs:8080/"
# Set a custom pictrs API key. ( Required for deleting images )
api_key: "lRLcaM5rovxzmztlDvtkGijJyBtg4KlEKC6HRb3dn7s="
}
email: {
smtp_server: "email-smtp.us-west-2.amazonaws.com:465"
smtp_login: "AmazonSESUserID"
smtp_password:"AmazonSESPassword"
smtp_from_address: "
[email protected]
"
# Whether or not smtp connections should use tls. Can be none, tls, or starttls
tls_type: "tls"
}
setup: {
# Username for the admin user
admin_username: "admin"
# Password for the admin user. It must be at least 10 characters.
admin_password: "tf6HHDS4RolWfFhk4Rq9"
# Name of the site (can be changed later)
site_name: "Howtoforge Lemmy"
# Email for the admin user (optional, can be omitted and set later through the website)
admin_email: "
[email protected]
"
}
}
编辑完成后,按 Ctrl + X 并在提示时输入 Y 来保存文件。
下一步是创建一个自定义的 PostgreSQL 配置文件以优化数据库。访问 PGTune 网站,根据服务器规模生成相应的值。

输入服务器参数,点击 Generate 按钮,创建自定义配置。
创建并打开 customPostgresql.conf 文件进行编辑。
$ nano customPostgresql.conf
粘贴你从 PGTune 获得的代码。
# DB Version: 15
# OS Type: linux
# DB Type: web
# Total Memory (RAM): 2 GB
# CPUs num: 2
# Connections num: 100
# Data Storage: ssd
max_connections = 100
shared_buffers = 512MB
effective_cache_size = 1536MB
maintenance_work_mem = 128MB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 2621kB
min_wal_size = 1GB
max_wal_size = 4GB
按 Ctrl + X 并在提示时输入 Y 来保存文件。
步骤 5 - 安装 Lemmy
现在所有文件都已配置完毕,是时候运行 Lemmy 了。运行以下命令启动 Docker 容器。
$ docker compose up -d
检查容器的状态。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
75443bb3db3e nginx:1-alpine "/docker-entrypoint.…" 32 seconds ago Up 29 seconds 80/tcp, 0.0.0.0:8536->8536/tcp, :::8536->8536/tcp lemmy-proxy-1
8393c8d625af dessalines/lemmy-ui:0.18.1 "docker-entrypoint.s…" 32 seconds ago Up 30 seconds 1234/tcp lemmy-lemmy-ui-1
ea743c8279f7 dessalines/lemmy:0.18.1 "/app/lemmy" 32 seconds ago Up 26 seconds lemmy-lemmy-1
78855ae7871e postgres:15-alpine "docker-entrypoint.s…" 33 seconds ago Up 31 seconds 5432/tcp lemmy-postgres-1
9556b57afdb9 asonix/pictrs:0.4.0 "/sbin/tini -- /usr/…" 33 seconds ago Up 31 seconds 6669/tcp, 8080/tcp lemmy-pictrs-1
你也可以直接使用 Docker Compose 查看状态。
$ docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
lemmy-lemmy-1 dessalines/lemmy:0.18.1 "/app/lemmy" lemmy About a minute ago Up About a minute
lemmy-lemmy-ui-1 dessalines/lemmy-ui:0.18.1 "docker-entrypoint.s…" lemmy-ui About a minute ago Up About a minute 1234/tcp
lemmy-pictrs-1 asonix/pictrs:0.4.0 "/sbin/tini -- /usr/…" pictrs About a minute ago Up About a minute 6669/tcp, 8080/tcp
lemmy-postgres-1 postgres:15-alpine "docker-entrypoint.s…" postgres About a minute ago Up About a minute 5432/tcp
lemmy-proxy-1 nginx:1-alpine "/docker-entrypoint.…" proxy About a minute ago Up About a minute 80/tcp, 0.0.0.0:8536->8536/tcp, :::8536->8536/tcp
你可以通过打开 URL http://
步骤 6 - 安装 Nginx
Ubuntu 22.04 自带较旧版本的 Nginx。要安装最新版本,你需要下载官方的 Nginx 仓库。
导入 Nginx 的签名密钥。
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
为 Nginx 的稳定版添加仓库。
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
更新系统仓库。
$ sudo apt update
安装 Nginx。
$ sudo apt install nginx
验证安装。
$ nginx -v
nginx version: nginx/1.24.0
启动 Nginx。
$ sudo systemctl start nginx
检查服务的状态。
$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-08-04 09:01:56 UTC; 3s ago
Docs: https://nginx.org/en/docs/
Process: 5297 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 5298 (nginx)
Tasks: 2 (limit: 2308)
Memory: 1.9M
CPU: 7ms
CGroup: /system.slice/nginx.service
??5298 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
??5299 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
步骤 7 - 安装 SSL
我们需要安装 Certbot 来生成 SSL 证书。你可以使用 Ubuntu 的仓库安装 Certbot,也可以通过 Snapd 工具获取最新版本。我们将使用 Snapd 版本。
Ubuntu 22.04 默认已安装 Snapd。运行以下命令以确保你的 Snapd 版本是最新的。
$ sudo snap install core && sudo snap refresh core
安装 Certbot。
$ sudo snap install --classic certbot
使用以下命令,通过创建指向 /usr/bin 目录的符号链接,确保可以运行 Certbot 命令。
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
运行以下命令生成 SSL 证书。
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m
[email protected]
-d example.com
上述命令会将证书下载到服务器上的 /etc/letsencrypt/live/example.com 目录。
生成 Diffie-Hellman 组证书。
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
检查 Certbot 续期调度服务。
$ sudo systemctl list-timers
你会发现 snap.certbot.renew.service 是计划运行的服务之一。
NEXT LEFT LAST PASSED UNIT ACTIVATES
Fri 2023-08-04 09:50:30 UTC 46min left Fri 2023-08-04 01:49:37 UTC 7h ago apt-daily.timer apt-daily.service
Sat 2023-08-05 00:00:00 UTC 14h left Wed 2023-06-28 04:41:28 UTC 5h 7min ago dpkg-db-backup.timer dpkg-db-backup.service
Fri 2023-08-04 18:54:00 UTC 9h left n/a n/a snap.certbot.renew.timer snap.certbot.renew.service
对该过程进行一次空运行(dry run),以检查 SSL 续期是否正常工作。
$ sudo certbot renew --dry-run
如果未见任何错误,说明一切就绪。你的证书将自动续期。
步骤 8 - 配置 Nginx
创建并打开文件 /etc/nginx/conf.d/lemmy.conf 进行编辑。
$ sudo nano /etc/nginx/conf.d/lemmy.conf
在其中粘贴以下代码。
limit_req_zone $binary_remote_addr zone=example.com_ratelimit:10m rate=1r/s;
server {
listen 80;
listen [::]:80;
server_name example.com;
# Hide nginx version
server_tokens off;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
access_log /var/log/nginx/lemmy.access.log;
error_log /var/log/nginx/lemmy.error.log;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;
ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
# use https://blog.cloudflare.com/announcing-1111 Cloudfare+Apnic labs, It is free and secure
resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] valid=300s;
# Hide nginx version
server_tokens off;
# Enable compression for JS/CSS/HTML bundle, for improved client load times.
# It might be nice to compress JSON, but leaving that out to protect against potential
# compression+encryption information leak attacks like BREACH.
gzip on;
gzip_types text/css application/javascript image/svg+xml;
gzip_vary on;
# Various content security headers
add_header Referrer-Policy "same-origin";
add_header X-Content-Type-Options "nosniff";
add_header X-Frame-Options "DENY";
add_header X-XSS-Protection "1; mode=block";
location / {
proxy_pass http://localhost:8536;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
请注意,Nginx 配置中要使用的根目录是 /var/www/html/Lemmy/public/ 。
编辑完成后,按 Ctrl + X 并在提示时输入 Y 来保存文件。
打开文件 /etc/nginx/nginx.conf 进行编辑。
$ sudo nano /etc/nginx/nginx.conf
在 include /etc/nginx/conf.d/*.conf; 这一行之前添加以下行。
server_names_hash_bucket_size 64;
按 Ctrl + X 并在提示时输入 Y 来保存文件。
验证 Nginx 配置文件的语法。
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重启 Nginx 服务。
$ sudo systemctl restart nginx
步骤 9 - 访问 Lemmy
打开 URL https://example.com,你将看到如下 Lemmy 主页。

点击顶部的 Login 链接,弹出登录页面。

输入步骤 4 中使用的凭据,然后点击 Login 按钮继续。你将被带回到 Lemmy 主页。从此你便可以开始使用 Lemmy 了。

步骤 10 - 升级 Lemmy
要升级 Lemmy,打开 ~/lemmy 文件夹中的 docker-compose.yml 文件。
$ cd ~/lemmy
$ nano docker-compose.yml
在文件中修改 Lemmy、Lemmy-UI 和 Pictrs 等应用的版本号。编辑完成后,按 Ctrl + X 并在提示时输入 Y 来保存文件。
关闭 Lemmy 容器。
$ docker compose down --remove-orphan
使用新配置重新启动容器。
$ docker compose up -d
步骤 11 - 备份和恢复 Lemmy
要备份 Lemmy,我们需要对数据库和 volumes 文件夹都进行转储。运行以下命令备份数据库。
$ cd ~/lemmy
$ docker compose exec postgres pg_dumpall -c -U lemmy | gzip > lemmy_dump_`date +%Y-%m-%d"_"%H_%M_%S`.sql.gz
在上述命令中,postgres 是 compose 文件中 PostgreSQL 的服务名。
接下来,使用以下命令备份 volumes 文件夹。
$ sudo rsync -avP volumes ~/backup/lemmy
你可以使用以下备份脚本,从本地系统远程运行以进行备份。
#!/bin/sh
# DB Backup
ssh USERNAME@SERVER_IP "docker-compose exec postgres pg_dumpall -c -U lemmy" | gzip > ~/BACKUP_LOCATION/INSTANCE_NAME_dump_`date +%Y-%m-%d"_"%H_%M_%S`.sql.gz
# Volumes folder Backup
rsync -avP -zz --rsync-path="sudo rsync" USERNAME@SERVER_IP:/LEMMY_LOCATION/volumes ~/BACKUP_LOCATION/FOLDERNAME
恢复 Lemmy 数据库
要在新的 Lemmy 安装上恢复数据库,运行以下一组命令。
# Start only the PostgreSQL container first
$ docker compose up -d postgres
# Restore from the .sql.gz backup
$ gunzip < db_dump.sql | docker-compose exec -T postgres psql -U lemmy
# Note: You may need to change the permissions on the postgres directory, depending on your system.
$ chown -R $USER volumes
$ docker compose restart postgres
# Continue with the startup
$ docker compose up -d
如果你不小心先启动了 Lemmy,需要使用以下命令清空现有数据库。
# Drop the existing DB
docker exec -i FOLDERNAME-postgres-1 psql -U lemmy -c "DROP SCHEMA public CASCADE; CREATE SCHEMA public;"
# This also might be necessary when doing a db import with a different password.
docker exec -i FOLDERNAME-postgres-1 psql -U lemmy -c "alter user lemmy with password 'bleh'"
现在你可以继续执行上面的恢复命令。
结论
至此,本教程关于在 Ubuntu 22.04 服务器上安装类 Reddit 内容聚合平台 Lemmy 的内容就结束了。如果你有任何问题,请在下方评论中留言。