You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openoffice.apache.org by Damjan Jovanovic <da...@apache.org> on 2026/09/24 13:26:34 UTC

Running OpenGrok locally instead

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

Re: Running OpenGrok locally instead

Posted by Pe...@apache.org.
Am 25.09.2026 um 04:04 schrieb Damjan Jovanovic:
> Maybe the data/ files get slower over time and need to be deleted once in a
> while, maybe it's slow because it indexes 3 branches at the same time. We
> should be able to improve it either way.
>
> Would you like me to take over maintenance of that OpenGrok server?

Of course. have a look. maybe the machine does not have the power it 
should have. it is under heavy load.

and the only big user is currently the indexer. I set it to 3h 
timescale. And maybe they got stuck.

here is the documentation:

https://cwiki.apache.org/confluence/spaces/OOOUSERS/pages/318606719/VM+management

we use docker not podman.

here is the open-compose.yaml 
https://github.com/apache/openoffice-devtools/blob/migration-translation-opengrok/images/opengrok/docker-compose.yaml

i wanted to do some changes. So test has an update i never released

>
> On Thu, Sep 24, 2026 at 9:29 PM <Pe...@apache.org> wrote:
>
>> Am 24.09.2026 um 20:21 schrieb Damjan Jovanovic:
>>>   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.
>> The server needs hours. lol.
>>> 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 <Pe...@apache.org> 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: dev-unsubscribe@openoffice.apache.org
>>>> For additional commands, e-mail: dev-help@openoffice.apache.org
>>>>
>>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
>> For additional commands, e-mail: dev-help@openoffice.apache.org
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
For additional commands, e-mail: dev-help@openoffice.apache.org


Re: Running OpenGrok locally instead

Posted by Damjan Jovanovic <da...@apache.org>.
Maybe the data/ files get slower over time and need to be deleted once in a
while, maybe it's slow because it indexes 3 branches at the same time. We
should be able to improve it either way.

Would you like me to take over maintenance of that OpenGrok server?

On Thu, Sep 24, 2026 at 9:29 PM <Pe...@apache.org> wrote:

>
> Am 24.09.2026 um 20:21 schrieb Damjan Jovanovic:
> >  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.
> The server needs hours. lol.
> >
> > 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 <Pe...@apache.org> 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: dev-unsubscribe@openoffice.apache.org
> >> For additional commands, e-mail: dev-help@openoffice.apache.org
> >>
> >>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
> For additional commands, e-mail: dev-help@openoffice.apache.org
>
>

Re: Running OpenGrok locally instead

Posted by Pe...@apache.org.
Am 24.09.2026 um 20:21 schrieb Damjan Jovanovic:
>  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.
The server needs hours. lol.
>
> 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 <Pe...@apache.org> 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: dev-unsubscribe@openoffice.apache.org
>> For additional commands, e-mail: dev-help@openoffice.apache.org
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
For additional commands, e-mail: dev-help@openoffice.apache.org


Re: Running OpenGrok locally instead

Posted by Dick Groskamp <di...@apache.org>.

On 2026/10/03 16:51:01 Dave Fisher wrote:
> 
> 
> > On Oct 3, 2026, at 5:14 AM, Dick Groskamp <di...@apache.org> wrote:
> > 
> > 
> > 
> > On 2026/09/24 18:21:37 Damjan Jovanovic wrote:
> >> 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 <Pe...@apache.org> 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: dev-unsubscribe@openoffice.apache.org
> >>> For additional commands, e-mail: dev-help@openoffice.apache.org
> >>> 
> >>> 
> >> Just set it up on my Win11. It works :-)
> > Used the excellent explaining from William Leara <url>https://www.basicinputoutput.com/2024/04/opengrok-your-way-to-success.html</url> and managed to get through it
> > (mind you I'm no technician at all)
> > 
> > Only thing I ran into was that openGrok doesn't (yet) support Tomcat 11!
> > Found that out after two days of trying.
> > Installed Tomcat 10 and ran like clockwork.
> 
> If you wish to help manage a VM then we can guide you on how to get the proper permissions in place.
> 
> Best,
> Dave
> 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
> > For additional commands, e-mail: dev-help@openoffice.apache.org
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
> For additional commands, e-mail: dev-help@openoffice.apache.org
> 
Thanks for the offer, but that is out of my league.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
For additional commands, e-mail: dev-help@openoffice.apache.org


Re: Running OpenGrok locally instead

Posted by Dave Fisher <wa...@apache.org>.

> On Oct 3, 2026, at 5:14 AM, Dick Groskamp <di...@apache.org> wrote:
> 
> 
> 
> On 2026/09/24 18:21:37 Damjan Jovanovic wrote:
>> 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 <Pe...@apache.org> 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: dev-unsubscribe@openoffice.apache.org
>>> For additional commands, e-mail: dev-help@openoffice.apache.org
>>> 
>>> 
>> Just set it up on my Win11. It works :-)
> Used the excellent explaining from William Leara <url>https://www.basicinputoutput.com/2024/04/opengrok-your-way-to-success.html</url> and managed to get through it
> (mind you I'm no technician at all)
> 
> Only thing I ran into was that openGrok doesn't (yet) support Tomcat 11!
> Found that out after two days of trying.
> Installed Tomcat 10 and ran like clockwork.

If you wish to help manage a VM then we can guide you on how to get the proper permissions in place.

Best,
Dave

> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
> For additional commands, e-mail: dev-help@openoffice.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
For additional commands, e-mail: dev-help@openoffice.apache.org


Re: Running OpenGrok locally instead

Posted by Dick Groskamp <di...@apache.org>.

On 2026/09/24 18:21:37 Damjan Jovanovic wrote:
> 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 <Pe...@apache.org> 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: dev-unsubscribe@openoffice.apache.org
> > For additional commands, e-mail: dev-help@openoffice.apache.org
> >
> >
> Just set it up on my Win11. It works :-)
Used the excellent explaining from William Leara <url>https://www.basicinputoutput.com/2024/04/opengrok-your-way-to-success.html</url> and managed to get through it
(mind you I'm no technician at all)

Only thing I ran into was that openGrok doesn't (yet) support Tomcat 11!
Found that out after two days of trying.
Installed Tomcat 10 and ran like clockwork.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
For additional commands, e-mail: dev-help@openoffice.apache.org


Re: Running OpenGrok locally instead

Posted by Damjan Jovanovic <da...@apache.org>.
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 <Pe...@apache.org> 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: dev-unsubscribe@openoffice.apache.org
> For additional commands, e-mail: dev-help@openoffice.apache.org
>
>

Re: Running OpenGrok locally instead

Posted by Pe...@apache.org.
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: dev-unsubscribe@openoffice.apache.org
For additional commands, e-mail: dev-help@openoffice.apache.org