mirror of
https://github.com/fergalmoran/pgadmin4.git
synced 2025-12-22 01:28:05 +00:00
Initial commit
This commit is contained in:
21
Dockerfile
Normal file
21
Dockerfile
Normal file
@@ -0,0 +1,21 @@
|
||||
FROM ubuntu
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN \
|
||||
export DEBIAN_FRONTEND=noninteractive \
|
||||
&& apt-get -qy update && apt-get -qy dist-upgrade \
|
||||
&& apt-get -qy install --no-install-recommends python3 python3-pip libpq5 libpq-dev build-essential libpython3-all-dev git python-setuptools \
|
||||
&& pip3 install --upgrade pip \
|
||||
&& pip install setuptools \
|
||||
&& git clone git://git.postgresql.org/git/pgadmin4.git \
|
||||
# && rm -rf pgadmin4/.git \
|
||||
&& pip install -r pgadmin4/requirements.txt \
|
||||
&& apt-get -qy purge libpq-dev build-essential libpython3-all-dev git \
|
||||
&& apt-get -qy --purge autoremove && apt-get -qy clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
|
||||
&& rm -rf /usr/share/doc /usr/share/doc-base /usr/share/man /usr/share/locale /usr/share/zoneinfo
|
||||
|
||||
EXPOSE 5050
|
||||
|
||||
ADD run_pgadmin4.sh /
|
||||
RUN chmod +x /run_pgadmin4.sh
|
||||
ENTRYPOINT ["./run_pgadmin4.sh"]
|
||||
8
README.md
Normal file
8
README.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Docker container for pgadmin4
|
||||
|
||||
Create a folder for settings and run the container
|
||||
|
||||
```
|
||||
mkdir -p ~/pgadmin-data
|
||||
docker run -it --rm -v ~/pgadmin-data:/pgadmin-data --net=host fergalmoran/pgadmin4:latest
|
||||
```
|
||||
27
run_pgadmin4.sh
Normal file
27
run_pgadmin4.sh
Normal file
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
export USER_ID=${DATA_USER_ID:-1000}
|
||||
export GROUP_ID=${DATA_GROUP_ID:-1000}
|
||||
|
||||
#Link configuration volume
|
||||
mkdir -p /pgadmin-data
|
||||
ln -s /pgadmin-data /root/.pgadmin
|
||||
chmod a+x /root
|
||||
|
||||
#Create unprivileged user
|
||||
groupadd -g $GROUP_ID -o pgadmin
|
||||
useradd --shell /usr/sbin/nologin -u $USER_ID -o -c "" -g $GROUP_ID pgadmin --home /pgadmin-data
|
||||
chown pgadmin:pgadmin /pgadmin-data
|
||||
|
||||
#Create persistent config file on volume
|
||||
if [ ! -f /pgadmin-data/config_local.py ]; then
|
||||
cat /pgadmin4/web/config.py \
|
||||
| sed "s/DEFAULT_SERVER = 'localhost'/DEFAULT_SERVER = '0.0.0.0'/" \
|
||||
> /pgadmin-data/config_local.py
|
||||
chown pgadmin:pgadmin /pgadmin-data/config_local.py
|
||||
fi
|
||||
ln -s /pgadmin-data/config_local.py /pgadmin4/web/config_local.py
|
||||
|
||||
|
||||
#Run unprivileged
|
||||
chroot --userspec pgadmin:pgadmin / python3 pgadmin4/web/pgAdmin4.py
|
||||
|
||||
Reference in New Issue
Block a user