Rename the project from peo to boltage
The name peo cannot be registered on PyPI. Rename the package, the command, the PEO_* environment variables (now BOLTAGE_*), the container paths and scripts, and the source URLs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5418473158
commit
5784de249d
20 files changed
+180
-180
No files matched your search
+47
-47
@@ -1,16 +1,16 @@
|
||||
# SPDX-FileCopyrightText: 2026 Bart Broere
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# peo: neo4j-browser on top of PostgreSQL + Apache AGE.
|
||||
# boltage: neo4j-browser on top of PostgreSQL + Apache AGE.
|
||||
#
|
||||
# Two images can be built from this file:
|
||||
#
|
||||
# full (the default): the Apache AGE image (PostgreSQL with the AGE extension)
|
||||
# plus peo, neo4j-browser and pgAdmin, all in one container.
|
||||
# slim (--target slim): only peo and neo4j-browser, for connecting to a
|
||||
# plus boltage, neo4j-browser and pgAdmin, all in one container.
|
||||
# slim (--target slim): only boltage and neo4j-browser, for connecting to a
|
||||
# separate PostgreSQL server with AGE; see compose.yaml.
|
||||
#
|
||||
# peo is the Python package that speaks the Bolt protocol to the browser and
|
||||
# boltage is the Python package that speaks the Bolt protocol to the browser and
|
||||
# translates Cypher into AGE `cypher()` calls. The browser stage builds the
|
||||
# neo4j-browser static frontend from source for both images.
|
||||
|
||||
@@ -35,7 +35,7 @@ RUN yarn install --frozen-lockfile --network-timeout 600000
|
||||
RUN yarn build && test -f dist/index.html
|
||||
|
||||
|
||||
# Builds peo's sdist from the git repository, because verri derives the version
|
||||
# Builds boltage's sdist from the git repository, because verri derives the version
|
||||
# from the git history (see version.py). The unpacked sdist carries that version
|
||||
# in PKG-INFO, so the images below can be built without git.
|
||||
FROM ${SLIM_BASE_IMAGE} AS sdist
|
||||
@@ -46,8 +46,8 @@ RUN apt-get update \
|
||||
|
||||
COPY . /src
|
||||
RUN python3 -m build --sdist --outdir /dist /src \
|
||||
&& mkdir /peo \
|
||||
&& tar -xzf /dist/peo-*.tar.gz --strip-components=1 -C /peo
|
||||
&& mkdir /boltage \
|
||||
&& tar -xzf /dist/boltage-*.tar.gz --strip-components=1 -C /boltage
|
||||
|
||||
|
||||
FROM ${SLIM_BASE_IMAGE} AS slim
|
||||
@@ -56,32 +56,32 @@ RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends python3 python3-psycopg python3-venv \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# peo itself, using Debian's psycopg and the other dependencies from PyPI. License
|
||||
# boltage itself, using Debian's psycopg and the other dependencies from PyPI. License
|
||||
# notices: see THIRD_PARTY_NOTICES.md.
|
||||
COPY container/collect-python-licenses.py /tmp/
|
||||
COPY container/licenses/ /tmp/licenses/
|
||||
COPY --from=sdist /peo /tmp/peo
|
||||
RUN python3 -m venv --system-site-packages /opt/peo/venv \
|
||||
&& /opt/peo/venv/bin/pip install --no-cache-dir "/tmp/peo[browser]" \
|
||||
&& /opt/peo/venv/bin/python /tmp/collect-python-licenses.py \
|
||||
/usr/share/doc/peo/peo-python-licenses /tmp/licenses \
|
||||
&& rm -r /tmp/peo /tmp/collect-python-licenses.py /tmp/licenses
|
||||
COPY LICENSE THIRD_PARTY_NOTICES.md /usr/share/doc/peo/
|
||||
COPY --from=sdist /boltage /tmp/boltage
|
||||
RUN python3 -m venv --system-site-packages /opt/boltage/venv \
|
||||
&& /opt/boltage/venv/bin/pip install --no-cache-dir "/tmp/boltage[browser]" \
|
||||
&& /opt/boltage/venv/bin/python /tmp/collect-python-licenses.py \
|
||||
/usr/share/doc/boltage/boltage-python-licenses /tmp/licenses \
|
||||
&& rm -r /tmp/boltage /tmp/collect-python-licenses.py /tmp/licenses
|
||||
COPY LICENSE THIRD_PARTY_NOTICES.md /usr/share/doc/boltage/
|
||||
COPY --from=browser /src/LICENSE /src/NOTICE.txt /src/LICENSES.txt /neo4j-browser-source.tar.gz \
|
||||
/usr/share/doc/peo/neo4j-browser/
|
||||
COPY --from=browser /src/dist /opt/peo/browser
|
||||
/usr/share/doc/boltage/neo4j-browser/
|
||||
COPY --from=browser /src/dist /opt/boltage/browser
|
||||
|
||||
RUN useradd --system --no-create-home --home-dir /nonexistent --shell /usr/sbin/nologin peo
|
||||
USER peo
|
||||
RUN useradd --system --no-create-home --home-dir /nonexistent --shell /usr/sbin/nologin boltage
|
||||
USER boltage
|
||||
|
||||
ENV PEO_BROWSER_DIR=/opt/peo/browser \
|
||||
PEO_HTTP_PORT=7474 \
|
||||
PEO_BOLT_PORT=7687
|
||||
ENV BOLTAGE_BROWSER_DIR=/opt/boltage/browser \
|
||||
BOLTAGE_HTTP_PORT=7474 \
|
||||
BOLTAGE_BOLT_PORT=7687
|
||||
|
||||
# 7474: neo4j-browser (HTTP), 7687: Bolt
|
||||
EXPOSE 7474 7687
|
||||
|
||||
CMD ["/opt/peo/venv/bin/peo"]
|
||||
CMD ["/opt/boltage/venv/bin/boltage"]
|
||||
|
||||
|
||||
FROM ${AGE_IMAGE} AS full
|
||||
@@ -105,39 +105,39 @@ RUN python3 -m venv /opt/pgadmin \
|
||||
COPY container/collect-python-licenses.py /tmp/
|
||||
COPY container/licenses/ /tmp/licenses/
|
||||
RUN /opt/pgadmin/bin/python /tmp/collect-python-licenses.py \
|
||||
/usr/share/doc/peo/pgadmin-python-licenses /tmp/licenses
|
||||
/usr/share/doc/boltage/pgadmin-python-licenses /tmp/licenses
|
||||
|
||||
# peo itself, using Debian's psycopg and the other dependencies from PyPI.
|
||||
COPY --from=sdist /peo /tmp/peo
|
||||
RUN python3 -m venv --system-site-packages /opt/peo/venv \
|
||||
&& /opt/peo/venv/bin/pip install --no-cache-dir "/tmp/peo[browser]" \
|
||||
&& /opt/peo/venv/bin/python /tmp/collect-python-licenses.py \
|
||||
/usr/share/doc/peo/peo-python-licenses /tmp/licenses \
|
||||
&& rm -r /tmp/peo /tmp/collect-python-licenses.py /tmp/licenses
|
||||
COPY LICENSE THIRD_PARTY_NOTICES.md /usr/share/doc/peo/
|
||||
# boltage itself, using Debian's psycopg and the other dependencies from PyPI.
|
||||
COPY --from=sdist /boltage /tmp/boltage
|
||||
RUN python3 -m venv --system-site-packages /opt/boltage/venv \
|
||||
&& /opt/boltage/venv/bin/pip install --no-cache-dir "/tmp/boltage[browser]" \
|
||||
&& /opt/boltage/venv/bin/python /tmp/collect-python-licenses.py \
|
||||
/usr/share/doc/boltage/boltage-python-licenses /tmp/licenses \
|
||||
&& rm -r /tmp/boltage /tmp/collect-python-licenses.py /tmp/licenses
|
||||
COPY LICENSE THIRD_PARTY_NOTICES.md /usr/share/doc/boltage/
|
||||
COPY --from=browser /src/LICENSE /src/NOTICE.txt /src/LICENSES.txt /neo4j-browser-source.tar.gz \
|
||||
/usr/share/doc/peo/neo4j-browser/
|
||||
/usr/share/doc/boltage/neo4j-browser/
|
||||
ADD https://raw.githubusercontent.com/apache/age/${AGE_SOURCE_REF}/LICENSE \
|
||||
https://raw.githubusercontent.com/apache/age/${AGE_SOURCE_REF}/NOTICE \
|
||||
/usr/share/doc/peo/apache-age/
|
||||
/usr/share/doc/boltage/apache-age/
|
||||
|
||||
COPY --from=browser /src/dist /opt/peo/browser
|
||||
COPY --from=browser /src/dist /opt/boltage/browser
|
||||
COPY container/initdb/ /docker-entrypoint-initdb.d/
|
||||
COPY container/pgadmin/config_distro.py /opt/peo/pgadmin/config_distro.py
|
||||
COPY container/peo-entrypoint.sh /usr/local/bin/peo-entrypoint.sh
|
||||
COPY container/pgadmin/config_distro.py /opt/boltage/pgadmin/config_distro.py
|
||||
COPY container/boltage-entrypoint.sh /usr/local/bin/boltage-entrypoint.sh
|
||||
|
||||
ENV PEO_DEFAULT_GRAPH=neo4j \
|
||||
PEO_BROWSER_DIR=/opt/peo/browser \
|
||||
PEO_HTTP_PORT=7474 \
|
||||
PEO_BOLT_PORT=7687 \
|
||||
PEO_PG_HOST=127.0.0.1 \
|
||||
PEO_PG_PORT=5432 \
|
||||
PEO_PGADMIN=true \
|
||||
PEO_PGADMIN_PORT=5050 \
|
||||
CONFIG_DISTRO_FILE_PATH=/opt/peo/pgadmin/config_distro.py
|
||||
ENV BOLTAGE_DEFAULT_GRAPH=neo4j \
|
||||
BOLTAGE_BROWSER_DIR=/opt/boltage/browser \
|
||||
BOLTAGE_HTTP_PORT=7474 \
|
||||
BOLTAGE_BOLT_PORT=7687 \
|
||||
BOLTAGE_PG_HOST=127.0.0.1 \
|
||||
BOLTAGE_PG_PORT=5432 \
|
||||
BOLTAGE_PGADMIN=true \
|
||||
BOLTAGE_PGADMIN_PORT=5050 \
|
||||
CONFIG_DISTRO_FILE_PATH=/opt/boltage/pgadmin/config_distro.py
|
||||
|
||||
# 7474: neo4j-browser (HTTP), 7687: Bolt, 5050: pgAdmin, 5432: PostgreSQL
|
||||
EXPOSE 7474 7687 5050 5432
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/peo-entrypoint.sh"]
|
||||
ENTRYPOINT ["/usr/local/bin/boltage-entrypoint.sh"]
|
||||
CMD ["postgres", "-c", "shared_preload_libraries=age"]
|
||||
Reference in new issue
Block a user