>From what I see, OpenGrok indexing is very quick, even on my 10 year old PC
with 16 GB RAM. And we could trigger it less often, eg. daily.

It isn't only C++ that OpenGrok indexes, but many other languages. I used
it to search for the "portable" PKGFORMAT, and tried to understand how it
is processed and what it means, which involved Perl code.



On Thu, Sep 24, 2026 at 3:44 PM <[email protected]> wrote:

> i am sorry. I did not care much about the server. One of the first
> things i depriorized.
>
> And it seems that the server does not have the CPU power to deal with
> the re-indexing that is triggered all the time because we really moving
> now.
>
> I have added a language server Protocol tool to bazel-migration. it
> produces an xml file which resolves the uno calls in our code.
>
> Sadly the C++ resolution does not work on my experimental IDE (i tried
> lapce). But if i create maybe one that can do this too, there is no need
> for opengrok at all?
>
> Am 24.09.2026 um 15:26 schrieb Damjan Jovanovic:
> > Hi
> >
> > I've lost hope in http://opengrok.openoffice.org/ working when I need
> it,
> > and got OpenGrok running on my PC instead.
> >
> > Also recently FreeBSD finally got Podman working, which now supports
> > FreeBSD upstream, is compatible with Docker images, and able to run Linux
> > Docker containers at full performance using its Linux compatibility layer
> > :-).
> >
> > After some exploration, I got it working quite easily:
> >
> > 1. Make these directories:
> > /opt/opengrok/data - empty
> > /opt/opengrok/etc - empty
> > /opt/opengrok/openoffice-git - clean working tree with the branch you
> want
> > (eg. trunk) checked out
> >
> > 2. Copy the XML below and paste it as
> > /opt/opengrok/etc/opengrok_custom_config.xml. It was derived from
> > images/opengrok/opengrok_custom_config.xml in
> > https://gitbox.apache.org/repos/asf/openoffice-devtools.git but changed
> to
> > use 4 spaces per tab (in a way that works):
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <java version="1.8.0_121" class="java.beans.XMLDecoder">
> >    <object class="org.opengrok.indexer.configuration.Configuration"
> > id="Configuration0">
> >      <void property="projects">
> >        <void method="put">
> >          <string>openoffice-git</string>
> >          <object class="org.opengrok.indexer.configuration.Project">
> >            <void property="name">
> >              <string>openoffice-git</string>
> >            </void>
> >            <void property="path">
> >              <string>/openoffice-git</string>
> >            </void>
> >            <void property="tabSize">
> >              <int>4</int>
> >            </void>
> >          </object>
> >        </void>
> >      </void>
> >      <void id="IgnoredNames0" property="ignoredNames">
> >        <void id="IgnoredFiles0" property="ignoredFiles">
> >          <void property="items">
> >            <void method="add">
> >              <string>*.log</string>
> >            </void>
> >            <void method="add">
> >              <string>*.tmp</string>
> >            </void>
> >            <void method="add">
> >              <string>*.xls</string>
> >            </void>
> >            <void method="add">
> >              <string>*.jpg</string>
> >            </void>
> >            <void method="add">
> >              <string>*.ods</string>
> >            </void>
> >            <void method="add">
> >              <string>*.otp</string>
> >            </void>
> >            <void method="add">
> >              <string>*.ods</string>
> >            </void>
> >            <void method="add">
> >              <string>*.odt</string>
> >            </void>
> >            <void method="add">
> >              <string>*.zip</string>
> >            </void>
> >            <void method="add">
> >              <string>*.txt</string>
> >            </void>
> >          </void>
> >        </void>
> >      </void>
> >   </object>
> > </java>
> >
> >
> > 3. podman run \
> >    --name opengrok-aoo \
> >    -d \
> >    --restart=unless-stopped \
> >    -v
> >
> /opt/opengrok/etc/opengrok_custom_config.xml:/opengrok/etc/opengrok_custom_config.xml
> > \
> >    -v /opt/opengrok/openoffice-git:/opengrok/src/openoffice-git \
> >    -v /opt/opengrok/data:/opengrok/data \
> >    -v /etc/localtime:/etc/localtime:ro \
> >    -e READONLY_CONFIG_FILE=/opengrok/etc/opengrok_custom_config.xml \
> >    -e SYNC_PERIOD_MINUTES=0 \
> >    -e NOMIRROR=1 \
> >    --network=host \
> >    docker.io/opengrok/docker:latest
> >
> > On FreeBSD you also need:
> >    --os linux
> >    -v /compat/linux/proc:/proc
> > to enable Linux compatibility, and mount linprocfs from the host's
> > /compat/linux/proc to the container's /proc.
> >
> > Note how:
> > - you can replace "podman" with "docker", they use the same command line
> > options.
> > - mounting into /opengrok/data persists data across restarts.
> > - mounting /etc/localtime is for timezone.
> > - I needed "--network=host" but "-p 8080:8080" should also work, still
> > investigating.
> > - the syncing and mirroring could also be left on.
> > - podman wants the full URL docker.io/opengrok/docker:latest instead of
> > opengrok/docker:latest, it's also more secure that way.
> > - you can monitor logs with "podman logs -f opengrok-aoo".
> >
> > It works remarkably well and requires no further setup, just visit
> > http://localhost:8080 and start using it :-). The project will only
> become
> > visible after indexing finishes, which took about 15 minutes after first
> > start for me.
> >
> > If it takes a long time to start indexing, that's because it uselessly
> > tries to contact a Perforce server (
> > https://github.com/oracle/opengrok/discussions/4572). It's possible to
> > shell into the container and uninstall the Perforce apt packages to skip
> > that, as described on that bug report.
> >
> > Don't use your main working tree because it will index binaries and
> > generated files, and chown all your files to user:group 1111:1111. Use a
> > separate, clean working tree, with no generated files.
> >
> > It's also MUCH faster locally :-), due to shorter round-trip times.
> >
> > Regards
> > Damjan
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to