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