Skip to content

Commit 6117cc5

Browse files
committed
Implemented openmvgo
1 parent 000fd53 commit 6117cc5

5 files changed

Lines changed: 433 additions & 328 deletions

File tree

app/Dockerfile.dev

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -43,40 +43,49 @@ RUN git clone --branch develop --depth=1 https://github.com/cdcseacave/openMVS.g
4343
# ------------------------------
4444
# Stage 3: Build Blender (minimal)
4545
# ------------------------------
46-
FROM ubuntu:22.04 AS blender_builder
47-
48-
RUN apt-get update && apt-get install -y --no-install-recommends \
49-
wget xz-utils && \
50-
rm -rf /var/lib/apt/lists/*
51-
52-
RUN wget -q https://download.blender.org/release/Blender4.4/blender-4.4.0-linux-x64.tar.xz --no-check-certificate && \
53-
mkdir -p /opt/blender && \
54-
tar -xf blender-4.4.0-linux-x64.tar.xz -C /opt/blender --strip-components=1 && \
55-
rm blender-4.4.0-linux-x64.tar.xz
46+
FROM linuxserver/blender:4.4.3 AS blender_builder
5647

5748
# -------------------------
5849
# Stage 4: Dev Environment
5950
# -------------------------
60-
FROM ubuntu:latest AS final
51+
FROM ubuntu:22.04 AS final
52+
53+
ENV TZ=UTC
54+
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
55+
56+
RUN sed -i'' 's/archive\.ubuntu\.com/us\.archive\.ubuntu\.com/' /etc/apt/sources.list
6157

62-
RUN apt-get update && apt-get install -y wget xz-utils libcgal-qt5-dev \
63-
libceres-dev libboost-all-dev libopencv-dev build-essential && \
64-
wget https://download.blender.org/release/Blender4.4/blender-4.4.0-linux-x64.tar.xz && \
65-
wget https://go.dev/dl/go1.23.8.linux-amd64.tar.gz && \
58+
# Create non-root user
59+
RUN groupadd -r appuser && useradd -r -g appuser -s /bin/false appuser
60+
61+
ENV DEBIAN_FRONTEND=noninteractive
62+
ARG DEBIAN_FRONTEND=noninteractive
63+
64+
# Install only runtime dependencies
65+
# Seperate for cache issues
66+
RUN apt-get -y update
67+
RUN apt-get install -y --no-install-recommends \
68+
libcgal-qt5-dev libceres2 libboost-system1.74.0 libboost-filesystem1.74.0 \
69+
build-essential \
70+
libboost-program-options1.74.0 libboost-serialization1.74.0 \
71+
libopencv-core4.5d libopencv-imgproc4.5d libopencv-imgcodecs4.5d \
72+
libjpeg8 libpng16-16 libtiff5 libglu1-mesa libglew2.2 \
73+
libglfw3 libgomp1 ca-certificates curl wget libboost-all-dev libopencv-dev \
74+
xorg && \
75+
apt-get clean && rm -rf /var/lib/apt/lists/*
76+
77+
RUN wget https://go.dev/dl/go1.23.8.linux-amd64.tar.gz && \
6678
tar -C /usr/local -xzf go1.23.8.linux-amd64.tar.gz && \
6779
rm -rf go1.23.8.linux-amd64.tar.gz && \
6880
apt-get clean && rm -rf /var/lib/apt/lists/*
6981

70-
# RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o server
71-
# RUN chmod +x ./server
72-
7382
# Copy OpenMVG and OpenMVS builds from cv_builder
7483
COPY --from=cv_builder /openMVG_build/Linux-x86_64-RELEASE /usr/local/bin
7584
COPY --from=cv_builder /openMVS_build/bin /usr/local/bin
7685

7786
# Copy Blender (only essential parts)
78-
COPY --from=blender_builder /opt/blender/blender /usr/local/bin/blender
79-
COPY --from=blender_builder /opt/blender/4.4/ /opt/blender/4.4/
87+
COPY --from=blender_builder /blender /opt/blender
88+
ENV PATH="/opt/blender:$PATH"
8089

8190
ENV PATH="$PATH:/usr/local/go/bin:/root/go/bin"
8291

app/go.mod

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
module github.com/Soup666/modelmaker
22

3-
go 1.24
4-
5-
toolchain go1.24.2
3+
go 1.24.3
64

75
require (
86
firebase.google.com/go/v4 v4.15.2
7+
github.com/2024-dissertation/openmvgo v1.0.5
98
github.com/appleboy/go-fcm v1.2.5
109
github.com/bodgit/sevenzip v1.6.1
1110
github.com/gin-gonic/gin v1.10.0

app/go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ cloud.google.com/go/trace v1.11.6/go.mod h1:GA855OeDEBiBMzcckLPE2kDunIpC72N+Pq8W
4343
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
4444
firebase.google.com/go/v4 v4.15.2 h1:KJtV4rAfO2CVCp40hBfVk+mqUqg7+jQKx7yOgFDnXBg=
4545
firebase.google.com/go/v4 v4.15.2/go.mod h1:qkD/HtSumrPMTLs0ahQrje5gTw2WKFKrzVFoqy4SbKA=
46+
github.com/2024-dissertation/openmvgo v1.0.5 h1:juKy2McCKfqj7eZSLbKhxk1UQqDxu+6JdwB/4hn41fQ=
47+
github.com/2024-dissertation/openmvgo v1.0.5/go.mod h1:J/Jz76PZhkdjLc7+p3mp7BnpkxbWWVeKQDM5SlvpcCo=
4648
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
4749
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
4850
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0 h1:ErKg/3iS1AKcTkf3yixlZ54f9U1rljCkQyEXWUnIUxc=
@@ -304,6 +306,8 @@ go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5J
304306
go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w=
305307
go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs=
306308
go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc=
309+
go.uber.org/mock v0.5.2 h1:LbtPTcP8A5k9WPXj54PPPbjcI4Y6lhyOZXn+VS7wNko=
310+
go.uber.org/mock v0.5.2/go.mod h1:wLlUxC2vVTPTaE3UD51E0BGOAElKrILxhVSDYQLld5o=
307311
go4.org v0.0.0-20200411211856-f5505b9728dd h1:BNJlw5kRTzdmyfh5U8F93HA2OwkP7ZGwA51eJ/0wKOU=
308312
go4.org v0.0.0-20200411211856-f5505b9728dd/go.mod h1:CIiUVy99QCPfoE13bO4EZaz5GZMZXMSBGhxRdsvzbkg=
309313
golang.org/x/arch v0.14.0 h1:z9JUEZWr8x4rR0OU6c4/4t6E6jOZ8/QBS2bBYBm4tx4=

app/services/task_service.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ type TaskService interface {
1818
UnarchiveTask(taskID uint) (*model.Task, error)
1919
SaveTask(task *model.Task) error
2020
FailTask(task *model.Task, message string) error
21-
RunPhotogrammetryProcess(task *model.Task) error
21+
// RunPhotogrammetryProcess(task *model.Task) error
2222
UpdateMeta(task *model.Task, key string, value interface{}) error
2323
FullyLoadTask(task *model.Task) (*model.Task, error)
2424
SendMessage(taskID uint, message string, sender string) (*model.ChatMessage, error)

0 commit comments

Comments
 (0)