Skip to content
Snippets Groups Projects
Commit 7d524bfa authored by tamaina's avatar tamaina
Browse files

readme整理

parent e4310d90
No related branches found
No related tags found
No related merge requests found
......@@ -3,6 +3,7 @@
- 一部設定が反映されていないのを修正。
* redisのホスト・ポートとかいろいろ
- /etc/fstabのswap設定が間違っていたのを修正(/swapfile→/swap)
- アップデートスクリプトの拡充
## v0.2.0
FFmpegをインストールするように
......
# Misskey install shell script v1.0.0
Install Misskey with one shell script!
You can install misskey on an Ubuntu server just by answering some questions.
There is also an update script.
[**日本語版はこちら**](./README.md)
## Ingredients
1. A Domain
2. An Ubuntu Server
3. A Cloudflare Account (recommended)
## Procedures
### 1. SSH
Connect to the server via SSH.
(If you have the desktop open, open the shell.)
### 2. Clean up
Make sure all packages are up to date and reboot.
```
sudo apt update; sudo apt full-upgrade -y; sudo reboot
```
### 3. Start the installation
Reconnect SSH and let's start installing Misskey.
```
wget https://raw.githubusercontent.com/joinmisskey/bash-install/main/ubuntu.sh -O ubuntu.sh; sudo bash ubuntu.sh
```
### 4. To update
There is also an update script.
First, download the script.
```
wget https://raw.githubusercontent.com/joinmisskey/bash-install/main/update.ubuntu.sh -O update.sh;
```
Run it when you want to update Misskey.
```
sudo bash update.sh
```
- In the systemd environment, the `-r` option can be used to update and reboot the system.
- In the docker environment, you can specify repository:tag as an argument.
## Environments in which the operation was tested
### Oracle Cloud Infrastructure
This script runs well on following compute shapes complemented by Oracle Cloud Infrastructure Always Free services.
- VM.Standard.E2.1.Micro (AMD)
- VM.Standard.A1.Flex (ARM) [1OCPU RAM6GB or greater]
## Issues & PRs Welcome
If it does not work in the above environment, it may be a bug. We would appreciate it if you could report it as an issue, with the specified requirements you entered to the script.
It is difficult to provide assistance for environments other than the above, but we may be able to solve your problem if you provide us with details of your environment.
Suggestions for features are also welcome.
# Misskey install shell script v0.2.0
Install Misskey with one shell script!
# Misskey install shell script v1.0.0
Misskeyを簡単にインストールするためのシェルスクリプトができました!
You can install misskey on an Ubuntu server just by answering some questions.
いくつかの質問に答えるだけで、UbuntuサーバーへMisskeyを簡単にインストールできます!
いくつかの質問に答えるだけで、UbuntuサーバーへMisskey(v12)を簡単にインストールできます!
## Ingredients - 準備するもの
1. A Domain - ドメイン
2. An Ubuntu Server - Ubuntuがインストールされたサーバー
3. A Cloudflare Account (recommended) - Cloudflareアカウント(推奨)
また、アップデートスクリプトもあります。
## Procedures - 操作
### 1. SSH
Connect to the server via SSH.
(If you have the desktop open, open the shell.)
[**日本語版はこちら**](./README.md)
## 準備するもの
1. ドメイン
2. Ubuntuがインストールされたサーバー
3. Cloudflareアカウント(推奨)
## 操作
### 1. SSH
サーバーにSSH接続します。
(デスクトップを開いている方はシェルを開きます。)
### 2. Clean up - 環境を最新にする
Make sure all packages are up to date and reboot.
### 2. 環境を最新にする
すべてのパッケージを最新にし、再起動します。
```
sudo apt update; sudo apt full-upgrade -y; sudo reboot
```
### 3. Start the installation - インストールをはじめる
Reconnect SSH and let's start installing Misskey.
### 3. インストールをはじめる
SSHを接続しなおして、Misskeyのインストールを始めましょう。
ただ、インストール前に[Tips](#Tips)を読むことを強くお勧めします。
```
wget https://raw.githubusercontent.com/joinmisskey/bash-install/main/ubuntu.sh -O ubuntu.sh; sudo bash ubuntu.sh
```
## Environments in which the operation was tested
動作を確認した環境
example.comは自分のドメインに置き換えてください。
### 4. アップデートする
アップデートのためのスクリプトもあります。
まずはダウンロードします。
```
wget https://raw.githubusercontent.com/joinmisskey/bash-install/main/update.ubuntu.sh -O update.sh;
```
アップデートしたいときにスクリプトを実行してください。
```
sudo bash update.sh
```
- systemd環境では、`-r`オプションでシステムのアップデートと再起動を行うことができます。
- docker環境では、引数に更新後のリポジトリ名:タグ名を指定することができます。
## 動作を確認した環境
### Oracle Cloud Infrastructure
This script runs well on following compute shapes complemented by Oracle Cloud Infrastructure Always Free services.
このスクリプトは、Oracle Cloud InfrastructureのAlways Freeサービスで提供されている2種類のシェイプのいずれにおいても動作します。
- VM.Standard.E2.1.Micro (AMD)
- VM.Standard.A1.Flex (ARM) [1OCPU RAM6GB or greater]
## Issues & PRs Welcome
If it does not work in the above environment, it may be a bug. We would appreciate it if you could report it as an issue, with the specified requirements you entered to the script.
上記の環境で動作しない場合、バグの可能性があります。インストールの際に指定された条件を記載の上、GitHubのIssue機能にてご報告いただければ幸いです。
It is difficult to provide assistance for environments other than the above, but we may be able to solve your problem if you provide us with details of your environment.
上記以外の環境についてのサポートは難しいですが、状況を詳しくお教えいただければ解決できる可能性があります。
Suggestions for features are also welcome.
機能の提案についても歓迎いたします。
# Tips
仕様や選択肢の選び方など。
## Systemd or Docker?
v1から、インストールメソッドにsystemdとDockerとを選べるようにしました。
Dockerと言っても、**MisskeyだけをDockerで実行します**
RedisやPostgresはホストマシンで実行します。
[docker-composeですべての機能を動かす方法については、mamemonongaさんが作成したこちらの記事がおすすめです。](https://gist.github.com/mamemomonga/5549bb69cad8e5618e5527593d4890e0)
Docker Hubイメージを使う設定であれば、Misskeyのビルドが不要になります。
**一番お勧めです。**
ただし、マイグレーションは必要なので、Misskeyを使えない時間がゼロになるわけではありません。
さらに、Misskeyのビルド環境を準備しないので、自分のフォークを動かしたくなった時に設定が面倒になります。
逆に、ローカルでDockerをビルドする方式は、パフォーマンス面で非推奨です。
systemdは、Docker Hubにイメージを上げるまでもないけれど、自分のフォークを使いたい場合にお勧めです。
お勧めする順番は次の通りです。
1. Docker Hub
2. systemd
3. Dockerビルド
## .envファイルについて
インストールスクリプトは、2つの.envファイルを作成します。
アップデートの際に使用します。
### /root/.misskey.env
misskeyを実行するユーザーを覚えておくために必要です。
### /home/(misskeyユーザー)/.misskey.env
systemdの場合に生成されます。
主にディレクトリを覚えておくのに使用します。
### /home/(misskeyユーザー)/.misskey-docker.env
Dockerの場合に生成されます。
実行されているコンテナとイメージの番号を保存しています。
コンテナの番号はアップデートの際に更新されます。古いイメージは削除されます。
## 自分で管理する
インストール後、構成を変更する際に役立つはずのメモです。
"example.com"を自分のドメインに置き換えて読んでください。
### Misskeyディレクトリ
Misskeyのソースは`/home/ユーザー/ディレクトリ`としてcloneされます。
(ユーザー、ディレクトリの初期値はともにmisskeyです。)
Misskeyディレクトリへは、以下のように移動するとよいでしょう。
```
sudo su - ユーザー
cd ディレクトリ
```
もとのユーザーに戻るにはexitを実行します。
```
exit
```
### systemd
systemdのプロセス名はexample.comです。
たとえば再起動するには次のようにします。
```
sudo systemctl restart example.com
```
journalctlでログを確認できます。
```
journalctl -t example.com
```
設定ファイルは`/etc/systemd/system/example.com.service`として保存されています。
### Docker
DockerはMisskeyユーザーでrootless実行されています。
sudo suでMisskeyユーザーに入るときは、`XDG_RUNTIME_DIR``DOCKER_HOST`を変更する必要があります。
```
sudo su - ユーザー
export XDG_RUNTIME_DIR=/run/user/$UID
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock
docker ps
```
### nginx
nginxの設定は`/etc/nginx/conf.d/example.com.conf`として保存されています。
### Redis
requirepassとbindを`/etc/redis/misskey.conf`で設定しています。
## Q. アップデート後に502でアクセスできない
アップデート後にアクセスできない、ということが稀にあります。
スクリプトのバグはともかくとして、一般的に一番多い理由は、yarn installに失敗している場合です。
Misskeyディレクトリで次の内容を実行し、もう一度アップデートを実行してみてください。
```
npm run cleanall
```
journalctlでログを確認すると、たいていre2が云々という記述が見当たります。
## Q. 同じサーバーにもう1つMisskeyを建てたい
スクリプトは同じサーバーに追加でMisskeyをインストールすることは想定していません。
幾つかの設定が上書きされるか、途中でエラーになってしまうでしょう。
......@@ -85,16 +85,11 @@ tput setaf 3;
echo "";
echo "Install Method";
tput setaf 7;
echo "Do you use Docker to run Misskey?:";
echo "Y = To use Docker / N = To use systemd"
echo "Do you use systemd to run Misskey?:";
echo "Y = To use systemd / n = To use docker"
read -r -p "[Y/n] > " yn
case "$yn" in
[Nn]|[Nn][Oo])
echo "Use Systemd.";
method=systemd;
misskey_localhost=localhost
;;
*)
echo "Use Docker.";
method=docker;
......@@ -106,6 +101,11 @@ case "$yn" in
echo "The host name of docker host to bind with 'docker run --add-host='.";
read -r -p "> " -e -i "docker_host" misskey_localhost;
;;
*)
echo "Use Systemd.";
method=systemd;
misskey_localhost=localhost
;;
esac
#endregion
......@@ -541,7 +541,7 @@ tput setaf 3;
echo "Process: create nginx config;"
tput setaf 7;
cat > /etc/nginx/conf.d/misskey.conf << NGEOF
cat > "/etc/nginx/conf.d/$host.conf" << NGEOF
# nginx configuration for Misskey
# Created by joinmisskey/bash-install v$version
......@@ -767,7 +767,7 @@ MKEOF
tput setaf 3;
echo "Process: create misskey daemon;"
tput setaf 7;
cat > /etc/systemd/system/misskey.service << _EOF
cat > "/etc/systemd/system/$host.service" << _EOF
[Unit]
Description=Misskey daemon
......@@ -780,7 +780,7 @@ Environment="NODE_ENV=production"
TimeoutSec=60
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=misskey
SyslogIdentifier="$host"
Restart=always
[Install]
......@@ -788,9 +788,9 @@ WantedBy=multi-user.target
_EOF
systemctl daemon-reload;
systemctl enable misskey;
systemctl start misskey;
systemctl status misskey;
systemctl enable "$host";
systemctl start "$host";
systemctl status "$host";
#endregion
elif [ $method == "docker" ]; then
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment