File: Dockerfile

package info (click to toggle)
pokerth 2.0.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 64,020 kB
  • sloc: ansic: 94,844; cpp: 59,414; java: 3,135; sh: 2,054; xml: 643; sql: 46; makefile: 12
file content (35 lines) | stat: -rw-r--r-- 1,686 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
FROM ubuntu:questing
# ubuntu:24.04 aka ubuntu:noble might also work with the following procedure (changing deb-src entries from questing to noble)

ENV TZ=Europe/Berlin

USER root

RUN echo '\nTypes: deb-src' >> /etc/apt/sources.list.d/ubuntu.sources
RUN echo 'URIs: http://archive.ubuntu.com/ubuntu/' >> /etc/apt/sources.list.d/ubuntu.sources
RUN echo 'Suites: questing questing-updates questing-backports' >> /etc/apt/sources.list.d/ubuntu.sources
RUN echo 'Components: main universe restricted multiverse' >> /etc/apt/sources.list.d/ubuntu.sources
RUN echo 'Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg' >> /etc/apt/sources.list.d/ubuntu.sources

# build-deps
RUN apt update && DEBIAN_FRONTEND="noninteractive" && apt upgrade -y
RUN apt install -y wget git ca-certificates build-essential cmake debhelper zip ninja-build \ 
    libwebsocketpp-dev libprotobuf-dev protobuf-compiler libboost1.88-all-dev \
    qt6-base-dev qt6-svg-dev qt6-declarative-dev qt6-tools-dev linguist-qt6 qt6-websockets-dev  \
    qt6-multimedia-dev libqt6sql6-mysql libssl-dev
## INFO: in order to run a gui client inside a docker container you should use distrobox as it automatically integrates necessary xserver components

# cleanup
RUN apt clean -y && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# fetch repo:
RUN cd /opt && git clone https://github.com/pokerth/pokerth.git && cd pokerth && git checkout stable
RUN cd /opt/pokerth && cmake -DCMAKE_BUILD_TYPE:STRING=Release -S. -B./build -G Ninja

# compile all targets:
RUN cd /opt/pokerth && cmake --build ./build --config Release --target all --

# install
# RUN cd /opt/pokerth && cmake --install ./build

ENTRYPOINT ["/bin/bash"]