-
Notifications
You must be signed in to change notification settings - Fork 1
/
Dockerfile.devel
81 lines (75 loc) · 1.99 KB
/
Dockerfile.devel
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Copyright (c) 2023 Ho Kim ([email protected]). All rights reserved.
# Use of this source code is governed by a GPL-3-style license that can be
# found in the LICENSE file.
# Configure environment variables
ARG DESKTOP_DIST="ubuntu"
ARG DESKTOP_VERSION="latest"
# Be ready for serving
FROM quay.io/ulagbulag/openark-vine-desktop:ubuntu-24.04-v25 AS server
# Server Configuration
CMD [ "/opt/openark/entrypoint.sh" ]
ENTRYPOINT [ "/usr/bin/env" ]
EXPOSE 22/tcp
EXPOSE 80/tcp
USER root
WORKDIR /
# Install Development Environment Dependencies
RUN true \
# Remove podman
&& apt-get purge --allow-change-held-packages -y podman-docker \
&& apt-get autoremove -y \
&& apt-get update && apt-get install -y \
build-essential \
clang \
cmake \
docker-buildx \
git-lfs \
jq \
libclang-dev \
libgtk2.0-dev \
libhwloc-dev \
libprotobuf-dev \
libprotoc-dev \
libssl-dev \
libudev-dev \
llvm-dev \
mold \
nasm \
openssh-server \
pkg-config \
podman \
python3-full \
s3fs \
xauth \
yq \
# GStreamer
libges-1.0-dev \
libgstreamer1.0-dev \
libgstreamer-plugins-bad1.0-dev \
libgstreamer-plugins-base1.0-dev \
libgstrtspserver-1.0-dev \
gstreamer1.0-libav \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-ugly \
# LaTex
chktex \
latexmk \
texlive-full \
# Backup SSH Configurations
&& cp -r /etc/ssh /etc/.ssh \
# Grant X11 Forwarding
&& echo 'X11Forwarding yes' >/etc/ssh/sshd_config.d/10-x11-forwarding.conf \
&& echo 'X11UseLocalhost no' >>/etc/ssh/sshd_config.d/10-x11-forwarding.conf \
# Grant user-level dockerd access
&& gpasswd -a user docker \
# Update ldconfig
&& ldconfig \
# Cleanup
&& apt-get clean all \
&& rm -rf /var/lib/apt/lists/*
# Load scripts
ADD ./templates/devel/scripts /opt/openark
# Configure runtime environment variables
ENV RUST_MIN_STACK=2097152