File tree Expand file tree Collapse file tree 2 files changed +75
-0
lines changed
Expand file tree Collapse file tree 2 files changed +75
-0
lines changed Original file line number Diff line number Diff line change 1+ # IvorySQL Build and Test Container - Modern Ubuntu
2+ # Alternative to CentOS with same capabilities
3+
4+ FROM ubuntu:22.04
5+
6+ # Prevent interactive prompts
7+ ENV DEBIAN_FRONTEND=noninteractive
8+
9+ # Install build dependencies matching the workflow requirements
10+ RUN apt-get update && apt-get install -y \
11+ # Build tools
12+ build-essential git lcov bison flex pkg-config cppcheck \
13+ # Core dependencies
14+ libkrb5-dev libssl-dev libldap-dev libpam-dev \
15+ libxml2-dev libxslt-dev libreadline-dev libedit-dev \
16+ zlib1g-dev uuid-dev libossp-uuid-dev libuuid1 e2fsprogs \
17+ # ICU support
18+ libicu-dev \
19+ # Language support
20+ python3-dev tcl-dev libperl-dev gettext \
21+ # Perl test modules
22+ libipc-run-perl libtime-hires-perl libtest-simple-perl \
23+ # LLVM/Clang
24+ llvm clang \
25+ # LZ4 compression
26+ liblz4-dev \
27+ # System libraries
28+ libselinux1-dev libsystemd-dev \
29+ # GSSAPI
30+ libgssapi-krb5-2 \
31+ # Locale support
32+ locales \
33+ # For dev containers
34+ sudo tini \
35+ && rm -rf /var/lib/apt/lists/*
36+
37+ # Set up locale
38+ RUN locale-gen en_US.UTF-8
39+ ENV LANG=en_US.UTF-8 \
40+ LANGUAGE=en_US:en \
41+ LC_ALL=en_US.UTF-8
42+
43+ # Create ivorysql user with matching host UID/GID (1000:1000)
44+ # and grant sudo privileges without password
45+ ARG USER_UID=1000
46+ ARG USER_GID=1000
47+ RUN groupadd -g ${USER_GID} ivorysql || true && \
48+ useradd -m -u ${USER_UID} -g ${USER_GID} -d /home/ivorysql -s /bin/bash ivorysql && \
49+ echo "ivorysql ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
50+
51+ # Set working directory
52+ WORKDIR /home/ivorysql/IvorySQL
53+
54+ # Switch to ivorysql user for builds
55+ USER ivorysql
56+
57+ # Default command
58+ ENTRYPOINT ["/usr/bin/tini" , "--" ]
59+ CMD ["/bin/bash" ]
Original file line number Diff line number Diff line change 1+ services :
2+ # Ubuntu-based development environment (recommended)
3+ dev :
4+ build :
5+ context : .
6+ dockerfile : Dockerfile
7+ image : ivorysql-dev
8+ container_name : ivorysql-dev
9+ volumes :
10+ - .:/home/ivorysql/IvorySQL:rw
11+ working_dir : /home/ivorysql/IvorySQL
12+ command : ["sleep", "infinity"]
13+ oracle :
14+ image : container-registry.oracle.com/database/free:23.26.0.0-lite
15+ environment :
16+ ORACLE_PWD : orapwd
You can’t perform that action at this time.
0 commit comments