FileMaker 2023 Docker スクリプト対応

  • URLをコピーしました!

こんにちはジョージです。Claris FileMaker 2023 が日本でも遂に公開されました。

本バージョンより Ubuntu Linux でも arm64 アーキテクチャがサポートされるので M1、M2 チップが搭載された Mac から Ubuntu の仮想マシンを立ち上げ、FileMaker Server を利用する事も可能となります。

https://help.claris.com/ja/server-release-notes/content/index.html

そんな Claris FileMaker 2023 を Docker インストールスクリプトファイルを使って起動させてみましょう!

目次

動作環境

FileMaker Server 2023
macOS Ventura:13.3.1 Apple M1
Docker Desktop:4.19.0
Visual Studio Code :バージョン: 1.78.1
Visual Studio Code Plugin Dev Containers v0.292.0
データベースフォルダ:~/Document/repos/fms/data

  • FileMaker Server をはじめとしたリレーショナルデータベース管理システムを Docker で起動する場合、データベースファイルやログファイルはコンテナの外(ホスト PC)にある、特定のフォルダ/ディレクトリに関連づけ管理し、変更内容を永続化させるのが一般的のようです。

VSCode(Dev Container プラグイン)でコンテナ起動

Claris エンジニアリング ブログでは、docker コマンドでコンテナを起動する方法が紹介されています。今回はもっと簡単に、VSCode(Dev Container プラグイン)をつかってコンテナを起動します。図のように「.devcontainer」フォルダを作成して必要なファイルを配置すれば、VSCode からコンテナを起動できます。
Linux 版 FileMaker Server インストーラーは、作業フォルダに指定した workspaces にあらかじめ配置しておきましょう。

{
	"name": "Ubuntu",
	"service": "filemaker",
	"workspaceFolder": "/workspace",
	"dockerComposeFile": [
		"docker-compose.yml"
	],
	"mounts": [
"source=${localWorkspaceFolder}/data,target=/opt/FileMaker/FileMaker Server/Data,type=bind"
	],
	"remoteUser": "vscode"
}
version: '3'
services:
  filemaker:
    container_name: fms
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ..:/workspace:cached
    ports:
      - 443:443
      - 2399:2399
      - 5003:5003
    privileged: true
FROM arm64v8/ubuntu:22.04

# update all software download sources
RUN DEBIAN_FRONTEND=noninteractive apt update
 
# upgrade all installed software
# packages
RUN DEBIAN_FRONTEND=noninteractive apt full-upgrade -y

# vscode
ARG USERNAME=vscode
ARG USERGROUP=vscode
ARG USER_UID=1000
ARG USER_GID=$USER_UID

RUN apt-get install -y sudo
RUN groupadd -g $USER_GID $USERGROUP
RUN useradd -m -s /bin/bash -u $USER_UID -g $USER_GID -G sudo $USERNAME
RUN echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME
RUN chmod 0440 /etc/sudoers.d/$USERNAME

# install filemaker server dependencies
RUN DEBIAN_FRONTEND=noninteractive apt install -y acl
RUN DEBIAN_FRONTEND=noninteractive apt install -y apache2-bin
RUN DEBIAN_FRONTEND=noninteractive apt install -y apache2-utils
RUN DEBIAN_FRONTEND=noninteractive apt install -y avahi-daemon
RUN DEBIAN_FRONTEND=noninteractive apt install -y curl
RUN DEBIAN_FRONTEND=noninteractive apt install -y firewalld
RUN DEBIAN_FRONTEND=noninteractive apt install -y fonts-baekmuk
RUN DEBIAN_FRONTEND=noninteractive apt install -y fonts-liberation2
RUN DEBIAN_FRONTEND=noninteractive apt install -y fonts-noto
RUN DEBIAN_FRONTEND=noninteractive apt install -y fonts-takao
RUN DEBIAN_FRONTEND=noninteractive apt install -y fonts-wqy-zenhei
RUN DEBIAN_FRONTEND=noninteractive apt install -y libaio1
RUN DEBIAN_FRONTEND=noninteractive apt install -y libantlr3c-3.4-0
RUN DEBIAN_FRONTEND=noninteractive apt install -y libavahi-client3
RUN DEBIAN_FRONTEND=noninteractive apt install -y libboost-chrono1.74.0
RUN DEBIAN_FRONTEND=noninteractive apt install -y libboost-system1.74.0
RUN DEBIAN_FRONTEND=noninteractive apt install -y libboost-thread1.74.0
RUN DEBIAN_FRONTEND=noninteractive apt install -y libbz2-1.0
RUN DEBIAN_FRONTEND=noninteractive apt install -y libc++1-12
RUN DEBIAN_FRONTEND=noninteractive apt install -y libcurl3-gnutls
RUN DEBIAN_FRONTEND=noninteractive apt install -y libcurl4-gnutls-dev
RUN DEBIAN_FRONTEND=noninteractive apt install -y libcurl4
RUN DEBIAN_FRONTEND=noninteractive apt install -y libdjvulibre21
RUN DEBIAN_FRONTEND=noninteractive apt install -y libetpan20
RUN DEBIAN_FRONTEND=noninteractive apt install -y libevent-2.1-7
RUN DEBIAN_FRONTEND=noninteractive apt install -y libexpat1
RUN DEBIAN_FRONTEND=noninteractive apt install -y libfontconfig1
RUN DEBIAN_FRONTEND=noninteractive apt install -y libfreetype6
RUN DEBIAN_FRONTEND=noninteractive apt install -y libgomp1
RUN DEBIAN_FRONTEND=noninteractive apt install -y libheif1
# RUN DEBIAN_FRONTEND=noninteractive apt install -y libicu66
RUN DEBIAN_FRONTEND=noninteractive apt install -y libicu70
# RUN DEBIAN_FRONTEND=noninteractive apt install -y libilmbase24
RUN DEBIAN_FRONTEND=noninteractive apt install -y  libilmbase25
RUN DEBIAN_FRONTEND=noninteractive apt install -y libjpeg-turbo8
RUN DEBIAN_FRONTEND=noninteractive apt install -y liblqr-1-0
RUN DEBIAN_FRONTEND=noninteractive apt install -y liblzma5
RUN DEBIAN_FRONTEND=noninteractive apt install -y libodbc1
RUN DEBIAN_FRONTEND=noninteractive apt install -y libomniorb4-2
RUN DEBIAN_FRONTEND=noninteractive apt install -y libomp5-12
# RUN DEBIAN_FRONTEND=noninteractive apt install -y libopenexr24
RUN DEBIAN_FRONTEND=noninteractive apt install -y libopenexr25
RUN DEBIAN_FRONTEND=noninteractive apt install -y libpam0g
RUN DEBIAN_FRONTEND=noninteractive apt install -y libpng16-16
RUN DEBIAN_FRONTEND=noninteractive apt install -y libsasl2-2
RUN DEBIAN_FRONTEND=noninteractive apt install -y libtiff5
RUN DEBIAN_FRONTEND=noninteractive apt install -y libuuid1
# RUN DEBIAN_FRONTEND=noninteractive apt install -y libvpx6
RUN DEBIAN_FRONTEND=noninteractive apt install -y  libvpx7
RUN DEBIAN_FRONTEND=noninteractive apt install -y libwebpdemux2
RUN DEBIAN_FRONTEND=noninteractive apt install -y libwebpmux3
RUN DEBIAN_FRONTEND=noninteractive apt install -y libxml2
RUN DEBIAN_FRONTEND=noninteractive apt install -y libxpm4
RUN DEBIAN_FRONTEND=noninteractive apt install -y libxslt1.1
RUN DEBIAN_FRONTEND=noninteractive apt install -y lsb-release
RUN DEBIAN_FRONTEND=noninteractive apt install -y logrotate
RUN DEBIAN_FRONTEND=noninteractive apt install -y nginx
RUN DEBIAN_FRONTEND=noninteractive apt install -y odbcinst1debian2
RUN DEBIAN_FRONTEND=noninteractive apt install -y openjdk-11-jre
RUN DEBIAN_FRONTEND=noninteractive apt install -y openssl
RUN DEBIAN_FRONTEND=noninteractive apt install -y policycoreutils
RUN DEBIAN_FRONTEND=noninteractive apt install -y sysstat
RUN DEBIAN_FRONTEND=noninteractive apt install -y unzip
RUN DEBIAN_FRONTEND=noninteractive apt install -y zip
RUN DEBIAN_FRONTEND=noninteractive apt install -y zlib1g

RUN DEBIAN_FRONTEND=noninteractive apt install -y lsof
RUN DEBIAN_FRONTEND=noninteractive apt install -y nano

# install user management
RUN DEBIAN_FRONTEND=noninteractive apt install -y init

# time zoon for ja_JP
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata locales && locale-gen ja_JP.UTF-8
ENV TZ Asia/Tokyo
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja

# clean up installations
RUN DEBIAN_FRONTEND=noninteractive apt --fix-broken install -y
RUN DEBIAN_FRONTEND=noninteractive apt autoremove -y
RUN DEBIAN_FRONTEND=noninteractive apt clean -y

# document the ports that should be
# published when filemaker server
# is installed
# EXPOSE 80
EXPOSE 443
EXPOSE 2399
EXPOSE 5003
 
# when containers run, start this
# command as root to initialize
# user management
USER root
CMD ["/sbin/init"]

WORKDIR /workspace

VSCode からコンテナの起動

ファイルの配置が終わったら、VSCode からコンテナを起動します。

2023051501.001.png (90.2 kB)
2023051501.004.png (92.4 kB)
2023051501.005.png (185.7 kB)

ログの更新がとまり、VSCode の拡張機能のインストールがインストールされたらコンテナの準備がととのいました。ターミナルからアクセスして FileMaker Server をインストールします。

FileMaker Server のインストール

コンテナに接続するには、ファイルメニュー>ターミナル>新しいターミナルをクリックします。

2023051501.007.png (280.5 kB)
2023051501.008.png (91.8 kB)

インストールの前に

nginx がうまく起動しない場合、以下の設定ファイルの次の値を YES から NO に変更すると無事起動しました。

IPv6_rpfilter=no
2023051501.009.png (113.3 kB)
2023051501.010.png (155.7 kB)
2023051501.011.png (183.2 kB)

FileMaker Server のインストール(続き)

コマンドを実行して FileMaker Server をインストールします。

sudo apt install ./FileMaker Server のインストーラー
2023051501.013.png (228.7 kB)

Admin Console の設定

VSCode Dev Container を利用している場合、公開されたポートへのアクセスは簡単です。ポートを確認して地球儀アイコンをクリックするだけで、ホスト PC の任意のポートに転送してくれます。
※ FileMaker Admin Console の管理画面は https:// から始まるプロトコルを使うので手動で追加する。

後は、通常の FileMaker Server 同様に Admin Console の URL にアクセスして管理画面を開くことができます。お疲れ様でした!

2023051501.015.png (179.7 kB)
2023051501.016.png (92.3 kB)
2023051501.017.png (138.7 kB)
2023051501.020.png (485.2 kB)
2023051501.022.png (69.1 kB)
2023051501.023.png (124.0 kB)

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次