Merge branch 'ours' of https://repos.hackathon.bz.it/2025-summer/team-3 into ours
This commit is contained in:
commit
90d3c9b7f5
13 changed files with 11103 additions and 47 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -73,3 +73,4 @@ target/
|
|||
|
||||
#Ipython Notebook
|
||||
.ipynb_checkpoints
|
||||
local_run/data
|
||||
|
|
|
@ -15,32 +15,32 @@ ENV DEBIAN_FRONTEND noninteractive
|
|||
RUN --mount=type=cache,target=/var/cache/apt,id=apt_$TARGETARCH --mount=type=tmpfs,target=/var/lib/apt/lists \
|
||||
rm /etc/apt/apt.conf.d/docker-clean && \
|
||||
apt-get update && apt-get install -y --no-install-recommends \
|
||||
python3.12=3.12.3-1ubuntu0.5 \
|
||||
python3.12 \
|
||||
# renovate: srcname=python3.12
|
||||
libpython3.12=3.12.3-1ubuntu0.5 \
|
||||
libpython3.12 \
|
||||
# renovate: srcname=python3.12
|
||||
python3.12-venv=3.12.3-1ubuntu0.5 \
|
||||
python3.12-venv \
|
||||
# renovate: srcname=python-pip
|
||||
python3-pip=24.0+dfsg-1ubuntu1.1 \
|
||||
python3-pip \
|
||||
# renovate: srcname=postgresql-16
|
||||
libpq5=16.8-0ubuntu0.24.04.1 \
|
||||
libpq5 \
|
||||
# renovate: srcname=postgresql-16
|
||||
postgresql-client-16=16.8-0ubuntu0.24.04.1 \
|
||||
curl=8.5.0-2ubuntu10.6 \
|
||||
postgresql-client-16 \
|
||||
curl \
|
||||
# renovate: srcname=pcre3
|
||||
libpcre3=2:8.39-15build1 \
|
||||
libpcre3 \
|
||||
# renovate: srcname=librsvg
|
||||
librsvg2-2=2.58.0+dfsg-1build1 \
|
||||
librsvg2-2 \
|
||||
# renovate: srcname=librsvg
|
||||
gir1.2-rsvg-2.0=2.58.0+dfsg-1build1 \
|
||||
gir1.2-rsvg-2.0 \
|
||||
# renovate: srcname=cairo
|
||||
libcairo2=1.18.0-3build1 \
|
||||
libgirepository-1.0-1=1.80.1-1 \
|
||||
libcairo2 \
|
||||
libgirepository-1.0-1 \
|
||||
# renovate: srcname=libmemcached
|
||||
libmemcached11t64=1.1.4-1.1build3 \
|
||||
libmemcached11t64 \
|
||||
gettext \
|
||||
tzdata=2025b-0ubuntu0.24.04 \
|
||||
ca-certificates=20240203 \
|
||||
tzdata-legacy \
|
||||
ca-certificates \
|
||||
# renovate: srcname=libzstd
|
||||
zstd=1.5.5+dfsg2-2build1.1
|
||||
ENV PATH="/usr/lib/postgresql/16/bin/:$PATH"
|
||||
|
@ -49,17 +49,17 @@ ENV PATH="/usr/lib/postgresql/16/bin/:$PATH"
|
|||
FROM base as builder
|
||||
RUN --mount=type=cache,target=/var/cache/apt,id=apt_$TARGETARCH --mount=type=tmpfs,target=/var/lib/apt/lists \
|
||||
apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential=12.10ubuntu1 \
|
||||
build-essential \
|
||||
# renovate: srcname=python3.12
|
||||
python3.12-dev=3.12.3-1ubuntu0.5 \
|
||||
libpcre3-dev=2:8.39-15build1 \
|
||||
python3.12-dev \
|
||||
libpcre3-dev \
|
||||
# renovate: srcname=postgresql-16
|
||||
libpq-dev=16.8-0ubuntu0.24.04.1 \
|
||||
libpq-dev \
|
||||
# renovate: srcname=cairo
|
||||
libcairo2-dev=1.18.0-3build1 \
|
||||
libgirepository1.0-dev=1.80.1-1 \
|
||||
libcairo2-dev \
|
||||
libgirepository1.0-dev \
|
||||
# renovate: srcname=libmemcached
|
||||
libmemcached-dev=1.1.4-1.1build3
|
||||
libmemcached-dev
|
||||
|
||||
|
||||
RUN mkdir /app
|
||||
|
|
6
local_run/.env
Normal file
6
local_run/.env
Normal file
|
@ -0,0 +1,6 @@
|
|||
C3NAV_TAG=latest
|
||||
C3NAV_DOMAIN=c3nav.docker.localhost
|
||||
# to change the default database name
|
||||
#C3NAV_DATABASE_NAME=c3nav-37c3
|
||||
# if you want to change the default path to the data dir, which by default is a folder called data in this directory
|
||||
C3NAV_DOCKER_DATA_DIR=./data
|
109
local_run/compose.yml
Normal file
109
local_run/compose.yml
Normal file
|
@ -0,0 +1,109 @@
|
|||
# SPDX-FileCopyrightText: 2024 NOI Techpark
|
||||
# SPDX-FileCopyrightText: 2024 https://github.com/c3nav/c3nav
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Initially Copied from https://github.com/c3nav/c3nav/blob/034f8fe4633be3a982e94fd9e2f1fbc6d3dfafe1/deployment/docker/compose.yaml
|
||||
|
||||
x-restart-policy: &restart-policy
|
||||
restart: unless-stopped
|
||||
x-depends_on-default: &depends_on
|
||||
condition: service_started
|
||||
x-depends_on-healthy: &depends_on-healthy
|
||||
condition: service_healthy
|
||||
x-healthcheck_defaults: &healthcheck_defaults
|
||||
interval: 10s
|
||||
timeout: 2s
|
||||
retries: 5
|
||||
start_period: 5s
|
||||
x-c3nav-defaults: &c3nav-defaults
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: docker/Dockerfile
|
||||
args:
|
||||
- COMMIT=${COMMIT}
|
||||
depends_on:
|
||||
redis:
|
||||
<<: *depends_on-healthy
|
||||
postgres:
|
||||
<<: *depends_on-healthy
|
||||
volumes:
|
||||
- type: bind
|
||||
source: ${C3NAV_DOCKER_DATA_DIR:-./data}
|
||||
target: /data
|
||||
bind:
|
||||
create_host_path: true
|
||||
x-c3nav-environment: &c3nav-environment
|
||||
C3NAV_DEBUG: false
|
||||
C3NAV_LOGLEVEL: info
|
||||
C3NAV_CONFIG: /data/c3nav.cfg
|
||||
C3NAV_DATA_DIR: /data
|
||||
C3NAV_DJANGO_ALLOWED_HOSTS: localhost,127.0.0.1,c3nav-core,c3nav-tiles,${C3NAV_DJANGO_ALLOWED_HOSTS:-""},${C3NAV_DOMAIN}
|
||||
C3NAV_DJANGO_REVERSE_PROXY: "true"
|
||||
UWSGI_WORKERS: ${C3NAV_CORE_WORKERS:-2}
|
||||
C3NAV_DATABASE_BACKEND: postgresql
|
||||
C3NAV_DATABASE_NAME: ${C3NAV_DATABASE_NAME:-c3nav}
|
||||
C3NAV_DATABASE_USER: ${C3NAV_DATABASE_USER:-postgres}
|
||||
C3NAV_DATABASE_HOST: postgres
|
||||
C3NAV_REDIS: "redis://redis:6379/0"
|
||||
C3NAV_CELERY_BROKER: "redis://redis:6379/1"
|
||||
C3NAV_CELERY_BACKEND: "redis://redis:6379/2"
|
||||
|
||||
|
||||
services:
|
||||
c3nav-core:
|
||||
<<: [*restart-policy, *c3nav-defaults]
|
||||
command: webstatic
|
||||
environment:
|
||||
<<: *c3nav-environment
|
||||
C3NAV_AUTOMIGRATE: yes
|
||||
healthcheck:
|
||||
<<: *healthcheck_defaults
|
||||
test: curl -f http://localhost:8000/
|
||||
ports:
|
||||
- "${SERVER_PORT:-8000}:8000"
|
||||
|
||||
c3nav-workers:
|
||||
<<: [*restart-policy, *c3nav-defaults]
|
||||
command: worker
|
||||
environment:
|
||||
<<: *c3nav-environment
|
||||
C3NAV_AUTOMIGRATE: no
|
||||
healthcheck:
|
||||
interval: 30s
|
||||
timeout: 15s
|
||||
retries: 2
|
||||
start_period: 5s
|
||||
test: entrypoint worker_healthcheck
|
||||
|
||||
postgres:
|
||||
<<: *restart-policy
|
||||
image: postgres:16
|
||||
healthcheck:
|
||||
<<: *healthcheck_defaults
|
||||
test: pg_isready -U postgres
|
||||
environment:
|
||||
POSTGRES_DB: ${C3NAV_DATABASE_NAME:-c3nav}
|
||||
POSTGRES_HOST_AUTH_METHOD: "trust"
|
||||
volumes:
|
||||
- "c3nav-postgres:/var/lib/postgresql/data"
|
||||
|
||||
redis:
|
||||
<<: *restart-policy
|
||||
image: redis:7.2
|
||||
command: redis-server --save 60 1 --loglevel warning
|
||||
healthcheck:
|
||||
<<: *healthcheck_defaults
|
||||
test: redis-cli ping
|
||||
volumes:
|
||||
- "c3nav-redis:/data"
|
||||
ulimits:
|
||||
nofile:
|
||||
soft: 10032
|
||||
hard: 10032
|
||||
|
||||
volumes:
|
||||
c3nav-postgres:
|
||||
external: true
|
||||
c3nav-redis:
|
||||
external: true
|
6
local_run/data-copy/logo/sfscon.svg
Normal file
6
local_run/data-copy/logo/sfscon.svg
Normal file
|
@ -0,0 +1,6 @@
|
|||
<!--
|
||||
SPDX-FileCopyrightText: 2024 NOI Techpark <digital@noi.bz.it>
|
||||
|
||||
SPDX-License-Identifier: CC0-1.0
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 186.5 37.18"><defs><style>.a{isolation:isolate;}.b{fill:#1c1c1c;}</style></defs><title>logo</title><g class="a"><g class="a"><path class="b" d="M15.85,54.66a20.05,20.05,0,0,1-7-1.29,18.42,18.42,0,0,1-6.25-3.88l4.62-5.56a17.43,17.43,0,0,0,4.27,2.7,11.07,11.07,0,0,0,4.59,1,6.29,6.29,0,0,0,3.77-.93,3,3,0,0,0,1.23-2.53,2.83,2.83,0,0,0-.35-1.43,3.44,3.44,0,0,0-1-1.07A9.71,9.71,0,0,0,18,40.83l-2.12-.91-4.67-2a13.8,13.8,0,0,1-2.67-1.43,11.92,11.92,0,0,1-2.31-2.06A9.29,9.29,0,0,1,4.63,31.7,9.68,9.68,0,0,1,4,28.15,9.38,9.38,0,0,1,5,24,10.22,10.22,0,0,1,7.6,20.59a12.74,12.74,0,0,1,4-2.29,15.35,15.35,0,0,1,5.14-.82A16.59,16.59,0,0,1,23,18.69a15.66,15.66,0,0,1,5.36,3.52l-4.12,5.12a15.54,15.54,0,0,0-3.52-2.12,9.91,9.91,0,0,0-3.91-.75,5.73,5.73,0,0,0-3.32.86,2.73,2.73,0,0,0-1.24,2.39,2.36,2.36,0,0,0,.41,1.4,4,4,0,0,0,1.16,1.05,12.08,12.08,0,0,0,1.73.88c.66.27,1.37.58,2.14.91l4.62,1.87a12.6,12.6,0,0,1,5.2,3.63,9.27,9.27,0,0,1,1.9,6.1,10.19,10.19,0,0,1-3.55,7.78,13,13,0,0,1-4.26,2.42A16.79,16.79,0,0,1,15.85,54.66Z" transform="translate(-2.59 -17.48)"/><path class="b" d="M35.48,54V18.14H58.09V25H43.57v8.3H56v6.82H43.57V54Z" transform="translate(-2.59 -17.48)"/><path class="b" d="M73.76,54.66a20.13,20.13,0,0,1-7-1.29,18.29,18.29,0,0,1-6.24-3.88l4.62-5.56a17.18,17.18,0,0,0,4.26,2.7,11.14,11.14,0,0,0,4.59,1,6.27,6.27,0,0,0,3.77-.93A3,3,0,0,0,79,44.21a2.74,2.74,0,0,0-.36-1.43,3.44,3.44,0,0,0-1-1.07,9.22,9.22,0,0,0-1.64-.88l-2.12-.91-4.68-2a14,14,0,0,1-2.66-1.43,11.36,11.36,0,0,1-2.31-2.06,9.53,9.53,0,0,1-1.63-2.75,9.9,9.9,0,0,1-.6-3.55A9.51,9.51,0,0,1,62.87,24a10.49,10.49,0,0,1,2.64-3.41,12.9,12.9,0,0,1,4-2.29,15.31,15.31,0,0,1,5.14-.82,16.63,16.63,0,0,1,6.19,1.21,15.76,15.76,0,0,1,5.36,3.52l-4.13,5.12a15.12,15.12,0,0,0-3.52-2.12,9.83,9.83,0,0,0-3.9-.75,5.74,5.74,0,0,0-3.33.86,2.73,2.73,0,0,0-1.24,2.39,2.36,2.36,0,0,0,.41,1.4,4.1,4.1,0,0,0,1.16,1.05,12.08,12.08,0,0,0,1.73.88l2.15.91,4.62,1.87a12.66,12.66,0,0,1,5.2,3.63,9.33,9.33,0,0,1,1.89,6.1,10.14,10.14,0,0,1-3.54,7.78,13.09,13.09,0,0,1-4.27,2.42A16.71,16.71,0,0,1,73.76,54.66Z" transform="translate(-2.59 -17.48)"/><path class="b" d="M108.36,54.66a17.49,17.49,0,0,1-6.44-1.18A15.15,15.15,0,0,1,96.62,50,16.35,16.35,0,0,1,93,44.24a22.08,22.08,0,0,1-1.32-8,21.51,21.51,0,0,1,1.38-7.95,17.81,17.81,0,0,1,3.68-5.91,15.55,15.55,0,0,1,5.39-3.68,16.83,16.83,0,0,1,6.49-1.27,13.59,13.59,0,0,1,6.22,1.4,17.22,17.22,0,0,1,4.56,3.28l-4.29,5.17a13.28,13.28,0,0,0-2.89-2.07,7.23,7.23,0,0,0-3.43-.8,7.72,7.72,0,0,0-3.44.8,8.18,8.18,0,0,0-2.81,2.28,11.5,11.5,0,0,0-1.86,3.63A15.85,15.85,0,0,0,100,36q0,5.57,2.36,8.61a7.59,7.59,0,0,0,6.33,3.05,8,8,0,0,0,3.93-1,12.09,12.09,0,0,0,3-2.39L120,49.38A14.55,14.55,0,0,1,108.36,54.66Z" transform="translate(-2.59 -17.48)"/><path class="b" d="M138,54.66a16.61,16.61,0,0,1-6.63-1.29,14.4,14.4,0,0,1-5.14-3.71,17.17,17.17,0,0,1-3.33-5.89,24.22,24.22,0,0,1-1.18-7.86,24,24,0,0,1,1.18-7.84,16.29,16.29,0,0,1,3.33-5.78,14.17,14.17,0,0,1,5.14-3.57,18.34,18.34,0,0,1,13.26,0,14.09,14.09,0,0,1,5.14,3.6,16.39,16.39,0,0,1,3.32,5.8,23.82,23.82,0,0,1,1.19,7.79A24.22,24.22,0,0,1,153,43.77a17,17,0,0,1-3.32,5.89,14.49,14.49,0,0,1-5.14,3.71A16.61,16.61,0,0,1,138,54.66Zm0-7a6.7,6.7,0,0,0,5.83-3.16c1.43-2.11,2.14-5,2.14-8.6s-.71-6.4-2.14-8.42a7.12,7.12,0,0,0-11.66,0c-1.43,2-2.15,4.82-2.15,8.42s.72,6.49,2.15,8.6A6.69,6.69,0,0,0,138,47.67Z" transform="translate(-2.59 -17.48)"/><path class="b" d="M161,54V18.14h8.31L178.65,36l3.52,7.92h.22c-.19-1.91-.4-4-.64-6.38s-.35-4.58-.35-6.71V18.14h7.7V54h-8.31l-9.35-17.87-3.52-7.81h-.22c.18,2,.4,4.1.63,6.38a62.75,62.75,0,0,1,.36,6.59V54Z" transform="translate(-2.59 -17.48)"/></g></g></svg>
|
After Width: | Height: | Size: 3.7 KiB |
6
local_run/data/logo/sfscon.svg
Normal file
6
local_run/data/logo/sfscon.svg
Normal file
|
@ -0,0 +1,6 @@
|
|||
<!--
|
||||
SPDX-FileCopyrightText: 2024 NOI Techpark <digital@noi.bz.it>
|
||||
|
||||
SPDX-License-Identifier: CC0-1.0
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 186.5 37.18"><defs><style>.a{isolation:isolate;}.b{fill:#1c1c1c;}</style></defs><title>logo</title><g class="a"><g class="a"><path class="b" d="M15.85,54.66a20.05,20.05,0,0,1-7-1.29,18.42,18.42,0,0,1-6.25-3.88l4.62-5.56a17.43,17.43,0,0,0,4.27,2.7,11.07,11.07,0,0,0,4.59,1,6.29,6.29,0,0,0,3.77-.93,3,3,0,0,0,1.23-2.53,2.83,2.83,0,0,0-.35-1.43,3.44,3.44,0,0,0-1-1.07A9.71,9.71,0,0,0,18,40.83l-2.12-.91-4.67-2a13.8,13.8,0,0,1-2.67-1.43,11.92,11.92,0,0,1-2.31-2.06A9.29,9.29,0,0,1,4.63,31.7,9.68,9.68,0,0,1,4,28.15,9.38,9.38,0,0,1,5,24,10.22,10.22,0,0,1,7.6,20.59a12.74,12.74,0,0,1,4-2.29,15.35,15.35,0,0,1,5.14-.82A16.59,16.59,0,0,1,23,18.69a15.66,15.66,0,0,1,5.36,3.52l-4.12,5.12a15.54,15.54,0,0,0-3.52-2.12,9.91,9.91,0,0,0-3.91-.75,5.73,5.73,0,0,0-3.32.86,2.73,2.73,0,0,0-1.24,2.39,2.36,2.36,0,0,0,.41,1.4,4,4,0,0,0,1.16,1.05,12.08,12.08,0,0,0,1.73.88c.66.27,1.37.58,2.14.91l4.62,1.87a12.6,12.6,0,0,1,5.2,3.63,9.27,9.27,0,0,1,1.9,6.1,10.19,10.19,0,0,1-3.55,7.78,13,13,0,0,1-4.26,2.42A16.79,16.79,0,0,1,15.85,54.66Z" transform="translate(-2.59 -17.48)"/><path class="b" d="M35.48,54V18.14H58.09V25H43.57v8.3H56v6.82H43.57V54Z" transform="translate(-2.59 -17.48)"/><path class="b" d="M73.76,54.66a20.13,20.13,0,0,1-7-1.29,18.29,18.29,0,0,1-6.24-3.88l4.62-5.56a17.18,17.18,0,0,0,4.26,2.7,11.14,11.14,0,0,0,4.59,1,6.27,6.27,0,0,0,3.77-.93A3,3,0,0,0,79,44.21a2.74,2.74,0,0,0-.36-1.43,3.44,3.44,0,0,0-1-1.07,9.22,9.22,0,0,0-1.64-.88l-2.12-.91-4.68-2a14,14,0,0,1-2.66-1.43,11.36,11.36,0,0,1-2.31-2.06,9.53,9.53,0,0,1-1.63-2.75,9.9,9.9,0,0,1-.6-3.55A9.51,9.51,0,0,1,62.87,24a10.49,10.49,0,0,1,2.64-3.41,12.9,12.9,0,0,1,4-2.29,15.31,15.31,0,0,1,5.14-.82,16.63,16.63,0,0,1,6.19,1.21,15.76,15.76,0,0,1,5.36,3.52l-4.13,5.12a15.12,15.12,0,0,0-3.52-2.12,9.83,9.83,0,0,0-3.9-.75,5.74,5.74,0,0,0-3.33.86,2.73,2.73,0,0,0-1.24,2.39,2.36,2.36,0,0,0,.41,1.4,4.1,4.1,0,0,0,1.16,1.05,12.08,12.08,0,0,0,1.73.88l2.15.91,4.62,1.87a12.66,12.66,0,0,1,5.2,3.63,9.33,9.33,0,0,1,1.89,6.1,10.14,10.14,0,0,1-3.54,7.78,13.09,13.09,0,0,1-4.27,2.42A16.71,16.71,0,0,1,73.76,54.66Z" transform="translate(-2.59 -17.48)"/><path class="b" d="M108.36,54.66a17.49,17.49,0,0,1-6.44-1.18A15.15,15.15,0,0,1,96.62,50,16.35,16.35,0,0,1,93,44.24a22.08,22.08,0,0,1-1.32-8,21.51,21.51,0,0,1,1.38-7.95,17.81,17.81,0,0,1,3.68-5.91,15.55,15.55,0,0,1,5.39-3.68,16.83,16.83,0,0,1,6.49-1.27,13.59,13.59,0,0,1,6.22,1.4,17.22,17.22,0,0,1,4.56,3.28l-4.29,5.17a13.28,13.28,0,0,0-2.89-2.07,7.23,7.23,0,0,0-3.43-.8,7.72,7.72,0,0,0-3.44.8,8.18,8.18,0,0,0-2.81,2.28,11.5,11.5,0,0,0-1.86,3.63A15.85,15.85,0,0,0,100,36q0,5.57,2.36,8.61a7.59,7.59,0,0,0,6.33,3.05,8,8,0,0,0,3.93-1,12.09,12.09,0,0,0,3-2.39L120,49.38A14.55,14.55,0,0,1,108.36,54.66Z" transform="translate(-2.59 -17.48)"/><path class="b" d="M138,54.66a16.61,16.61,0,0,1-6.63-1.29,14.4,14.4,0,0,1-5.14-3.71,17.17,17.17,0,0,1-3.33-5.89,24.22,24.22,0,0,1-1.18-7.86,24,24,0,0,1,1.18-7.84,16.29,16.29,0,0,1,3.33-5.78,14.17,14.17,0,0,1,5.14-3.57,18.34,18.34,0,0,1,13.26,0,14.09,14.09,0,0,1,5.14,3.6,16.39,16.39,0,0,1,3.32,5.8,23.82,23.82,0,0,1,1.19,7.79A24.22,24.22,0,0,1,153,43.77a17,17,0,0,1-3.32,5.89,14.49,14.49,0,0,1-5.14,3.71A16.61,16.61,0,0,1,138,54.66Zm0-7a6.7,6.7,0,0,0,5.83-3.16c1.43-2.11,2.14-5,2.14-8.6s-.71-6.4-2.14-8.42a7.12,7.12,0,0,0-11.66,0c-1.43,2-2.15,4.82-2.15,8.42s.72,6.49,2.15,8.6A6.69,6.69,0,0,0,138,47.67Z" transform="translate(-2.59 -17.48)"/><path class="b" d="M161,54V18.14h8.31L178.65,36l3.52,7.92h.22c-.19-1.91-.4-4-.64-6.38s-.35-4.58-.35-6.71V18.14h7.7V54h-8.31l-9.35-17.87-3.52-7.81h-.22c.18,2,.4,4.1.63,6.38a62.75,62.75,0,0,1,.36,6.59V54Z" transform="translate(-2.59 -17.48)"/></g></g></svg>
|
After Width: | Height: | Size: 3.7 KiB |
85
local_run/db/auth_user.sql
Normal file
85
local_run/db/auth_user.sql
Normal file
|
@ -0,0 +1,85 @@
|
|||
--
|
||||
-- PostgreSQL database dump
|
||||
--
|
||||
|
||||
-- Dumped from database version 17.5 (Debian 17.5-1.pgdg120+1)
|
||||
-- Dumped by pg_dump version 17.5
|
||||
|
||||
SET statement_timeout = 0;
|
||||
SET lock_timeout = 0;
|
||||
SET idle_in_transaction_session_timeout = 0;
|
||||
SET transaction_timeout = 0;
|
||||
SET client_encoding = 'UTF8';
|
||||
SET standard_conforming_strings = on;
|
||||
SELECT pg_catalog.set_config('search_path', '', false);
|
||||
SET check_function_bodies = false;
|
||||
SET xmloption = content;
|
||||
SET client_min_messages = warning;
|
||||
SET row_security = off;
|
||||
|
||||
SET default_tablespace = '';
|
||||
|
||||
SET default_table_access_method = heap;
|
||||
|
||||
--
|
||||
-- Name: auth_user; Type: TABLE; Schema: public; Owner: mindshub
|
||||
--
|
||||
|
||||
CREATE TABLE public.auth_user (
|
||||
id integer NOT NULL,
|
||||
password character varying(128) NOT NULL,
|
||||
last_login timestamp with time zone,
|
||||
is_superuser boolean NOT NULL,
|
||||
username character varying(150) NOT NULL,
|
||||
first_name character varying(150) NOT NULL,
|
||||
last_name character varying(150) NOT NULL,
|
||||
email character varying(254) NOT NULL,
|
||||
is_staff boolean NOT NULL,
|
||||
is_active boolean NOT NULL,
|
||||
date_joined timestamp with time zone NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE public.auth_user OWNER TO mindshub;
|
||||
|
||||
--
|
||||
-- Name: auth_user_id_seq; Type: SEQUENCE; Schema: public; Owner: mindshub
|
||||
--
|
||||
|
||||
ALTER TABLE public.auth_user ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY (
|
||||
SEQUENCE NAME public.auth_user_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: auth_user auth_user_pkey; Type: CONSTRAINT; Schema: public; Owner: mindshub
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.auth_user
|
||||
ADD CONSTRAINT auth_user_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: auth_user auth_user_username_key; Type: CONSTRAINT; Schema: public; Owner: mindshub
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.auth_user
|
||||
ADD CONSTRAINT auth_user_username_key UNIQUE (username);
|
||||
|
||||
|
||||
--
|
||||
-- Name: auth_user_username_6821ab7c_like; Type: INDEX; Schema: public; Owner: mindshub
|
||||
--
|
||||
|
||||
CREATE INDEX auth_user_username_6821ab7c_like ON public.auth_user USING btree (username varchar_pattern_ops);
|
||||
|
||||
|
||||
--
|
||||
-- PostgreSQL database dump complete
|
||||
--
|
||||
|
6
local_run/db/dump.sh
Normal file
6
local_run/db/dump.sh
Normal file
|
@ -0,0 +1,6 @@
|
|||
# SPDX-FileCopyrightText: 2024 NOI Techpark <digital@noi.bz.it>
|
||||
#
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
#/bin/bash
|
||||
docker exec -i c3nav-postgres-1 su - postgres -c 'pg_dump --clean --if-exists --no-owner --exclude-table=public.auth_user c3nav' > dump.sql
|
10780
local_run/db/dump.sql
Normal file
10780
local_run/db/dump.sql
Normal file
File diff suppressed because one or more lines are too long
6
local_run/db/restore.sh
Normal file
6
local_run/db/restore.sh
Normal file
|
@ -0,0 +1,6 @@
|
|||
# SPDX-FileCopyrightText: 2024 NOI Techpark <digital@noi.bz.it>
|
||||
#
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
#/bin/bash
|
||||
cat dump.sql | docker exec -i c3nav-postgres-1 su - postgres -c 'psql c3nav'
|
57
local_run/up.sh
Executable file
57
local_run/up.sh
Executable file
|
@ -0,0 +1,57 @@
|
|||
#cd ../docker
|
||||
#docker buildx rm c3nav-local 2>/dev/null || true
|
||||
#docker buildx create --name c3nav-local --driver=docker-container --bootstrap --use
|
||||
#cd ../local_run
|
||||
docker compose down --remove-orphans
|
||||
rm -rf data || true
|
||||
cp -r data-copy data
|
||||
chmod 777 data
|
||||
docker volume rm c3nav-postgres c3nav-redis || true
|
||||
docker volume create c3nav-postgres
|
||||
docker volume create c3nav-redis
|
||||
|
||||
# Start only postgres and redis first (no build since we pre-built)
|
||||
docker compose up -d postgres redis
|
||||
sleep 10
|
||||
|
||||
|
||||
cat ./db/auth_user.sql | docker exec -i local_run-postgres-1 su - postgres -c 'psql c3nav'
|
||||
|
||||
# Create Django superuser
|
||||
|
||||
sleep 1
|
||||
|
||||
# Load database dump before starting the main app
|
||||
cat ./db/dump.sql | docker exec -i local_run-postgres-1 su - postgres -c 'psql c3nav'
|
||||
|
||||
# Fix geometry access permissions for anonymous users
|
||||
docker exec -i local_run-postgres-1 psql -U postgres -d c3nav -c "UPDATE mapdata_space SET base_mapdata_accessible = true;"
|
||||
|
||||
# Now start the main services (no build since we pre-built)
|
||||
docker compose up --build -d
|
||||
echo "Creating Django superuser"
|
||||
# docker exec -i local_run-c3nav-core-1 sh -c "echo \"from django.contrib.auth.models import User; [0].set_password('admin'); User.objects.get(username='admin').save()\" | /app/env/bin/python manage.py shell"
|
||||
docker exec -i local_run-c3nav-core-1 sh -c "echo \"
|
||||
from django.contrib.auth.models import User
|
||||
user = User.objects.get_or_create(username='admin', defaults={'email': 'admin@example.com', 'is_superuser': True, 'is_staff': True})[0]
|
||||
user.set_password('admin')
|
||||
user.save()
|
||||
print('Password set successfully for user:', user.username)
|
||||
\" | /app/env/bin/python manage.py shell"
|
||||
sleep 30
|
||||
|
||||
|
||||
# Fake apply all migrations since we loaded from dump
|
||||
docker exec -i local_run-c3nav-core-1 sh -c '/app/env/bin/python manage.py migrate --fake'
|
||||
|
||||
docker compose ps -a
|
||||
docker exec -i local_run-c3nav-core-1 sh -c '/app/env/bin/python manage.py clearmapcache --include-history --include-geometries && /app/env/bin/python manage.py collectstatic -l --no-input'
|
||||
|
||||
# Fix NumPy compatibility issue
|
||||
echo "Applying NumPy compatibility fix..."
|
||||
docker exec -i local_run-c3nav-core-1 sed -i 's/np\.fromstring(/np.frombuffer(/g' /app/c3nav/mapdata/utils/cache/indexed.py
|
||||
|
||||
# Process map updates to rebuild cache with NumPy fix
|
||||
echo "Processing map updates to rebuild cache..."
|
||||
docker exec -i local_run-c3nav-core-1 sh -c '/app/env/bin/python manage.py processupdates'
|
||||
|
|
@ -601,22 +601,9 @@ label.theme-color-label {
|
|||
|
||||
/* Snap indicator styles */
|
||||
.snap-indicator {
|
||||
transform: scale(11.6);
|
||||
transform-box: fill-box;
|
||||
transform-origin: center;
|
||||
z-index: 1000;
|
||||
pointer-events: none;
|
||||
animation: snap-pulse 1s infinite;
|
||||
}
|
||||
|
||||
@keyframes snap-pulse {
|
||||
0% {
|
||||
opacity: 0.8;
|
||||
transform: scale(1);
|
||||
}
|
||||
50% {
|
||||
opacity: 1;
|
||||
transform: scale(1.2);
|
||||
}
|
||||
100% {
|
||||
opacity: 0.8;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
|
@ -1753,7 +1753,7 @@ editor = {
|
|||
candidates.push(snapPoint);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Find the closest candidate
|
||||
if (candidates.length > 0) {
|
||||
candidates.sort(function(a, b) { return a.distance - b.distance; });
|
||||
|
@ -1800,9 +1800,10 @@ editor = {
|
|||
|
||||
// Check each edge of the geometry
|
||||
for (var i = 0; i < coordinates.length; i++) {
|
||||
|
||||
var p1 = coordinates[i];
|
||||
var p2 = coordinates[(i + 1) % coordinates.length];
|
||||
|
||||
|
||||
var snapPoint = editor._find_closest_point_on_edge(p1, p2, targetLatLng, targetMapPoint);
|
||||
if (snapPoint && snapPoint.distance < closestDistance) {
|
||||
closestDistance = snapPoint.distance;
|
||||
|
@ -1862,16 +1863,22 @@ editor = {
|
|||
|
||||
_show_snap_indicator: function(latlng) {
|
||||
editor._clear_snap_indicators();
|
||||
|
||||
var indicator = L.circleMarker(latlng, {
|
||||
radius: 4,
|
||||
color: '#ff6b6b',
|
||||
fillColor: '#ff6b6b',
|
||||
fillOpacity: 0.8,
|
||||
|
||||
var size = 0.001; // adjust this to control square size
|
||||
|
||||
var bounds = [
|
||||
[latlng.lat - size, latlng.lng - size],
|
||||
[latlng.lat + size, latlng.lng + size]
|
||||
];
|
||||
|
||||
var indicator = L.rectangle(bounds, {
|
||||
color: '#666',
|
||||
weight: 2,
|
||||
lineCap: "square",
|
||||
fillOpacity: 1.,
|
||||
className: 'snap-indicator'
|
||||
});
|
||||
|
||||
|
||||
editor._snap_indicator.addLayer(indicator);
|
||||
},
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue