Skip to content

Instantly share code, notes, and snippets.

@radmiraal
Last active October 31, 2023 14:38
Show Gist options
  • Save radmiraal/3bb46ba51592427f1b409eabc53b89ac to your computer and use it in GitHub Desktop.
Save radmiraal/3bb46ba51592427f1b409eabc53b89ac to your computer and use it in GitHub Desktop.
FileMaker server on docker
#!/usr/bin/env bash
set -eux ;
docker build -t fmsdocker:prep . ;
docker run \
--rm \
--detach \
--hostname fms-docker \
--name fms-docker \
--privileged \
--publish 80:80 \
--publish 443:443 \
--publish 2399:2399 \
--publish 5003:5003 \
--volume \
$(pwd)/install:/install \
--volume \
$(pwd)/Data:"/opt/FileMaker/FileMaker Server/Data" \
fmsdocker:prep ;
docker exec fms-docker apt-get update -y
docker exec \
-e FM_ASSISTED_INSTALL=/install \
fms-docker \
apt-get install -y /install/filemaker-server-20.1.1.38-amd64.deb ;
docker exec fms-docker apt-get autoremove -y ;
docker exec fms-docker apt-get purge -y --auto-remove ;
docker exec fms-docker rm -rf /var/lib/apt/lists/* ;
docker commit fms-docker fmsdocker:final ;
docker stop fms-docker ;
FROM ubuntu:20.04
ARG DEBIAN_FRONTEND=noninteractive
RUN set -eux ; \
# update all software download sources
apt-get update -y ; \
apt-get upgrade -y ; \
apt-get install -y --no-install-recommends ; \
# install filemaker server dependencies
apt-get install -y \
acl \
apache2-bin \
apache2-utils \
avahi-daemon \
curl \
firewalld \
fonts-baekmuk \
fonts-liberation2 \
fonts-noto \
fonts-takao \
fonts-wqy-zenhei \
init \
libaio1 \
libantlr3c-3.4-0 \
libavahi-client3 \
libboost-chrono1.71.0 \
libboost-system1.71.0 \
libboost-thread1.71.0 \
libbz2-1.0 \
libc++1-12 \
libcurl3-gnutls \
libcurl4-gnutls-dev \
libcurl4 \
libdjvulibre21 \
libetpan20 \
libevent-2.1-7 \
libexpat1 \
libfontconfig1 \
libfreetype6 \
libgomp1 \
libheif1 \
libicu66 \
libilmbase24 \
libjpeg-turbo8 \
liblqr-1-0 \
liblzma5 \
libodbc1 \
libomniorb4-2 \
libomp5-12 \
libopenexr24 \
libpam0g \
libpng16-16 \
libsasl2-2 \
libtiff5 \
libuuid1 \
libvpx6 \
libwebpdemux2 \
libwebpmux3 \
libxml2 \
libxpm4 \
libxslt1.1 \
lsb-release \
logrotate \
nginx \
odbcinst1debian2 \
openjdk-11-jre \
openssl \
policycoreutils \
sysstat \
unzip \
zip \
zlib1g \
; \
apt-get autoremove -y ; \
apt-get purge -y --auto-remove ; \
rm -rf /var/lib/apt/lists/* ;
# 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"]
FROM ubuntu:22.04
ARG DEBIAN_FRONTEND=noninteractive
RUN set -eux ; \
mkdir -p /usr/share/man/man1 ; \
apt-get update -y ; \
apt-get upgrade -y ; \
apt-get install -y \
apt-transport-https \
init \
lsb-release \
; \
apt-get autoremove -y ; \
apt-get purge -y --auto-remove ; \
rm -rf /var/lib/apt/lists/* ;
# 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"]
#!/usr/bin/env bash
set -eux ;
tag="${1:-:final}"
docker run \
--detach \
--hostname fms-docker \
--name fms-docker \
--privileged \
--publish 80:80 \
--publish 443:443 \
--publish 2399:2399 \
--publish 5003:5003 \
--volume \
$(pwd)/Data:"/opt/FileMaker/FileMaker Server/Data" \
fmsdocker:${tag} ;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment