Fossil

Hex Artifact Content
Login

Artifact 69aecd36e7412b1cde09407c0f011f60f229a844c1c7135826e86df047b23ce6:


0000: 23 23 23 0a 23 20 20 20 44 6f 63 6b 65 72 66 69  ###.#   Dockerfi
0010: 6c 65 20 66 6f 72 20 46 6f 73 73 69 6c 0a 23 23  le for Fossil.##
0020: 23 0a 46 52 4f 4d 20 66 65 64 6f 72 61 3a 32 38  #.FROM fedora:28
0030: 0a 0a 23 23 23 20 4e 6f 77 20 69 6e 73 74 61 6c  ..### Now instal
0040: 6c 20 73 6f 6d 65 20 61 64 64 69 74 69 6f 6e 61  l some additiona
0050: 6c 20 70 61 72 74 73 20 77 65 20 77 69 6c 6c 20  l parts we will 
0060: 6e 65 65 64 20 66 6f 72 20 74 68 65 20 62 75 69  need for the bui
0070: 6c 64 0a 52 55 4e 20 64 6e 66 20 75 70 64 61 74  ld.RUN dnf updat
0080: 65 20 2d 79 20 26 26 20 64 6e 66 20 69 6e 73 74  e -y && dnf inst
0090: 61 6c 6c 20 2d 79 20 67 63 63 20 6d 61 6b 65 20  all -y gcc make 
00a0: 74 63 6c 20 74 63 6c 2d 64 65 76 65 6c 20 7a 6c  tcl tcl-devel zl
00b0: 69 62 2d 64 65 76 65 6c 20 6f 70 65 6e 73 73 6c  ib-devel openssl
00c0: 2d 64 65 76 65 6c 20 74 61 72 20 26 26 20 64 6e  -devel tar && dn
00d0: 66 20 63 6c 65 61 6e 20 61 6c 6c 20 26 26 20 67  f clean all && g
00e0: 72 6f 75 70 61 64 64 20 2d 72 20 66 6f 73 73 69  roupadd -r fossi
00f0: 6c 20 2d 67 20 34 33 33 20 26 26 20 75 73 65 72  l -g 433 && user
0100: 61 64 64 20 2d 75 20 34 33 31 20 2d 72 20 2d 67  add -u 431 -r -g
0110: 20 66 6f 73 73 69 6c 20 2d 64 20 2f 6f 70 74 2f   fossil -d /opt/
0120: 66 6f 73 73 69 6c 20 2d 73 20 2f 73 62 69 6e 2f  fossil -s /sbin/
0130: 6e 6f 6c 6f 67 69 6e 20 2d 63 20 22 46 6f 73 73  nologin -c "Foss
0140: 69 6c 20 75 73 65 72 22 20 66 6f 73 73 69 6c 0a  il user" fossil.
0150: 0a 23 23 23 20 49 66 20 79 6f 75 20 77 61 6e 74  .### If you want
0160: 20 74 6f 20 62 75 69 6c 64 20 22 74 72 75 6e 6b   to build "trunk
0170: 22 2c 20 63 68 61 6e 67 65 20 74 68 65 20 6e 65  ", change the ne
0180: 78 74 20 6c 69 6e 65 20 61 63 63 6f 72 64 69 6e  xt line accordin
0190: 67 6c 79 2e 0a 45 4e 56 20 46 4f 53 53 49 4c 5f  gly..ENV FOSSIL_
01a0: 49 4e 53 54 41 4c 4c 5f 56 45 52 53 49 4f 4e 20  INSTALL_VERSION 
01b0: 72 65 6c 65 61 73 65 0a 0a 52 55 4e 20 63 75 72  release..RUN cur
01c0: 6c 20 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 66  l "https://www.f
01d0: 6f 73 73 69 6c 2d 73 63 6d 2e 6f 72 67 2f 69 6e  ossil-scm.org/in
01e0: 64 65 78 2e 68 74 6d 6c 2f 74 61 72 62 61 6c 6c  dex.html/tarball
01f0: 2f 66 6f 73 73 69 6c 2d 73 72 63 2e 74 61 72 2e  /fossil-src.tar.
0200: 67 7a 3f 6e 61 6d 65 3d 66 6f 73 73 69 6c 2d 73  gz?name=fossil-s
0210: 72 63 26 75 75 69 64 3d 24 7b 46 4f 53 53 49 4c  rc&uuid=${FOSSIL
0220: 5f 49 4e 53 54 41 4c 4c 5f 56 45 52 53 49 4f 4e  _INSTALL_VERSION
0230: 7d 22 20 7c 20 74 61 72 20 7a 78 0a 52 55 4e 20  }" | tar zx.RUN 
0240: 63 64 20 66 6f 73 73 69 6c 2d 73 72 63 20 26 26  cd fossil-src &&
0250: 20 2e 2f 63 6f 6e 66 69 67 75 72 65 20 2d 2d 64   ./configure --d
0260: 69 73 61 62 6c 65 2d 66 75 73 65 66 73 20 2d 2d  isable-fusefs --
0270: 6a 73 6f 6e 20 2d 2d 77 69 74 68 2d 74 68 31 2d  json --with-th1-
0280: 64 6f 63 73 20 2d 2d 77 69 74 68 2d 74 68 31 2d  docs --with-th1-
0290: 68 6f 6f 6b 73 20 2d 2d 77 69 74 68 2d 74 63 6c  hooks --with-tcl
02a0: 3d 31 20 2d 2d 77 69 74 68 2d 74 63 6c 2d 73 74  =1 --with-tcl-st
02b0: 75 62 73 20 2d 2d 77 69 74 68 2d 74 63 6c 2d 70  ubs --with-tcl-p
02c0: 72 69 76 61 74 65 2d 73 74 75 62 73 0a 52 55 4e  rivate-stubs.RUN
02d0: 20 63 64 20 66 6f 73 73 69 6c 2d 73 72 63 2f 73   cd fossil-src/s
02e0: 72 63 20 26 26 20 6d 76 20 6d 61 69 6e 2e 63 20  rc && mv main.c 
02f0: 6d 61 69 6e 2e 63 2e 6f 72 69 67 20 26 26 20 73  main.c.orig && s
0300: 65 64 20 73 2f 5c 22 6e 6f 77 5c 22 2f 30 2f 20  ed s/\"now\"/0/ 
0310: 3c 6d 61 69 6e 2e 63 2e 6f 72 69 67 20 3e 6d 61  <main.c.orig >ma
0320: 69 6e 2e 63 0a 52 55 4e 20 63 64 20 66 6f 73 73  in.c.RUN cd foss
0330: 69 6c 2d 73 72 63 20 26 26 20 6d 61 6b 65 20 26  il-src && make &
0340: 26 20 73 74 72 69 70 20 66 6f 73 73 69 6c 20 26  & strip fossil &
0350: 26 20 63 70 20 66 6f 73 73 69 6c 20 2f 75 73 72  & cp fossil /usr
0360: 2f 62 69 6e 20 26 26 20 63 64 20 2e 2e 20 26 26  /bin && cd .. &&
0370: 20 72 6d 20 2d 72 66 20 66 6f 73 73 69 6c 2d 73   rm -rf fossil-s
0380: 72 63 20 26 26 20 63 68 6d 6f 64 20 61 2b 72 78  rc && chmod a+rx
0390: 20 2f 75 73 72 2f 62 69 6e 2f 66 6f 73 73 69 6c   /usr/bin/fossil
03a0: 20 26 26 20 6d 6b 64 69 72 20 2d 70 20 2f 6f 70   && mkdir -p /op
03b0: 74 2f 66 6f 73 73 69 6c 20 26 26 20 63 68 6f 77  t/fossil && chow
03c0: 6e 20 66 6f 73 73 69 6c 3a 66 6f 73 73 69 6c 20  n fossil:fossil 
03d0: 2f 6f 70 74 2f 66 6f 73 73 69 6c 0a 0a 23 23 23  /opt/fossil..###
03e0: 20 42 75 69 6c 64 20 69 73 20 64 6f 6e 65 2c 20   Build is done, 
03f0: 72 65 6d 6f 76 65 20 6d 6f 64 75 6c 65 73 20 6e  remove modules n
0400: 6f 20 6c 6f 6e 67 65 72 20 6e 65 65 64 65 64 0a  o longer needed.
0410: 52 55 4e 20 64 6e 66 20 72 65 6d 6f 76 65 20 2d  RUN dnf remove -
0420: 79 20 67 63 63 20 6d 61 6b 65 20 7a 6c 69 62 2d  y gcc make zlib-
0430: 64 65 76 65 6c 20 74 63 6c 2d 64 65 76 65 6c 20  devel tcl-devel 
0440: 6f 70 65 6e 73 73 6c 2d 64 65 76 65 6c 20 74 61  openssl-devel ta
0450: 72 20 26 26 20 64 6e 66 20 63 6c 65 61 6e 20 61  r && dnf clean a
0460: 6c 6c 0a 0a 55 53 45 52 20 66 6f 73 73 69 6c 0a  ll..USER fossil.
0470: 0a 45 4e 56 20 48 4f 4d 45 20 2f 6f 70 74 2f 66  .ENV HOME /opt/f
0480: 6f 73 73 69 6c 0a 0a 45 58 50 4f 53 45 20 38 30  ossil..EXPOSE 80
0490: 38 30 0a 0a 43 4d 44 20 5b 22 2f 75 73 72 2f 62  80..CMD ["/usr/b
04a0: 69 6e 2f 66 6f 73 73 69 6c 22 2c 20 22 73 65 72  in/fossil", "ser
04b0: 76 65 72 22 2c 20 22 2d 2d 63 72 65 61 74 65 22  ver", "--create"
04c0: 2c 20 22 2d 2d 75 73 65 72 22 2c 20 22 61 64 6d  , "--user", "adm
04d0: 69 6e 22 2c 20 22 2f 6f 70 74 2f 66 6f 73 73 69  in", "/opt/fossi
04e0: 6c 2f 72 65 70 6f 73 69 74 6f 72 79 2e 66 6f 73  l/repository.fos
04f0: 73 69 6c 22 5d 0a                                sil"].