1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SynologyのNASにDockerでSVN建てる

Posted at

Overview

  • DSM 6.0世代まではSVN Serverが提供されていたが、DSM7.0以降ではSVNがなくなった
  • Container Manager 経由で SVN サーバーを立てられはするが、何も考えずに立てると HDDハイバネートに入らず、ずっとHDD廻り続けてしまう
  • これらを解決するのが今回の趣旨

image.png

Pre-condition

  • Synology の NAS
  • DSM 7.0以降
  • /volume1/docker/svn に各種データを配置する設定にする
  • NASのホスト名は ds425plus を使用しているので適宜読み替え

手順

1. Container Manager を入れる

普通に Container Manager をインストールする

image.png

2. Container Manager 起動する

メニューから Container Manager を選択して起動させる

image.png

3. Svn Docker Image を落としてくる

いろいろイメージが公開されているが、有名どころで garethflower/svn-server をダウンロードする。

image.png

タグ: latest を選択してダウンロード

image.png

4. プロジェクトを作成してコンテナ起動

[プロジェクト] → [作成] をクリック

項目 設定 補足
プロジェクト名 svn 好きな名前で
パス /docker/svn docker-compose.yml を保存するパスになる
ソース docker-compose.yml を作成

image.png

ソースとして以下を設定する。

services:
  svn:
    image: garethflowers/svn-server
    ports:
      - 3690:3690/tcp
    volumes:
      - /volume1/docker/svn:/var/opt/svn
    healthcheck:
      test: ["NONE"]
パラメータ 設定 説明
image garethflowers/svn-server ダウンロードしてきたイメージ
ports 3690:3690 NAS側:イメージ側 でポート転送
volumes /volume1/docker/svn:/var/opt/svn NAS側:イメージ側
healthcheck なし ヘルスチェックがHDDハイバネートを阻害している。無効化してコンテナを作る必要がある

設定が終わったら次へ。
Web ポータル設定 はそのまま次へ。

image.png

完了を押すとコンテナの作成が開始され、自動的にコンテナが起動される。

image.png

コンテナ を開いてsvnがGreenSignalになっていれば成功。

image.png

5. リポジトリ作る

[コンテナ] -> [svn-svn-1] -> [端末を開く]

image.png

[作成] -> [コマンドで実行] -> sh と入力して [OK]

image.png

[sh] を選択するとコンソールが出てくるので、コマンド入力してリポジトリを作成

svnadmin create <MyRepositoryName>

image.png

FileStation を開くと、docker/svnに作成したリポジトリが出てきます

image.png

6. ユーザ認証有効にしてユーザ作る

  • パッケージセンターから、テキストエディタ をインストールしておく

(1) File Station から docker/svn/MyRepository/conf/svnserve.conf をテキストエディタで開く

image.png

以下のコメントアウトを外して、anon-access=none にする

[general]
anon-access = none
auth-access = write
password-db = passwd

image.png

(2) File Station から docker/svn/MyRepository/conf/passwd をテキストエディタで開く

[users]
<UserName> = <Password>

で記述する

image.png

(3) クライアントPCからチェックアウト

TortoiseSVN などから接続して Checkout

image.png

認証が求められるので、ユーザパスワードを入力

image.png

チェックアウトの成功を確認っ!

image.png

おまけ - GitLab を使う

GitLabはどうしてもDiskIOが発生してしまうようで、HDD Hibernate は無理な模様。

(1) イメージ落としてくる

image.png

image名 解説 メモリ使用量〈起動後〉
gitlab/gitlab-ce GitLab Community Edition 3.31 GB
gitlab/gitlab-ee GitLab Enterprise Edition 4.46 GB

GitLab動かすならNASのメモリとして最低 6GBは欲しいところ。

(2) プロジェクト作成する

image.png

設定例:

services:
  gitlab:
    image: gitlab/gitlab-ce
    restart: always
    ports:
      - '30080:80'
      - '30443:443'
      - '30022:22'
    volumes:
      - '/volume1/docker/gitlab-ce/config:/etc/gitlab'
      - '/volume1/docker/gitlab-ce/logs:/var/log/gitlab'
      - '/volume1/docker/gitlab-ce/data:/var/opt/gitlab'
    shm_size: '256m'
    healthcheck:
      test: ["NONE"]

参考元:
https://docs.gitlab.com/install/docker/installation/#install-gitlab-by-using-docker-compose

(3) Rootでログインする

パスワードをゲットする
[端末] -> [作成] -> [コマンドで実行] -> sh を起動

cat /etc/gitlab/initial_root_password 

ブラウザでアクセスする
http://ds425plus:30080

image.png

おしまい

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?