Coder Social home page Coder Social logo

Solr instal about docker-foswiki HOT 72 CLOSED

timlegge avatar timlegge commented on July 18, 2024
Solr instal

from docker-foswiki.

Comments (72)

timlegge avatar timlegge commented on July 18, 2024

Hi

I will have to check my install tomorrow to be sure but I likely used something like:

sudo docker network create foswiki_net

sudo docker run --rm --network=foswiki_net --name docker-foswiki -idt -p 80:80 -p 443:443 -v foswiki_www:/var/www/foswiki:z -v nginx:/etc/nginx:z timlegge/docker-foswiki:v1.06

sudo docker run --rm --network=foswiki_net --name my_solr -d -P -idt -p 8983:8983 -v solr:/var/log/solr:z solr

That creates a new network that can be used between the containers. At that point you can use my_solr as the host name in foswiki.

At this point you can copy the required files from the foswiki volume to the solr volume

Version may be an issue as I forget off hand which solr version will work.

I will take a look at the install tonight to see if I can replicate it. I was planning to document it anyway.

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

So, the schema in the foswiki configs does not work with version 8 so:

sudo docker run --rm --network=foswiki_net --name my_solr -d -P -idt -p 8983:8983 -v solr:/var/log/solr:z -v solr_data:/var/solr/data:z solr:7

Works
then:

cd /var/lib/docker/volumes/solr_data/_data/
cp -r ../../foswiki_www/_data/solr/cores .
mkdir configsets
cd configsets
cp -r ../../../foswiki_www/_data/solr/configsets .

That should get you a semi working solr install

Note the docs say to link the directories but I forget what exactly I did

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

sudo docker run --rm --network=foswiki_net --name my_solr -d -P -idt -p 8983:8983 -v solr:/var/log/solr:z -v solr_home:/opt/solr/server/solr:z solr:5

The above will get a working install after you copy the files in place and change the permissions

sudo docker stop my_solr
sudo docker run --rm --network=foswiki_net --name my_solr -d -P -idt -p 8983:8983 -v solr:/var/log/solr:z -v solr_home:/opt/solr/server/solr:z --user=root solr:5

docker exec -it my_solr /bin/sh
chown -R solr:solr /opt/solr/server/solr
exit
sudo docker run --rm --network=foswiki_net --name my_solr -d -P -idt -p 8983:8983 -v solr:/var/log/solr:z -v solr_home:/opt/solr/server/solr:z solr:5

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

I've made some progress on updating the solr configs for foswiki to support 6.6 of Solr in the attached file.

sudo docker run --rm --network=foswiki_net --name my_solr -d -P -idt -p 8983:8983 -v solr_home6:/opt/solr/server/solr:z -v solr_home7:/var/solr solr:6

solr6.6.6.tar.gz

Let me know if it works for you

from docker-foswiki.

MichaelDaum avatar MichaelDaum commented on July 18, 2024

Awesome. I'll have a look at it and merge it with the next upcoming changes.

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

And for 7.7.2
solr7.7.2.tar.gz

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

Here is a command that seems to work well for solr. It creates volumes for the logs, configsets and cores. It also mounts the volume that the foswiki container uses. Because of that the instructions to do symbolic links will work fine.

sudo docker run --rm --network foswiki-net --name my_solr -d -P
-v solr_logs:/opt/solr/server/logs:z
-v solr_configsets:/opt/solr/server/solr/configsets:z
-v solr_foswiki:/opt/solr/server/solr/solr_foswiki:z
-v foswiki_www:/var/www/foswiki:z
-e GC_LOG_OPTS='' -e SOLR_LOG_LEVEL='WARN' -t solr:5

If you choose to use the update solr 6 or 7 configs from above use solr:6 or solr:7

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

I'll let you know. Many thanks !
I am trying to set up a docker-compose.yml, that will ease the setup I guess

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

I've made some progress. I have a docker-compose.yml file which works fine, that reproduces the volumes and environment variables that you have described previously :

I m using local port 8765 to access foswiki locally.

version: '3'

services:
  foswiki:
    image: timlegge/docker-foswiki
    container_name: foswiki
    depends_on:
      - solr
    ports:
      - 8765:80
    volumes:
      - solr_logs:/opt/solr/server/logs
      - solr_configsets:/opt/solr/server/solr/configsets
      - solr_foswiki:/opt/solr/server/solr/solr_foswiki
      - foswiki_www:/var/www/foswiki
    networks:
      - foswiki-network

  solr:
    image: solr:5
    container_name: solr
    # only to have access to solr console, delete in prodcution
    ports:
      - 8983:8983
    volumes:
      - solr_logs:/opt/solr/server/logs
      - solr_configsets:/opt/solr/server/solr/configsets
      - solr_foswiki:/opt/solr/server/solr/solr_foswiki
      - foswiki_www:/var/www/foswiki
    environment:
      - GC_LOG_OPTS=''
      - SOLR_LOG_LEVEL='WARN'
    networks:
      - foswiki-network

volumes:
  foswiki_www:
  solr_logs:
  solr_configsets:
  solr_foswiki:

networks:
  foswiki-network:

Then I run the following two commands (later will be included somehow in the compose file), and restart the solr container :

cd /opt/solr/server/solr/configsets   ; ln -s /var/www/foswiki/solr/configsets/foswiki_configs/ .
cd /opt/solr/server/solr/solr_foswiki ; ln -s /var/www/foswiki/solr/cores/foswiki/core.properties .

Most probably the second line of commands is not correct. I see in the logs that the foswiki configset is read, but it crashes after that about the core :

...
solr       | 1263 INFO  (main) [   ] o.a.s.c.CorePropertiesLocator Looking for core definitions underneath /opt/solr/server/solr
solr       | 1282 INFO  (main) [   ] o.a.s.c.CoreDescriptor Created CoreDescriptor: {name=foswiki, config=solrconfig.xml, transient=false, schema=schema.xml, loadOnStartup=true, configSetProperties=configsetprops.json, configSet=foswiki_configs, solr.autoSoftCommit.maxTime=6000, solr.autoCommit.maxTime=15000, dataDir=data/}
solr       | 1282 INFO  (main) [   ] o.a.s.c.CorePropertiesLocator Found core foswiki in /opt/solr/server/solr/solr_foswiki
solr       | 1282 INFO  (main) [   ] o.a.s.c.CorePropertiesLocator Found 1 core definitions
solr       | 1288 INFO  (coreLoadExecutor-6-thread-1) [   ] o.a.s.c.SolrResourceLoader new SolrResourceLoader for directory: '/opt/solr/server/solr/configsets/foswiki_configs'
solr       | 1289 INFO  (coreLoadExecutor-6-thread-1) [   ] o.a.s.c.SolrResourceLoader JNDI not configured for solr (NoInitialContextEx)
solr       | 1289 INFO  (coreLoadExecutor-6-thread-1) [   ] o.a.s.c.SolrResourceLoader using system property solr.solr.home: /opt/solr/server/solr
solr       | 1294 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter user.dir=/opt/solr/server
solr       | 1294 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter SolrDispatchFilter.init() done
solr       | 1314 INFO  (main) [   ] o.e.j.s.h.ContextHandler Started o.e.j.w.WebAppContext@3e6fa38a{/solr,file:/opt/solr/server/solr-webapp/webapp/,AVAILABLE}{/opt/solr/server/solr-webapp/webapp}
solr       | 1330 INFO  (main) [   ] o.e.j.s.ServerConnector Started ServerConnector@57cf54e1{HTTP/1.1}{0.0.0.0:8983}
solr       | 1330 INFO  (main) [   ] o.e.j.s.Server Started @1655ms
...
solr       | 1588 INFO  (coreLoadExecutor-6-thread-1) [   ] o.a.s.c.SolrConfig Using Lucene MatchVersion: 5.0.0
solr       | 1777 INFO  (coreLoadExecutor-6-thread-1) [   ] o.a.s.c.SolrConfig Loaded SolrConfig: solrconfig.xml
solr       | 1881 INFO  (coreLoadExecutor-6-thread-1) [   ] o.a.s.s.IndexSchema [foswiki] Schema name=foswiki
solr       | 2421 INFO  (coreLoadExecutor-6-thread-1) [   ] o.a.s.s.IndexSchema default search field in schema is catchall
solr       | 2422 INFO  (coreLoadExecutor-6-thread-1) [   ] o.a.s.s.IndexSchema query parser default operator is AND
solr       | 2424 INFO  (coreLoadExecutor-6-thread-1) [   ] o.a.s.s.IndexSchema unique key field: id
solr       | 2554 INFO  (coreLoadExecutor-6-thread-1) [   ] o.a.s.s.FileExchangeRateProvider Reloading exchange rates from file currency.xml
solr       | 2560 INFO  (coreLoadExecutor-6-thread-1) [   ] o.a.s.s.FileExchangeRateProvider Reloading exchange rates from file currency.xml
solr       | 2718 INFO  (coreLoadExecutor-6-thread-1) [   ] o.a.s.c.ConfigSetProperties Did not find ConfigSet properties, assuming default properties: Can't find resource 'configsetprops.json' in classpath or '/opt/solr/server/solr/configsets/foswiki_configs'
solr       | 2718 INFO  (coreLoadExecutor-6-thread-1) [   ] o.a.s.c.CoreContainer Creating SolrCore 'foswiki' using configuration from configset /opt/solr/server/solr/configsets/foswiki_configs
solr       | 2748 INFO  (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.c.SolrCore solr.NRTCachingDirectoryFactory
solr       | 2763 INFO  (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.c.SolrCore [[foswiki] ] Opening new SolrCore at [/opt/solr/server/solr/configsets/foswiki_configs], dataDir=[/opt/solr/server/solr/solr_foswiki/data/]
solr       | 2765 INFO  (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.c.JmxMonitoredMap No JMX servers found, not exposing Solr information with JMX.
solr       | 2768 INFO  (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.c.SolrCore [[foswiki] ] Added SolrEventListener for newSearcher: [org.apache.solr.core.QuerySenderListener{queries=[{q=foswiki}]}]
solr       | 2768 INFO  (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.c.SolrCore [[foswiki] ] Added SolrEventListener for firstSearcher: [org.apache.solr.core.QuerySenderListener{queries=[{q=foswiki}]}]
solr       | 2771 INFO  (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.c.SchemaCodecFactory Using default compressionMode: BEST_SPEED
solr       | 2798 ERROR (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.c.SolrCore :java.nio.file.AccessDeniedException: /opt/solr/server/solr/solr_foswiki/data
...
solr       | 2799 INFO  (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.c.SolrCore New index directory detected: old=null new=/opt/solr/server/solr/solr_foswiki/data/index/
solr       | 2800 WARN  (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.c.SolrCore [foswiki] Solr index directory '/opt/solr/server/solr/solr_foswiki/data/index' doesn't exist. Creating new index...
solr       | 2813 INFO  (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.c.SolrCore [foswiki]  CLOSING SolrCore org.apache.solr.core.SolrCore@1b62f8c4
solr       | 2814 INFO  (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.u.SolrCoreState Closing SolrCoreState
solr       | 2814 INFO  (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.u.DefaultSolrCoreState SolrCoreState ref count has reached 0 - closing IndexWriter
solr       | 2814 INFO  (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.c.SolrCore [foswiki] Closing main searcher on request.
solr       | 2814 INFO  (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.c.CachingDirectoryFactory Closing NRTCachingDirectoryFactory - 0 directories currently being tracked
solr       | 2815 ERROR (coreLoadExecutor-6-thread-1) [   x:foswiki] o.a.s.c.CoreContainer Error creating core [foswiki]: /opt/solr/server/solr/solr_foswiki/data
solr       | org.apache.solr.common.SolrException: /opt/solr/server/solr/solr_foswiki/data
...

I am not too much familiar with the foswiki / solr config. Any idea of whats wrong ?

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

I can give your docker-compose file a shot tonight. Will let you know

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

Here is an improved version of the docker-compose.yml file. It uses a third container, named setup, which only purpose is to create the necessary symlinks at startup time (since the command cant be used, since it overrides the container startup command, found this method here.

Still having problems, most probably an issue with these symlinks : solr does not have access to foswiki data : java.nio.file.AccessDeniedException: /opt/solr/server/solr/solr_foswiki/data

Here is the file :

version: '3'

services:
  foswiki:
    image: timlegge/docker-foswiki
    container_name: foswiki
    ports:
      - 8765:80
    volumes:
      - solr_logs:/opt/solr/server/logs
      - solr_configsets:/opt/solr/server/solr/configsets
      - solr_foswiki:/opt/solr/server/solr/solr_foswiki
      - foswiki_www:/var/www/foswiki
    networks:
      - foswiki-network

  setup:
    image: alpine:latest
    container_name: setup
    depends_on:
      - foswiki
    volumes:
      - solr_configsets:/opt/solr/server/solr/configsets
      - solr_foswiki:/opt/solr/server/solr/solr_foswiki
    command: sh -c "cd /opt/solr/server/solr/configsets ; [ -L foswiki_configs ] && rm foswiki_configs ; ln -s /var/www/foswiki/solr/configsets/foswiki_configs/ . ; cd /opt/solr/server/solr/solr_foswiki ; [ -L core.properties ] && rm core.properties ; ln -s /var/www/foswiki/solr/cores/foswiki/core.properties ."

  solr:
    image: solr:5
    container_name: solr
    depends_on:
      - setup
    # only usefull to have access to solr console, will be delete in production
    ports:
      - 8983:8983
    volumes:
      - solr_logs:/opt/solr/server/logs
      - solr_configsets:/opt/solr/server/solr/configsets
      - solr_foswiki:/opt/solr/server/solr/solr_foswiki
      - foswiki_www:/var/www/foswiki
    environment:
      - GC_LOG_OPTS=''
      - SOLR_LOG_LEVEL='WARN'
    networks:
      - foswiki-network

volumes:
  foswiki_www:
  solr_logs:
  solr_configsets:
  solr_foswiki:

networks:
  foswiki-network:

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

Add

; chown -R 8983:8983 /opt/solr/server/solr

to the command in the setup

Tim

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

A working version:

version: '3'

services:
  foswiki:
    image: timlegge/docker-foswiki
    container_name: foswiki
    ports:
      - 8765:80
    volumes:
      - solr_logs:/opt/solr/server/logs:z
      - solr_configsets:/opt/solr/server/solr/configsets:z
      - solr_foswiki:/opt/solr/server/solr/solr_foswiki:z
      - foswiki_www:/var/www/foswiki:z
    networks:
      - foswiki-network

  setup:
    image: alpine:latest
    container_name: setup
    depends_on:
      - foswiki
    volumes:
      - solr_configsets:/opt/solr/server/solr/configsets:z
      - solr_foswiki:/opt/solr/server/solr/solr_foswiki:z
      - foswiki_www:/var/www/foswiki:z
    command: sh -c "cd /var/www/foswiki; chown -R 8983:8983 solr; cd /opt/solr/server/solr/configsets ; [ -L foswiki_configs ] && rm foswiki_configs ; ln -s /var/www/foswiki/solr/configsets/foswiki_configs/ . ; cd /opt/solr/server/solr/solr_foswiki ; [ -L core.properties ] && rm core.properties ; ln -s /var/www/foswiki/solr/cores/foswiki/core.properties ; chown -R 8983:8983 /opt/solr/server/solr ."

  solr:
    image: solr:5
    container_name: solr
    depends_on:
      - setup
    # only usefull to have access to solr console, will be delete in production
    ports:
      - 8983:8983
    volumes:
      - solr_logs:/opt/solr/server/logs:z
      - solr_configsets:/opt/solr/server/solr/configsets:z
      - solr_foswiki:/opt/solr/server/solr/solr_foswiki:z
      - foswiki_www:/var/www/foswiki:z
    environment:
      - GC_LOG_OPTS=''
      - SOLR_LOG_LEVEL='WARN'
    networks:
      - foswiki-network

volumes:
  foswiki_www:
  solr_logs:
  solr_configsets:
  solr_foswiki:

networks:
  foswiki-network:

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

The above also required:
cd /var/www/foswiki; chown -R 8983:8983 solr;
to be added to the setup

Once that is done you need to update the solr URL in foswiki to be:

http://solr:8983/solr/foswiki

The container name "solr" is used as the hostname. Since both share the same network docker resolves solr to the ip of the container.

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

I pushed a new version of the docker image that fixes an issue: TopicTitlePlugin needs to be enabled for SolrPlugin to work

I also updated the setup command in the docker-compose to change the Solr Plugin URL to point to the solr docker in the foswiki settings.

At this point your docker-compose results in a working install that will allow you to successfully test the Solr foswiki integration

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

Thanks a lot, it seems to work great.
Do you think we should modify things so that Solr 8 is by default ?

Also, my goal is to have this setup + Natskin, IMHO much better looking than the default skin.
Would you consider including this in you setup ? I have to do it anyway, so I can submit this to you when its done. Let me know !

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

Hi Tim,

I am having hard time with NatSkin. I've enabled it within SitePreferences but lot of macros are not working (which are perfectly working under the default skin).

See the attached screenshot :

Main   Foswiki

I've tried to fix all warnings and issues within bin/configure, also to test different NatSkin variations but no luck so far. The NatEdit works fine.

Any idea ?

Michel

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

Probably a few plugins not enabled. Let me look

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

I've also tried to remove and reinstall all the 3 Nat plugins, no more luck :-\

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

A number of Plugins are not enabled as they are installed as dependancys of other plugins. They include:
{Plugins}{AutoTemplatePlugin}{Enabled}
{Plugins}{AutoTemplatePlugin}{Enabled}
{Plugins}{DBCachePlugin}{Enabled}
{Plugins}{FlexFormPlugin}{Enabled}
{Plugins}{FlexWebListPlugin}{Enabled}
{Plugins}{PubLinkFixupPlugin}{Enabled}
{Plugins}{WebLinkPlugin}{Enabled}

Enable them manually for now but the best bet is for me to enable them in the Docker Image.

Tim

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

v1.08 (latest was pushed with all installed plugins enabled (well not TWikiCompatibilityPlugin or EditTablePlugin)

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

Thanks !
In case you need it, BreadCrumbsPlugin also (bad copy/paste)

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

Do you know a way to modify a topic from CLI ?
If so, the skin could then be changed to Nat within the Main/SitePreferences

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

Not any simple method. sed or perl could do it easily but the versioning will not work correctly

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

Hello Tim,

I've done some more work on this yesterday and went through a few issues.

First about Solr. The tests described in https://foswiki.org/Extensions/SolrPlugin works fine :

  • tools/solrindex topic=Main.WebHome
  • bin/rest SolrPlugin/search

But the script solrjob is written in bash, so I had to : apk add --no-cache bash
This script relies on the presence of a ~/.bashrc file without testing its presence, so I had to touchone so that it can run, that's minor.

Then, here is a video capture of a sample search :

  • when I type a word, some topics or attachments appears, that's good
  • but when I press enter, the search page appears without my word, so I have to type in again
  • the result is no longer the "faceted search results" that I have within my own instance.

Maybe this has changed with the version 6.0 of NatSkin ? In my own instances, I am using the 5.00 version, and here is how it goes.

Then I've realized that the ClassificationPlugin is also missing, at least to me. Not sure if you use categories and tags, they are very well integrated int NatSkin and add lots of value to the product IMHO.

Finally, I went though another issue with NatSkin, see this video.
See the Recent changes section ?

Cheers,
Michel

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

I have seen the same issues in my install. Bet bet is to get MichaelDaum on the irc channel. I did post something on it a few days ago but the videos will likely help

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

I've tried to contact MichaelDaum, no luck today on IRC. With the information he gave you, I've tried to set it up.

First manually : it works fine. The search is now the Solr one, with the faceted view.
(but the Recent changes section is still not ok, we'll see that later).

Then by script.

To get the current value, this works :
tools/configure -getcfg {Plugins}{AutoTemplatePlugin}{ViewTemplateRules}{WebSearch}

So to set the value, this should be quite close, but it returns an error :

# set -x
cd /var/www/foswiki
tools/configure -save -noprompt
tools/configure -set {Plugins}{AutoTemplatePlugin}{ViewTemplateRules}{WebSearch}='SolrSearchView'
tools/configure -set {Plugins}{AutoTemplatePlugin}{ViewTemplateRules}{WikiUsers}='SolrWikiUsersView'

The next thing would be to modify the {AccessibleCFG} value, but no clue how to do it using tools/configure

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

Hi

Michael is tough for me to catch as he is in Europe and I am in Eastern canada. It was harder this week as I was in California but sometimes it lines up.

I believe the -set needs the -save to work properly

Likely you will need a small script as it does not appear that configure accepts input from a pipe.

I would like to:

tools/configure -getcfg {Plugins}{AutoTemplatePlugin}{ViewTemplateRules} | sed 's/WebSearch/SolrSearch/g' | tools/configure -save -set {Plugins}{AutoTemplatePlugin}{ViewTemplateRules}

However I think the get (possibly in json format) could be read into a script variable and then modified before sending it to configure -set

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

Hello,

It does looks good, but sadly, it also still returns a :
Option set, key "{Plugins}{AutoTemplatePlugin}{ViewTemplateRules}", requires a value
No modification is made in the LocalSite.cfg

Also trying with -jsonbut no luck either so far...

I am usually in Europe too, in Switzerland. But every year I spend a few weeks in Montreal,QC ! Actually I am there, till tomorrow.
Where are you ?

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

Just tried something else :

tools/configure -getcfg {Plugins}{AutoTemplatePlugin}{ViewTemplateRules} | sed 's/WebSearchView/SolrSearchView/g' | tools/configure -save

It does not return any error message :

Previous configuration saved in /var/www/foswiki/lib/LocalSite.cfg.58
New configuration saved in /var/www/foswiki/lib/LocalSite.cfg

But still nothing changed in LocalSite.cfg :-\

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

Moncton ? never been there. I've spent 7 years in Canada (including 7 winters...), but never been in the Maritime provinces. Must be worth a trip !

I've tried also with -save, still not luck. Actually, I don't think that configurecan get anything from a pipe / stdin.

This is probably not far :

newValue=$(tools/configure -getcfg {Plugins}{AutoTemplatePlugin}{ViewTemplateRules} | sed 's/WebSearchView/SolrSearchView/g')
then :
tools/configure -set {Plugins}{AutoTemplatePlugin}{ViewTemplateRules}="$newValue" -save

Here I get no error, the value of $newValue is well save into the LocalSite.cfg file, but then the bin/configure page show an empty value.

The value in the LocalSite.cfg is not well formatted, there are too much information there.

$Foswiki::cfg{Plugins}{AutoTemplatePlugin}{ViewTemplateRules} =           {                                                                                                                                        
            'changes' => {},                                                                                                                                                                                       
            'Plugins' => {                                                                                                                                                                                         
                           'AutoTemplatePlugin' => {                                                                                                                                                               
                                                     'ViewTemplateRules' => {                                                                                                                                      
                                                                              'WebIndex' => 'WebIndexView',                                                                                                        
                                                                              'WikiUsers' => 'WikiUsersView',                                                                                                      
                                                                              'WikiGroups' => 'WikiGroupsView',                                                                                                    
                                                                              'WebChanges' => 'WebChangesView',                                                                                                    
                                                                              'UserRegistration' => 'UserRegistrationView',                                                                                        
                                                                              'WebSearchAdvanced' => 'WebSearchAdvancedView',                                                                                      
                                                                              'ResetPassword' => 'ResetPasswordView',                                                                                              
                                                                              'WebSearch' => 'SolrSearchView',                                                                                                     
                                                                              'ChangePassword' => 'ChangePasswordView',                                                                                            
                                                                              'WebRss' => 'WebRssView',                                                                                                            
                                                                              'WebCreateNewTopic' => 'WebCreateNewTopicView',                                                                                      
                                                                              'WebTopicList' => 'WebTopicListView',                                                                                                
                                                                              'WebAtom' => 'WebAtomView',                                                                                                          
                                                                              'ChangeEmailAddress' => 'ChangeEmailAddressView',                                                                                    
                                                                              'SiteChanges' => 'SiteChangesView'                                                                                                   
                                                                            }                                                                                                                                      
                                                   }                                                                                                                                                               
                         }                                                                                                                                                                                         
          };; 

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

Probably need to get rid of the changes. May also be able to get it in json format -json.

Yes, the maritime provinces are great.

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

newValue=$(tools/configure -json -getcfg {Plugins}{AutoTemplatePlugin}{ViewTemplateRules} | sed 's/WebSearchView/SolrSearchView/g')
newValue2=$(echo $newValue | awk -F"[{}]" '{print $7}')
tools/configure -set {Plugins}{AutoTemplatePlugin}{ViewTemplateRules}="{ $newValue2 }" -save

However, the format can affect the number of the field you reference in awk. A perl json command would likely work better

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

With the current configuration, I think we are quite close to a good running setup. I will not have much more time to invest in trying to set up the few remaining things. Not sure about you ?

But what I can do is :

  • submit a short pull request, with the addition of bash to the Dockerfile
  • summarize in the =readme.md= the last few steps to manually accomplish in order to having a nice working setup

What do you think ?

The last item I have not been able to fix is the Recent changes section, something looks screwed up within a verbatim section...

These days I've learned a lot here ! Thanks a lot ! My goal was to put my hands in the docker's grease and give a refresh to our own foswiki install which is a few years old now. Among other thing I've also understood how to mount a local folder into a docker named volume. I can show you if you are interested.

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

Sure, I am interested:
The easiest way to do the change you are looking form might be a file like:
/tmp/perlscript:

#!/usr/bin/perl

use Data::Dumper ;

local $/;
my %decoded = %{ eval (<STDIN>)};

$decoded{Plugins}{AutoTemplatePlugin}{ViewTemplateRules}{WebSearch} = "SolrSearchPlugin";
my $values = $decoded{'Plugins'}{'AutoTemplatePlugin'}{'ViewTemplateRules'};
print Dumper($values);

Then you can do:

newValue=$(tools/configure -getcfg {Plugins}{AutoTemplatePlugin}{ViewTemplateRules} | /tmp/perlscript | sed 's/$VAR1 = //g' | sed 's/;//g')
tools/configure -set {Plugins}{AutoTemplatePlugin}{ViewTemplateRules}="$newValue" -save


I know what you mean by time. It took me a long time to get the docker-foswiki to the place I needed it to be to do my upgrade. It worked but these changes to improve it with docker-compose are fantastic. Thanks for the effort.

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

Hello Tim,

Just talked to M. Daum this morning about the Recent Changes bug. He has open a new ticket for that.

ClassificationPlugin will be upgraded and this should fix this issue !

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

Also while talking to him, I've proposed to mention your project in foswiki.org. He was very positive and said :

we would do that on the download page of a release. for that we have to restructure it a bit, in the vein of alternative install methods.
there is a vmware image at https://foswiki.org/Download/FoswikiRelease02x01x06
linking to https://foswiki.org/Support/VirtualMachineImages
so having a https://foswiki.org/Support/DockerImages page would be fine

What do you think ? Would you start this page ?

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

Its, unpublished but I wrote this last night: https://blog.foswiki.org/Blog/DockerFoswikiAndSolr if you can't see it I can ask M. Daum to give you write permissions or send you the text

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

Simplifying Foswiki and Solr with Docker.pdf

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

Will likely publish soon

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

Made some changes. You should be able to login now with your MichelMallejac user. Feel free to make changes

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

Hello Tim,

I think we have an issue with Solr : this guy is not able to index .odt files :

bash-5.0# ./solrindex 
Indexing topic Administratif.ContratRosa
Indexing attachment Administratif.ContratRosa.Fiche_heures.ods
ERROR: exec of odt2txt --encoding=UTF-8 %FILENAME|F% failed: No such file or directory

I've simply removed the few .ods files that we had in our wiki :-)
I'll probably open an issue with Solr, not very important anyway.

Also I don't think that the tools/solrjob work despite bash is present, I need to investigate more on this.

Personally, I set :

  • {SolrPlugin}{EnableOnSaveUpdates}
  • {SolrPlugin}{EnableOnUploadUpdates}
    Then I run once a tools/solrindex web=Myweb to index the content imported from my old wiki instance. Next, not sure that a cron job should be set up to index the entire content. That would be for peace of mind only with these settings. I am not sure anyway how to cron within a docker container !

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

Tried to edit https://blog.foswiki.org/Blog/DockerFoswikiAndSolr
I can see but not edit !

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

I will log this as a separate issue as its a missing alpine linux package. It will take me a few days/week to get it packaged and accepted in alpine linux.

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

@mmallejac do you have any updates you want to make on the blog entry? I did not get around to making your suggestions yet...

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

I would like to publish it soon but time is relative - I started that blog months ago (before you docker compose work)

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

Yeah, I will change it to that. But I had been moving the yaml file from location to location to test a clean build for something and the basename was easier to up arrow...

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

Yes, I was 1.24.1

from docker-foswiki.

timlegge avatar timlegge commented on July 18, 2024

I have also added a blurb to the top of the blog about an issue I ran into today. My Foswiki installation has never had that issue but...

from docker-foswiki.

mmallejac avatar mmallejac commented on July 18, 2024

from docker-foswiki.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.