Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
<<EOT
# Build-time dependencies
apt-get -qq update
apt-get install -y --no-install-recommends curl ca-certificates gnupg
apt-get install -y --no-install-recommends curl ca-certificates gnupg cmake g++ libpdal-dev
# Python 3.9 support
curl -fsSL 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xf23c5a6cf475977595c89f51ba6932366a755776' | gpg --dearmor -o /etc/apt/trusted.gpg.d/deadsnakes.gpg
echo "deb http://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu $RELEASE_CODENAME main" > /etc/apt/sources.list.d/deadsnakes.list
Expand All @@ -58,6 +58,11 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
libgdal-dev nginx certbot gettext-base cron postgresql-client gettext tzdata
# Create virtualenv
python$PYTHON_VERSION -m venv $WORKDIR/venv
# Build entwine
mkdir /staging && cd /staging
git clone -b 290 https://github.com/OpenDroneMap/entwine && cd entwine
mkdir build && cd build && cmake .. -DWITH_TESTS=OFF -DWITH_ZSTD=OFF -DCMAKE_INSTALL_PREFIX=/staging/entwine/build/install && make -j6 && make install
cd /webodm
EOT

# Modify PATH to prioritize venv, effectively activating venv
Expand Down Expand Up @@ -147,6 +152,8 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
rm -rf /tmp/* /var/tmp/*
EOT

COPY --from=build /staging/entwine/build/install/bin/entwine /usr/bin/entwine
COPY --from=build /staging/entwine/build/install/lib/libentwine* /usr/lib/
COPY --from=build $WORKDIR ./

VOLUME /webodm/app/media
4 changes: 4 additions & 0 deletions app/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
from app.models import Preset
from app.models import Plugin
from app.models import Profile
from app.models import Redirect
from app.plugins import get_plugin_by_name, enable_plugin, disable_plugin, delete_plugin, valid_plugin, \
get_plugins_persistent_path, clear_plugins_cache, init_plugins
from .models import Project, Task, Setting, Theme
Expand Down Expand Up @@ -96,6 +97,9 @@ class ThemeAdmin(admin.ModelAdmin):
admin.site.register(Theme, ThemeAdmin)
admin.site.register(PluginDatum, admin.ModelAdmin)

if settings.CLUSTER_ID is not None:
admin.site.register(Redirect, admin.ModelAdmin)


class PluginAdmin(admin.ModelAdmin):
list_display = ("name", "description", "version", "author", "enabled", "plugin_actions")
Expand Down
Loading