ラベル mariadb の投稿を表示しています。 すべての投稿を表示
ラベル mariadb の投稿を表示しています。 すべての投稿を表示

2019年8月2日金曜日

バックアップについて

12月頃にHOMEサーバーの環境を移行してから、バックアップが手薄になっていた。
https://continue-to-challenge.blogspot.com/2018/10/nextcloud.html
https://continue-to-challenge.blogspot.com/2018/12/gogs.html
今回はせめて再構築が用意になるように外付けHDDにバックアップを行うことにした。
対象
  • nextcloud
  • gogs
  • redmine
nextcloudには、家族の写真とかがあるので特に大事。

バックアップ

nextcloud

ほぼ先人と同じ
https://docs.nextcloud.com/server/15/admin_manual/maintenance/backup.html
https://denor.jp/nextcloudサーバのデータ自動バックアップ設定-snap版
https://takuya-1st.hatenablog.jp/entry/2018/11/20/020000
#!/bin/bash
NCPATH="/mnt/***/www/html/nextcloud"
NCDATA_PATH="/mnt/***/nextcloud/data"
TARGET="/mnt/usbhdd/nextcloud_backup"

echo start at `date`

echo "(STEP1)HDD spin-up"
sdparm -r --command=start /dev/sdd

echo "(STEP2)Maintenance Mode [ ON ]"
sudo -u www-data php ${NCPATH}/occ maintenance:mode --on

echo "(STEP3)Backup Config"
rsync -vAax ${NCPATH} ${TARGET}

echo "(STEP4)Backup Data"
rsync -vAax ${NCDATA_PATH} ${TARGET}

echo "(STEP5)Backup Database"
mysqldump --single-transaction -h localhost -u nextcloud -p****** nextcloud > ${TARGET}/nextcloud-sqlbkp.bak

echo "(STEP6)Maintenance Mode [ OFF ]"
sudo -u www-data php ${NCPATH}/occ maintenance:mode --off

echo "(STEP7)HDD spin-down"
sdparm -r --command=stop /dev/sdd

echo end at `date`

省電力化のためにスピンダウン入れてみたけど、効果は未知数。
smartで起動しちゃうみたいだし・・・。

gogs

大体ここの内容と同じ
https://gogs.io/docs/upgrade/upgrade_from_binary
#!/bin/bash
GGSPATH="/***/git/gogs"
GGSRPPATH="/***/git/gogs-repositories"
TARGET="/mnt/usbhdd/gogs_backup"

echo start at `date`

echo "(STEP1)gogs [ STOP ]"
systemctl stop gogs

echo "(STEP2)Backup Custom"
rsync -vAax ${GGSPATH}/custom ${TARGET}

echo "(STEP3)Backup Data"
rsync -vAax ${GGSPATH}/data ${TARGET}

echo "(STEP4)Backup Log"
rsync -vAax ${GGSPATH}/log ${TARGET}

echo "(STEP5)Backup Database"
mysqldump --single-transaction -h localhost -u gogs -p****** gogs_git  > ${TARGET}/gogs-sqlbkp.bak

echo "(STEP6)Backup Repository"
rsync -vAax ${GGSRPPATH} ${TARGET}

echo "(STEP7)gogs [ START ]"
systemctl start gogs

#echo "(STEP7)HDD spin-down"
#sdparm -r --command=stop /dev/sdd
echo end at `date`

redmine

本体はdocker、データベースはローカルのMariaDBを使用している。
https://continue-to-challenge.blogspot.com/2019/07/redmine.html
バックアップの方法
https://qiita.com/mikoski01/items/7d71ef7d167a6b78219a
http://redmine.jp/faq/system_management/backup/
#!/bin/bash
RMPATH="/srv/docker/redmine/redmine/files"
TARGET="/mnt/usbhdd/redmine_backup"

echo start at `date`

echo "(STEP1)redmine [ STOP ]"
docker stop redmine

echo "(STEP2)Backup Data"
rsync -vAax ${RMPATH} ${TARGET}

echo "(STEP3)Backup Database"
mysqldump --single-transaction -h localhost -u redmine -p****** redmine  > ${TARGET}/redmine-sqlbkp.bak

echo "(STEP4)redmine [ START ]"
docker start redmine

リストア

gogsの復元

ほぼ、この前の環境構築と同じ
https://continue-to-challenge.blogspot.com/2018/12/gogs.html
今回はテストとしてNanoPiに環境構築してみた。
  1. gogsインストールして
  2. MariaDBにデータベース作成
  3. バックアップからデータリストア
  4. 起動
の簡単4ステップ

redmineの復元

環境構築は、この前の手順で
https://continue-to-challenge.blogspot.com/2019/07/redmine.html
復元手順は
http://redmine.jp/faq/system_management/backup/
すいすい行くと思いきや
standard_init_linux.go:211: exec user process caused "exec format error"
なんだと!
どうやらNanoPiではARM用のイメージを使わないといけないらしい。
https://matatsuna.hatenablog.com/entry/2017/08/16/223039
公式のものがARM64対応していたのでそれにしてみる。
https://hub.docker.com/_/redmine
docker run --name=redmine -it --rm \
-e REDMINE_DB_USERNAME=redmine -e REDMINE_DB_PASSWORD=****** \
-e REDMINE_DB_DATABASE=redmine \
-e REDMINE_DB_MYSQL=192.168.1.13 -e REDMINE_DB_PORT=3306 \
-p 3000:3000 \
-v /srv/docker/files:/usr/src/redmine/files \
library/redmine:4.0.4
初期状態で起動が確認できたら、
  1. /srv/docker/redmineにfilesの中身を展開する
  2. データベースの復元
を行う。
できた!

nextcloudの復元

nextcloudには30GBくらいのデータが保存されているため、NanoPIのSDカードでは到底復元の環境に出来ない。
そこで、NanoPIに外付けHDDを装着した。 段々とNASキットが欲しくなる。
http://wiki.friendlyarm.com/wiki/index.php/1-bay_NAS_Dock_v1.2_for_NanoPi_NEO/NEO2#Hardware_Spec
https://www.friendlyarm.com/index.php?route=product/product&path=93&product_id=222
http://akizukidenshi.com/catalog/g/gM-12591/
ま、我慢だけどね。
ルートを外付けHDDに変更するには
nand-sata-install
https://lubtech.geo.jp/2017-09-10/?p=3048
環境構築はこの前の手順で
https://continue-to-challenge.blogspot.com/2018/10/nextcloud.html
こちらは特にARM/X86_64で違いはなく、当時の方法を思い出して行けば大丈夫。
ただし、復旧までの暫定・データ取り出しを目的としているためSSLは除外した。
うーん。眠い。

2019年7月23日火曜日

Redmineインストール

いまさらだけど、やっぱりタスク管理をやってみたくて
超メジャーにすることにした。
https://propagandes.info/redmine-install/
動作環境
http://guide.redmine.jp/RedmineInstall/#Requirements
あれ、MariaDBだめなの??
じゃあ、新たにPostgreSQLを入れるか、Dcoker使って環境作るか・・・。
まずはお試しなので、Docker使ってみようかな。
https://qiita.com/bezeklik/items/b9d75ee74e0ae4c6d42c
悩む・・。
https://www.untrustedconnection.com/2018/01/redmine-passenger-and-nginx-on-ubuntu.html
悩んだ時は巨人の肩に乗る!
https://github.com/sameersbn/docker-redmine

MariaDBのデータディレクトリ移動

よくよく見たら、データがraid環境下に保管されていなかった。あちゃー
cat /etc/mysql/mariadb.conf.d/50-server.cnf
-------------------------------------------
(略)
#
# * Basic Settings
#
user  = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket  = /var/run/mysqld/mysqld.sock
port  = 3306
basedir  = /usr
datadir  = /var/lib/mysql
tmpdir  = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
(略)
のdatadirを"/mnt/4Traid1/dbdata"に変更したい
systemctl stop mariadb.service
50-server.cnfのdatadb書き換え
データ移動
systemctl start mariadb.service
これで少し安心。

いざRedmine

http://www.makcraft.com/blog/meditation/2019/01/19/running-redmine-on-docker-containers/

Dockerの準備

https://docs.docker.com/install/linux/docker-ce/ubuntu/
基本的にはこの手順。だけど、Ubuntuじゃないので、注意。
$ lsb_release -cs
tara
「tara」は「Ubuntu 18.04 LTS」をベースにしているらしい。
で、これのコードネームは「bionic」らしい。
https://ja.wikipedia.org/wiki/Linux_Mint
https://www.ubuntulinux.jp/News/ubuntu1804
なので、「$(lsb_release -cs)」の部分を書き換える。

まずはクイックスタートを試してみる

https://github.com/sameersbn/docker-redmine#installation
docker pull sameersbn/redmine:latest
docker run --name=postgresql-redmine -d --env='DB_NAME=redmine_production'   --env='DB_USER=redmine' --env='DB_PASS=password' --volume=/srv/docker/redmine/postgresql:/var/lib/postgresql sameersbn/postgresql:9.6-4
docker run --name=redmine -d --link=postgresql-redmine:postgresql --publish=5080:80 --publish=50443:443 --env='REDMINE_PORT=5080' --volume=/srv/docker/redmine/redmine:/home/redmine/data sameersbn/redmine:4.0.4
https://サーバー:5080にアクセスすると


おぉ!

外部SQLサーバーを使ってみる

せっかく母艦のほうにMariaDBがあるのでPostgreからこっちに切り替えてみる
Redmineのコンテナからアクセスできるようにする。振られたIPはなんだろうか?
https://qiita.com/miyatahirotaka/items/a44e2ae0bac53a4a5feb
https://qiita.com/suin/items/50033dc60bfba8553395
http://docs.docker.jp/engine/userguide/networking/dockernetworks.html
docker exec -i -t redmine bash
root@57a:/home/redmine/redmine# hostname -i
172.17.0.3

MariaDBの設定変更

外部からアクセス出来るようにする。
https://qiita.com/tocomi/items/0c009d7299584df49378
vi /etc/mysql/mariadb.conf.d/50-server.cnf
-----------
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address            = 127.0.0.1
-----------
service mariadb restart

MariaDBにDBとユーザー作成

CREATE USER 'redmine'@'172.17.%' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS `redmine_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'172.17.%'
試しに、コンテナの中からアクセス出来るか確認してみる
docker exec -i -t redmine bash
root@57a:/home/redmine/redmine# mysql -u redmine -p --host==サーバーIP

起動中のRedmineとPostgreを停止する

プロセスの確認と停止
docker ps -a
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                     PORTS               NAMES
57aee49d39b6        sameersbn/redmine:4.0.4      "/sbin/entrypoint.sh…"   5 days ago          Exited (0) 5 seconds ago                       redmine
78b9389d7745        sameersbn/postgresql:9.6-4   "/sbin/entrypoint.sh"    5 days ago          Up 5 days                  5432/tcp            postgresql-redmine

docker stop redmine
docker stop postgresql-redmine
コンテナの削除
docker rm redmine
docker rm postgresql-redmine
http://www.risewill.co.jp/blog/archives/6793

外部SQLサーバーを指定して起動してみる

docker run --name=redmine -it --rm \
--env='DB_ADAPTER=mysql2' \
--env='DB_HOST=192.168.1.25' --env='DB_NAME=redmine_production' \
--env='DB_USER=redmine' --env='DB_PASS=password' \
--env='REDMINE_HTTPS=false' \
--publish=5080:80 --publish=50443:443 --env='REDMINE_PORT=5080' \
--volume=/srv/docker/redmine/redmine:/home/redmine/data \
sameersbn/redmine::4.0.4
さぁ



わぉOrz
ログを確認してみる。
docker exec -i -t redmine bash
tail -f /var/log/redmine/redmine/production.log
----
Started GET "/" for 127.0.0.1 at 2019-07-09 22:40:27 +0000
Processing by WelcomeController#index as HTML
Completed 500 Internal Server Error in 8ms (ActiveRecord: 3.8ms)
  
ActiveRecord::StatementInvalid (Mysql2::Error: Table 'redmine.settings' doesn't exist: SHOW FULL FIELDS FROM `settings`):
  
app/models/setting.rb:235:in `check_cache'
app/controllers/application_controller.rb:90:in `user_setup'
----
DBを見てみると、空っぽだった。なぜ?
http://guide.redmine.jp/RedmineInstall/#step-6-
https://qiita.com/bezeklik/items/b9d75ee74e0ae4c6d42c
初期設定が必要なのか??
docker exec redmine bundle exec rake db:migrate RAILS_ENV=production
docker exec redmine bundle exec rake redmine:load_default_data RAILS_ENV=production REDMINE_LANG=ja
これで再度アクセスしてみると



やったー
admin/adminで入ろう
よしよし、良さそう!

スマホアプリを使ってみる

宅内では使えそうなので、外出先での使用を考えてスマホアプリを導入してみる。
http://redminepm.com/ja
あまり、外部からアクセスできるポートを何個も開けるのは気分的に嫌だったので、
さらに当面は自分しか使わないので、sshポートフォアードを使用した。
使う時だけlocalhost:5080とサーバーの5080をつなげる。



タスクを眺めるにはアプリが見やすいと思う



チケットを割り当てたり、ガントチャート見たりはブラウザと使い分けると幸せになれそう。
しばらくはこれでやってみようと思う。

2019年7月9日火曜日

Restyaboard導入→やめた

タスク管理とかスケジュール管理とかしてみたくなった。
当分は個人使用だけど、もし良かったら社内展開するかも・・・。
という理由から、クラウド型ではなくオンプレミスで
かつ意識高い低いにかかわらず簡単に使えるものを探したいと思った。

Restyaboardとはどんなもの

まずは触ってみるべし
https://restya.com/board/demo
説明はmoongiftさんから
https://www.moongift.jp/2018/01/restyaboard-trello風のカンバンシステム/

インストール

GET STARTED を選択すると以下のページ飛んで、ユーザー登録のようなことをする
https://restya.com/board/install
インストール方法は直に?行うパターンとDockerを利用するものがあるみたい
必要な環境として
Required software: nginx, php-fpm (with mbstring, ImageMagick and IMAP), PostgreSQL, GeoIP and jq
あれ、PostgreSQLがいるのか
お試しで入れるのにはちょっとめんどくさい気がしてきたので、もっとめんどくさいかもしれなけど、Dockerを使うパターンで試してみようと思う。
https://hub.docker.com/r/restyaplatform/restyaboard/

Dockerのインストール

入れたい環境はMintだけど、Ubuntuの情報でもいいよね!ってあとで躓くけどね。
https://qiita.com/tkyonezu/items/0f6da57eb2d823d2611d
https://docs.docker.com/install/linux/docker-ce/ubuntu/
最初qiitaの方だけで進めていたら、リポジトリが見つからなかった。
docker公式見たら、Mintの場合は注意せよと書いてあったOrz
$ lsb_release -cs
sylvia
「sylvia」は「Ubuntu 16.04 LTS」をベースにしているらしい。
で、これのコードネームは「xenial」らしい。
https://ja.wikipedia.org/wiki/Linux_Mint
https://www.ubuntulinux.jp/News/ubuntu1604
なので、「$(lsb_release -cs)」の部分を書き換える。
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   xenial \
   stable"
あとは手順通り進めていき、hello-worldを実行してみる
sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:41a65640635299bab090f783209c1e3a3f11934cf7756b09cb2f1e02147c6ed8
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

あとは、docker-composeのインストールを行う

Restyaboardのインストール

Readmeとか他のインストール事例を参考にした
sudo git clone 指定されたURL
cd board/
sudo docker-compose up --build
docker-scripts/docker-entrypoint.shを修正する?
参考
https://hub.docker.com/r/restyaplatform/restyaboard/
https://github.com/RestyaPlatform/board/wiki/Docker:-Build-and-Install
https://github.com/RestyaPlatform/board
https://qiita.com/jakelizzI/items/07888636e28ce3a186f4

起動

localhost:1234にアクセスすると
初期はadmin - restya
言語の変更は、以下の通り。


適当にカンバンボードを作成したら、、、

ド派手な背景と、大音量の音楽が・・・Orz
ちょっと使っていく自信がなくなった。
ぼにーえむって誰??

初期設定

ポートとか
sudo docker ps
CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS              PORTS                  NAMES
c1f801aac2e2        board_restyaboard                "/docker-entrypoint.…"   2 days ago          Up 46 hours         0.0.0.0:1234->80/tcp   board_restyaboard_1
63aea7bb5e9c        postgres:9-alpine                "docker-entrypoint.s…"   2 days ago          Up 46 hours         5432/tcp               board_postgres_1
fb74fd78bc39        restyaplatform/restyaboard:dev   "/docker-entrypoint.…"   2 days ago          Up 2 days           0.0.0.0:8081->80/tcp   restyaboard
1234は以下で変えれそう
cat docker-compose.yml
version: '2'
services:
  restyaboard:
    build: .
    ports:
      - 1234:80
    environment:
      - POSTGRES_HOST=postgres
      - POSTGRES_PORT=5432
      - POSTGRES_USER=admin
      - POSTGRES_PASSWORD=admin
      - POSTGRES_DB=restyaboard
      - SMTP_DOMAIN=domain
      - SMTP_USERNAME=user
      - SMTP_PASSWORD=pass
      - SMTP_SERVER=server
      - SMTP_PORT=465
      - TZ=Etc/UTC
    depends_on:
      - postgres
    restart: always

  postgres:
    image: postgres:9-alpine
    environment:
      - POSTGRES_HOST=postgres
      - POSTGRES_USER=admin
      - POSTGRES_PASSWORD=admin
      - POSTGRES_DB=restyaboard
    restart: always

壁紙と音楽とか

https://restya.com/board/apps/r_codenames
のようにコードネームとしてBoneyMを使っているみたい。
コミュ障の僕にはこの壁紙・音楽は派手すぎるので、申し訳ないが使用しないようにしたい。
BoneyMの壁紙・音楽の消し方は以下にコメントしてあった。
https://groups.google.com/forum/#!topic/restya/x4S2xabpUtI
So, with our Codename App, all new boards will get Boney M wallpaper and productivity beat automatically. If you want to disable this behavior, please disabled Codename App.
ということで、CodenameAppを無効化してみる


非表示になったー!!

ガントチャートが欲しい

デフォルトでは入っていないみたい
https://restya.com/board/apps/r_gantt_view

インストール方法

docker環境でどうやって入れていいか・・・
とりあえず、コンテナの中に入ってみる
sudo docker exec -i -t restyaboard bash
root@fb74fd78bc39:/usr/share/nginx/html# ls
api_explorer  client  diagnose.php  ejabberd.yml  index.html  media  restyaboard-ssl.conf  restyaboard.conf  server  sql
入れたのか・・?
https://qiita.com/__cooper/items/4740c24666299c366044
あとは、手順どおりにやってみる
cd /tmp
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.zip
unzip ioncube_loaders_lin_x86-64.zip
php -v
PHP 7.2.19-1+0~20190531112637.22+stretch~1.gbp75765b (cli) (built: May 31 2019 11:26:38) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.19-1+0~20190531112637.22+stretch~1.gbp75765b, Copyright (c) 1999-2018, by Zend Technologies
php -i | grep extension_dir
extension_dir => /usr/lib/php/20170718 => /usr/lib/php/20170718
cp ioncube/ioncube_loader_lin_7.2.so /usr/lib/php/20170718/
vi /etc/php/7.2/fpm/php.ini
zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.2.so
あと、viが入っていなかったので、インストールした。
https://qiita.com/YumaInaura/items/3432cc3f8a8553e05a6e

肝心のgantt_viewが入手できない

アプリの説明を見ても入手方法がよくわからないが、多分有料なのだろう。
でも価格がわからない。(BUY)押してもコンタクトフォームに飛んでしまう。
https://restya.com/board/apps/r_gantt_view
デモサイトではいい感じだったのだけど、ちょっと心が離れた。
docker触れたし、いい勉強になったはず。

2018年12月29日土曜日

gogsの移動

以前から少しずつやっている自宅サーバーの環境移行。

gitリポジトリ保存用にgogsを使っているのだけど、これを移動させたいと思う。gogsやmariadbバージョンが移行前後で随分違うからすごくハマった。

移行元の環境

かなり昔に構築したため、詳細は全く覚えていない。

  1. gitというユーザーがある

  2. /home/gitにgogsとgogs-repositoriesがある

  3. インストールしていたバージョンは「gogs_v0.9.13_linux_386.tar.gz」みたい。。

  4. /etc/systemd/system/gogs.serviceがある

  5. DBはMariaDB 5.5.45を使用

上記から、おそらく

https://gogs.io/docs/intro/faqs#how-do-i-run-gogs-at-startup-with-systemd%3F

あたりを参考にインストールしたのではないかと思う。

データの引き継ぎについて

このあたりに詳しく書いてあった。コピペでできるのか・・

https://gogs.io/docs/upgrade/upgrade_from_binary

移行先での作業

ユーザー作成

ここでいうユーザーはgogsを起動するユーザー。

gogsのページだとgitになっている。


adduser git

gogsのダウンロード

https://dl.gogs.io/0.11.79/gogs_0.11.79_linux_amd64.zip

/home/gitに展開する。

所有者をgitにしておく。

DBサーバーの準備

mariaDB 10.1.34を使用することにした


apt-get install mariadb-server

apt-get install mariadb-client

rootのパスワード忘れたぁOrz

やれやれ・・・。

https://qiita.com/y1row/items/994ecf8b478b7aac4c7d

https://ips.nekotype.com/3426/

https://better-coding.com/solved-xterm-256color-unknown-terminal-type/

gogs用のデータベースとユーザーの作成


create user 'gogs'@'localhost' identified by '<password>';

create database gogs_git;

grant all on gogs_git.* to 'gogs'@'localhost';

データの移行

先述のデータの引き継ぎ方法にしたがって作業を行う

gogsとgogs-repositoriesを移行元からコピー

移行元から移行先にコピー


scp -r gogs git@移行先:/home/git/gogs_old

scp -r gogs-repositories git@移行先:/home/git/

続いて移行先で


cp -R gogs_old/custom gogs/

cp -R gogs_old/data gogs/

cp -R gogs_old/log gogs/

DBの移行

移行元で


mysqldump -u root -p gogs_git > gogs_bkup.dump.sql

移行先で


mysql -u gogs -p gogs_git < gogs_bkup.dump.sql

これでコピー完了。

テスト起動

コピーが終わったので、テストで起動してみる

gitユーザーで


./gogs web

でlocalhost:3000にアクセス・・・あれタイムアウト。。

切り分け

そもそもデータを引き継がない場合に、ちゃんと起動するか

起動自体はしたが、インストール画面で

Error 1071: Specified key was too long; max key length is 767 bytes

な、なんだこれ???

あーめんどくせー。ぐぐってみたら

https://github.com/gogs/gogs/issues/4992

この通りやってみたら、とりあえずログイン画面まで行けた。

ということは、データを引き継いだ場合もこの手順でいけるのかな?

ということで、同じ手順でやってみたらログイン画面・ログイン後のダッシュボードなどなど行けた。

自動起動設定

移行元の設定と同じような記載があったので、この通りにやってみる。

https://gogs.io/docs/intro/faqs#how-do-i-run-gogs-at-startup-with-systemd%3F


# cat /etc/systemd/system/gogs.service

  

[Unit]

Description=Gogs (Go Git Service)

After=syslog.target

After=network.target

After=mysqld.service

  

[Service]

# Modify these two values and uncomment them if you have

# repos with lots of files and get an HTTP error 500 because

# of that

###

#LimitMEMLOCK=infinity

#LimitNOFILE=65535

Type=simple

User=git

Group=git

WorkingDirectory=/home/git/gogs

ExecStart=/home/git/gogs/gogs web

Restart=always

Environment=USER=git HOME=/home/git

  

[Install]

WantedBy=multi-user.target

自動起動テスト


systemctl enable gogs

>Created symlink /etc/systemd/system/multi-user.target.wants/gogs.service → /etc/systemd/system/gogs.service.

systemctl start gogs

systemctl status gogs

● gogs.service - Gogs (Go Git Service)

Loaded: loaded (/etc/systemd/system/gogs.service; enabled; vendor preset: ena

Active: active (running) since Sat 2018-12-29 00:46:16 JST; 9s ago

Main PID: 6978 (gogs)

Tasks: 8 (limit: 4915)

CGroup: /system.slice/gogs.service

└─6978 /home/git/gogs/gogs web

  

12月 29 00:46:16 blackcube systemd[1]: Started Gogs (Go Git Service).

12月 29 00:46:16 blackcube gogs[6978]: 2018/12/29 00:46:16 [TRACE] Custom path:

12月 29 00:46:16 blackcube gogs[6978]: 2018/12/29 00:46:16 [TRACE] Log path: /ho

12月 29 00:46:16 blackcube gogs[6978]: 2018/12/29 00:46:16 [TRACE] Log Mode: Fil

12月 29 00:46:16 blackcube gogs[6978]: 2018/12/29 00:46:16 [ INFO] Gogs: Go Git

systemdに登録できて、起動できたので、これで移行完了!!

つかれたー。空き時間でやっていたから思い立ってから1か月もかかった。Orz.