Toon posts:

SpotWeb - Webbased Spotnet - deel 2 Vorige deel Overzicht

Pagina: 1 ... 49 50 Laatste
Acties:

Onderwerpen


  • DjoeC
  • Registratie: November 2018
  • Nu online
Geen matches
SuperCrisz schreef op maandag 17 maart 2025 @ 18:35:
@DjoeC Hmm zit bij Eweka met unlimited data
Ehhm, heb je de startdatum aangepast en daarna opnieuw data opgebouwd? Mijn startdatum is 01-09-2009. Dat lijkt nog betrouwbaar te werken. Na aanpassen van die datum heb ik wel de spots tabellen leeg gegooid om "eerder" te kunnen beginnen.

  • SuperCrisz
  • Registratie: September 2005
  • Laatst online: 16-12 22:25
Geen matches
DjoeC schreef op maandag 17 maart 2025 @ 20:54:
[...]

Ehhm, heb je de startdatum aangepast en daarna opnieuw data opgebouwd? Mijn startdatum is 01-09-2009. Dat lijkt nog betrouwbaar te werken. Na aanpassen van die datum heb ik wel de spots tabellen leeg gegooid om "eerder" te kunnen beginnen.
tis gelukt, had iets te maken met schrijfrechten op mijn database.
Waar kan je trouwens ergens je mailinstellingen (SMTP) wijzigen voor mail notificaties?

  • DjoeC
  • Registratie: November 2018
  • Nu online
Geen matches
SuperCrisz schreef op dinsdag 18 maart 2025 @ 15:54:
[...]

tis gelukt, had iets te maken met schrijfrechten op mijn database.
Waar kan je trouwens ergens je mailinstellingen (SMTP) wijzigen voor mail notificaties?
SMTP? Ik gebruik t niet maar je kunt eea instellen onder inloggen als admin -> settings -> general -> use smtp. Dan zal er wel een mail naar het email adres van "user" gaan. Betekent wel dat je altijd zult moeten inloggen denk ik - en in mijn container "hoeft dat niet", ik share geen nzb's met anderen - als ze willen moeten ze zelf maar een container opstarten.

En anders? Ergens een config filetje?

[ Voor 16% gewijzigd door DjoeC op 18-03-2025 17:25 ]


  • QuizzNL
  • Registratie: Oktober 2012
  • Laatst online: 15-12 11:36
Matched: spotweb
Devedse schreef op woensdag 12 maart 2025 @ 21:15:
Hallo allemaal,

Ik ben op dit moment bezig met mijn Plex/Sonarr/Radarr/Prowlarr setup wat uitbreiden zodat deze ook wat meer nederlandse content kan binnen halen. Ik kwam er achter dat je dit onder andere via bijv. nzbstars kan doen. Deze draait zover ik weet op ook op spotweb.

Wanneer ik in Sonarr een query doe naar een bepaalde nederlandse serie, zie ik die netjes via prowlarr naar nzbstars gaan, en komt er vervolgens in de results netjes een .nzb terug.

Aangezien je spotweb ook zelf kan hosten, dacht ik, waarom niet.

Inmiddels draait de docker container met een Postgres database en heeft deze alle spots > 2009 opgehaald. Wanneer ik dezelfde titel invoer in de WebUI van mijn spotweb instance vind hij die ook netjes terug.

Probleem

Het probleem waar ik echter tegen aanloop is dat zodra ik de zelfde vraag (via Sonarr/Prowlarr) stuur naar mijn eigen instance, daar geen resultaat op terug komt.

Daarnaast zie ik ook dat mijn zoekresultaten behoorlijk anders naar voren komen op mijn eigen instance dan via bijv. nzbstars. Bij nzbstars zie je bijvoorbeeld 1 resultaat als je zoekt naar iets als: 'het roer om s06e05'. Bij mijn eigen isntance zie ik als ik sorteer op relevantie in ieder geval de juiste episode eerst. Maar er komt veel meer naar boven:
[Afbeelding]

Wanneer ik sorteer op datum wordt het nog veel gekker:
[Afbeelding]

Hij lijkt alle spots met het woordje "het" te vinden.

Mijn vraag is dus of deze twee problemen gerelateerd zijn, en of iemand anders dit wel werkend heeft gekregen in Sonarr/Prowlarr?
Ik had ook veel issues met tegenvallende zoekresultaten vanuit prowlarr naar spotweb. Het gaat ook vaak mis wanneer er bijvoorbeeld een jaartal of seizoens-/afleveringsnummer wordt meegestuurd.

Vanuit precies dezelfde frustratie heb ik besloten een eigen spotnet indexer te bouwen.
Deze indexer is puur gericht is op integratie met andere applicaties via Newznab zoals de bekende *arrs.
De indexer heeft geen UI zoals Spotweb deze heeft en wordt uitgelezen via de newznab endpoints.

Ik draai mijn applicatie zelf al een tijdje en de resultaten zijn stukken beter dan wat ik vanuit spotweb kreeg.

De code en installatie-instructies zijn hier te vinden: https://github.com/Spottarr/Spottarr

  • rsvmark
  • Registratie: Juli 2007
  • Laatst online: 06:39
Matched: spotweb
QuizzNL schreef op maandag 5 mei 2025 @ 14:34:
[...]


Ik had ook veel issues met tegenvallende zoekresultaten vanuit prowlarr naar spotweb. Het gaat ook vaak mis wanneer er bijvoorbeeld een jaartal of seizoens-/afleveringsnummer wordt meegestuurd.

Vanuit precies dezelfde frustratie heb ik besloten een eigen spotnet indexer te bouwen.
Deze indexer is puur gericht is op integratie met andere applicaties via Newznab zoals de bekende *arrs.
De indexer heeft geen UI zoals Spotweb deze heeft en wordt uitgelezen via de newznab endpoints.

Ik draai mijn applicatie zelf al een tijdje en de resultaten zijn stukken beter dan wat ik vanuit spotweb kreeg.

De code en installatie-instructies zijn hier te vinden: https://github.com/Spottarr/Spottarr
Had al en paar keer geprobeerd spotweb te draaien op mijn proxmox server maar helaas niet voor elkaar gekregen.
Dit werkt echter prima _/-\o_

  • Kenhas
  • Registratie: Oktober 2006
  • Laatst online: 11:26
Matched: spotweb
QuizzNL schreef op maandag 5 mei 2025 @ 14:34:
[...]


Ik had ook veel issues met tegenvallende zoekresultaten vanuit prowlarr naar spotweb. Het gaat ook vaak mis wanneer er bijvoorbeeld een jaartal of seizoens-/afleveringsnummer wordt meegestuurd.

Vanuit precies dezelfde frustratie heb ik besloten een eigen spotnet indexer te bouwen.
Deze indexer is puur gericht is op integratie met andere applicaties via Newznab zoals de bekende *arrs.
De indexer heeft geen UI zoals Spotweb deze heeft en wordt uitgelezen via de newznab endpoints.

Ik draai mijn applicatie zelf al een tijdje en de resultaten zijn stukken beter dan wat ik vanuit spotweb kreeg.

De code en installatie-instructies zijn hier te vinden: https://github.com/Spottarr/Spottarr
Interessant, zal het eens testen.

Was op zoek naar iets waar ik mijn React skills eens op kan testen. Misschien eens kijken om een GUI te maken. Of misschien maak ik wel in C# om de skills te onderhouden. Slechts eens snel door de code gebladerd. Mooi project d:)b

2x Marstek Venus E 5.12 v153 - CT003 V117 - BMS 212 en 215


  • witchdoc
  • Registratie: Juni 2000
  • Laatst online: 15-12 16:14
Geen matches
Kan iemand me de logica uitleggen van die Anonymous user - open system group memmbership voor de admin user? Heb ik die nodig?
Waarom krijg ik een vol witte pagina zonder enig element als ik deze vervang door Anonymous user - closed system?
Waarom zit een admin uberhaup[t in zo'n anonymous groep?

  • Guff_
  • Registratie: November 2006
  • Laatst online: 29-09 20:55
Geen matches
Wat is er met de spots gebeurd :?

Spots takedown?

  • strandbal
  • Registratie: Juli 2003
  • Nu online

strandbal

Was het maar zo'n feest.

Geen matches
Hier ook een gat ontstaan van 2010 tot vandaag...

Hier stond een dode link.


  • PerlinNoise
  • Registratie: November 2012
  • Niet online
Geen matches
Hier ook. Dacht dat het aan mijn database lag, maar ben dus niet de enige...

Alternatief Neostrada/Vimexx/Versio met Hetzner en MXroute


  • DjoeC
  • Registratie: November 2018
  • Nu online
Geen matches
Inderdaad. En het verklaart ook waarom m'n SSD vannacht zo warm liep (massaal MariaDB wijzigingen).

Maar snel de database backup van gistermiddag veiliggesteld ;)

  • DjoeC
  • Registratie: November 2018
  • Nu online
Matched: spotweb
Ik bedenk me nu: Als ik Spotweb goed begrijp (groot vraagteken) gaat ie verder vanaf het laatste timestamp. Dan kunnen oude spots toch niet zomaar verdwijnen als ze niet meer op de originele server staan?

Ofwel: Het "lijkt" sterk op een bugje in het programma.....

  • Bastien
  • Registratie: Augustus 2001
  • Niet online

Bastien

Probleemeigenaar

Geen matches
Hier (nog) niet gelukkig. Maar jullie DB is ook echt leeg? Normaal gesproken staat alles lokaal wat eenmaal is opgehaald en zou ongeacht de newsserver niet moeten verdwijnen lijkt mij. Ben onlangs gewisseld van server waar de headers vandaan komen en dat is ook gewoon goed gegaan, keurig verder vanaf de juiste timestamp.

Heb een week of twee geleden de laatste versie van github gehaald.

[ Voor 9% gewijzigd door Bastien op 28-06-2025 12:22 ]

Je privacy is voor het eerst geschonden bij de eerste echo. Daarna wordt het er de rest van je leven niet meer beter op.


  • DjoeC
  • Registratie: November 2018
  • Nu online
Geen matches
Bastien schreef op zaterdag 28 juni 2025 @ 12:22:
Hier (nog) niet gelukkig. Maar jullie DB is ook echt leeg? Normaal gesproken staat alles lokaal wat eenmaal is opgehaald en zou ongeacht de newsserver niet moeten verdwijnen lijkt mij. Ben onlangs gewisseld van server waar de headers vandaan komen en dat is ook gewoon goed gegaan, keurig verder vanaf de juiste timestamp.

Heb een week of twee geleden de laatste versie van github gehaald.
Nee, niet compleet leeg maar wel alles vanaf 2010 t/m 02:00 vannacht. 2009 staat er nog in en de nieuwe van vandaag.

Ik draai in Docker met MariaDB, laatste updat de container van vorig weekend. Heb net een database reset gedan en ben nu maart 2010 aan het laden. Ik zal dat eens stoppen en eerst een complete restore naar gisteren uitvoeren.

  • vanaalten
  • Registratie: September 2002
  • Laatst online: 14:49
Matched: spotweb
Hmmm, dank voor de waarschuwing! Hier ook een groot gat tussen 15-11-2010 22:24 en 28-06-2025 04:24. :(

Ik draai Spotweb direct, geen container ofzo. Geen dingen gewijzigd de laatste tijd, dus een bug in Spotweb zelf lijkt mij waarschijnlijk.
Database grootte is ook niet dramatisch kleiner geworden: ongeveer 5GB nu en ongeveer 5GB twee dagen geleden.

Nu even bedenken hoe dit terug te zetten is. Heb geen SQL backup gemaakt, maar wel dagelijks een snapshot in het filesysteem.

  • DjoeC
  • Registratie: November 2018
  • Nu online
Matched: spotweb
vanaalten schreef op zaterdag 28 juni 2025 @ 13:42:
Hmmm, dank voor de waarschuwing! Hier ook een groot gat tussen 15-11-2010 22:24 en 28-06-2025 04:24. :(

Ik draai Spotweb direct, geen container ofzo. Geen dingen gewijzigd de laatste tijd, dus een bug in Spotweb zelf lijkt mij waarschijnlijk.
Database grootte is ook niet dramatisch kleiner geworden: ongeveer 5GB nu en ongeveer 5GB twee dagen geleden.

Nu even bedenken hoe dit terug te zetten is. Heb geen SQL backup gemaakt, maar wel dagelijks een snapshot in het filesysteem.
Docker draait hier op een pi4. k probeer zoveel mogelijk databases in MariaDB te houden en draai daar 1x daags geautomatiseerd een backup van naar de PC toe. Die backups blijven 7 dagen op de PC maar viavia (backblaze) een jaar lang bewaard. Backups zijn wel vaker een lifesaver geweest -> beveel ik dus iedereen aan, en niet alleen voor databases maar ook voor configuraties en andere relevante bestanden.

Restore loopt momenteel maar dat gaat wel effe duren. Dus nu eerst een andere klus weg van de PC.

  • Glamdring
  • Registratie: September 2004
  • Laatst online: 13:13
Geen matches
Aan allen die spots in hun database missen ben ik benieuwd welke Usenet provider (pay server) ze hebben?

Misschien dat dat meer duidelijkheid geeft.

Ikzelf heb (nog) geen last, mijn usp is Tweaknews.

  • headout
  • Registratie: Augustus 2002
  • Laatst online: 12:50

headout

Oi oi!

Geen matches
Glamdring schreef op zaterdag 28 juni 2025 @ 13:58:
Ikzelf heb (nog) geen last, mijn usp is Tweaknews.
Hier dezelfde provider, en tot op heden geen ontbrekende spots.

  • DjoeC
  • Registratie: November 2018
  • Nu online
Geen matches
Eweka.

  • Dangulus
  • Registratie: September 2016
  • Niet online
Geen matches
Eweka, ook weg!

  • Glamdring
  • Registratie: September 2004
  • Laatst online: 13:13
Geen matches
Ik lees vooral Eweka. Misschien een storing bij hen?

  • vanaalten
  • Registratie: September 2002
  • Laatst online: 14:49
Geen matches
Spots weg, en Eweka inderdaad...

  • Bastien
  • Registratie: Augustus 2001
  • Niet online

Bastien

Probleemeigenaar

Geen matches
Ik haal de spots op via bulknews. Mooi waardeloos dan voor de eweka gebruikers.

[ Voor 6% gewijzigd door Bastien op 28-06-2025 16:43 ]

Je privacy is voor het eerst geschonden bij de eerste echo. Daarna wordt het er de rest van je leven niet meer beter op.


  • DjoeC
  • Registratie: November 2018
  • Nu online
Geen matches
Ik begrijp nog steeds niet wat de invloed van de newshost is op het al dan niet schonen van de database als de schoning zegt: alles vanaf 1 november 2009 bewaren......

  • MariosCube
  • Registratie: Januari 2005
  • Laatst online: 15:20
Matched: spotweb
Met newsdemon op mijn secundaire spotweb server zo te zien geen problemen.

  • Tr4il
  • Registratie: Januari 2012
  • Laatst online: 14-12 19:15
Matched: spotweb
Bastien schreef op zaterdag 28 juni 2025 @ 12:22:
Hier (nog) niet gelukkig. Maar jullie DB is ook echt leeg? Normaal gesproken staat alles lokaal wat eenmaal is opgehaald en zou ongeacht de newsserver niet moeten verdwijnen lijkt mij. Ben onlangs gewisseld van server waar de headers vandaan komen en dat is ook gewoon goed gegaan, keurig verder vanaf de juiste timestamp.

Heb een week of twee geleden de laatste versie van github gehaald.
De DB was bij mij in ieder geval niet leeg, alle rijtjes stonden nog netjes in MariaDB.
Maar Spotweb wilde ze met geen mogelijkheid tonen in ieder geval, heel vreemd.
Ik heb de spots table leeggemaakt en die loopt nu weer te vullen, en dat gaat gewoon goed. Ben benieuwd hoe 't eruit ziet morgenochtend....

Tadaaa


  • Glamdring
  • Registratie: September 2004
  • Laatst online: 13:13
Matched: spotweb
Vooralsnog geen klachten van Spotnet gebruikers i.c.m. Eweka. Lijkt dus een specifieke bug te zijn van Spotweb i.c.m. Eweka. Niet toevallig heeft Eweka de hoogste retentie van alle usp's. Misschien dat Spotweb tegen een grens aanloopt?

Is er iemand die dit gedrag kan reproduceren en een bug wil inschieten voor Spotweb op Github?

  • vanaalten
  • Registratie: September 2002
  • Laatst online: 14:49
Matched: spotweb
Glamdring schreef op zondag 29 juni 2025 @ 10:15:
Is er iemand die dit gedrag kan reproduceren en een bug wil inschieten voor Spotweb op Github?
Iemand - niet ik - heeft dat al gedaan:
https://github.com/spotweb/spotweb/issues/897
...al gaat het in de discussie vooral om het oplossen van het probleem door de database opnieuw op te bouwen, niet om de oorzaak te vinden.

Hier gisteravond een snapshot van de database van twee dagen geleden teruggezet en wat mysql repair gedaan - sindsdien lijkt alles nog goed te werken.

  • Levaro
  • Registratie: Januari 2024
  • Laatst online: 20-07 11:31
Matched: spotweb
vanaalten schreef op zondag 29 juni 2025 @ 10:29:
[...]

Iemand - niet ik - heeft dat al gedaan:
https://github.com/spotweb/spotweb/issues/897
...al gaat het in de discussie vooral om het oplossen van het probleem door de database opnieuw op te bouwen, niet om de oorzaak te vinden.

Hier gisteravond een snapshot van de database van twee dagen geleden teruggezet en wat mysql repair gedaan - sindsdien lijkt alles nog goed te werken.
Als je goed leest dan zie je dat ze in het onderstaande comment Eweka getest hebben en bij hun geen problemen zagen?

Zie: https://github.com/spotwe...7#issuecomment-3015966899

In dit geval lijkt het me ook vrijwel ondoenlijk de exacte oorzaak te achterhalen, ook gelet op het feit dat gebruikers van andere usenet providers geen problemen lijken te ondervinden en dit zich specifiek lijkt te richten tot een klein hoekje van Usenet. (wellicht een omgevallen server o.i.d)

En daarbij, als je de via SSH dit commando uitvoert en de database opnieuw laat vullen met retrieve is er niks meer aan de hand.

code:
1
php upgrade-db.php --reset-db

  • mesa57
  • Registratie: Juni 2006
  • Laatst online: 12:22
Geen matches
Ik vraag me af welke sortering door gebruikers met het 'gat' probleem werd gebruikt.
De spots zitten namelijk wél in de database.

  • DjoeC
  • Registratie: November 2018
  • Nu online
Matched: spotweb
Mijn MariaDB database was ook echt leeg gemaakt. Had een melding van de SSD smart dat midden in de nacht de temperatuur 55 graden had bereikt, dat gebeurt echt alleen als Mariadb super druk is met maintenance zoals gister ook bij de restore. Ik heb Spotweb nog niet geherstart, eerst eens eea verder uitzoeken.

Ik heb (tot gisteren) vanuit Eweka 2.390.677 spots in de tabel staan, Eweka geeft 2.700.000 artikelheaders in een andere nieuwslezer - verschil zal vooral commentaar of troep zijn. Er staan trouwens ook 21M commentaren in de commentsxover.

Net een nieuwe versie van de container opgehaald en opgestart. Voorlopig LIJKT het dat er niets verwijderd wordt en de nieuwe spots weer binnenkomen. Fingers crossed....

  • DjoeC
  • Registratie: November 2018
  • Nu online
Matched: spotweb
mesa57 schreef op zondag 29 juni 2025 @ 11:52:
Ik vraag me af welke sortering door gebruikers met het 'gat' probleem werd gebruikt.
De spots zitten namelijk wél in de database.
Nee, hier waren ze fysiek weg: Backup Spotweb 27 mei was 2.3GB, backup 28 mei 993MB.

  • TheMystery
  • Registratie: Februari 2004
  • Laatst online: 16-12 20:43
Matched: spotweb
Hier nog geen problemen met eweka en spotweb, wel voor de zekerheid maar even een snapshot gemaakt.

  • DarkAllMan
  • Registratie: Mei 2004
  • Laatst online: 11:50
Geen matches
Ik heb hetzelfde probleem. Ik heb een DB reset gedaan en ben nu weer een retreive aan het doen.

Update: Na reset/retreive heb ik alle data weer.

[ Voor 21% gewijzigd door DarkAllMan op 30-06-2025 12:31 ]


  • PerlinNoise
  • Registratie: November 2012
  • Niet online
Matched: spotweb
Levaro schreef op zondag 29 juni 2025 @ 10:42:
[...]


Als je goed leest dan zie je dat ze in het onderstaande comment Eweka getest hebben en bij hun geen problemen zagen?

Zie: https://github.com/spotwe...7#issuecomment-3015966899

In dit geval lijkt het me ook vrijwel ondoenlijk de exacte oorzaak te achterhalen, ook gelet op het feit dat gebruikers van andere usenet providers geen problemen lijken te ondervinden en dit zich specifiek lijkt te richten tot een klein hoekje van Usenet. (wellicht een omgevallen server o.i.d)

En daarbij, als je de via SSH dit commando uitvoert en de database opnieuw laat vullen met retrieve is er niks meer aan de hand.

code:
1
php upgrade-db.php --reset-db
Ik draai Spotweb in docker (jgeusebroek/spotweb). Enig idee hoe ik daar de db reset?
Commando's uiteraard geprobeerd via Exec maar:

spotweb: root@89f6013cdb69:/# php upgrade-db.php --reset-db
Could not open input file: upgrade-db.php
database: root@2241f04daca2:/# php upgrade-db.php --reset-db
bash: php: command not found

EDIT: Ik heb de db maar verwijderd en ben opnieuw begonnen.

Alternatief Neostrada/Vimexx/Versio met Hetzner en MXroute


  • RudolfR
  • Registratie: Maart 2011
  • Laatst online: 13:38
Matched: spotweb
@PerlinNoise
Waarschijnlijk /usr/bin/php en een volledig pad naar je spotweb install.

Ik heb retrieve een paar dagen stil gezet en kon het vandaag probleemloos hervatten.
docker exec spotweb /usr/bin/php /var/www/spotweb/retrieve.php
Last retrieve at Fri 27 Jun 2025 11:15:02 PM CEST
Retrieving new Spots from server news.eweka.nl...
Appr. Message count: 4310497
First message number: 2
Last message number: 4310499
Current article number: 4309488

Retrieving 4309488 till 4310500 (parsed: 1011, in DB: 1, signed: 964, invalid: 1, rtntn.skip: 0, mod: 46, full: 0, total: 1012) in 2.55 seconds
Processed a total of 1012 spots
Finished retrieving spots.

Calculating how many spots are new, done.
Last retrieve at Mon 30 Jun 2025 10:07:58 PM CEST
Retrieving new comments from server news.eweka.nl...
Appr. Message count: 21284444
First message number: 2
Last message number: 21284446
Current article number: 21279381

Retrieving 21279381 till 21284382, found 5001 comments in 1.8 seconds
Retrieving 21284382 till 21284447, found 65 comments in 0.28 seconds
Processed a total of 5066 comments
Finished retrieving comments.

Last retrieve at Mon 30 Jun 2025 10:08:13 PM CEST
Retrieving new reports from server news.eweka.nl...
Appr. Message count: 347589
First message number: 2
Last message number: 347591
Current article number: 347554

Retrieving 347554 till 347592, found 38 reports in 0.96 seconds
Processed a total of 38 reports
Finished retrieving reports.

Blacklist not modified, no need to update
Whitelist not modified, no need to update
Starting to create statistics
Finished creating statistics

  • Ids
  • Registratie: Oktober 2000
  • Laatst online: 12-12 20:47

Ids

Matched: spotweb
PerlinNoise schreef op maandag 30 juni 2025 @ 16:18:
[...]

Ik draai Spotweb in docker (jgeusebroek/spotweb). Enig idee hoe ik daar de db reset?
Commando's uiteraard geprobeerd via Exec maar:

spotweb: root@89f6013cdb69:/# php upgrade-db.php --reset-db
Could not open input file: upgrade-db.php
database: root@2241f04daca2:/# php upgrade-db.php --reset-db
bash: php: command not found
In Exec:
code:
1
/var/www/spotweb/bin/upgrade-db.php --reset-db

  • Akiranon
  • Registratie: September 2011
  • Laatst online: 14:52
Matched: spotweb
Voor degene die de docker image van Erik de Vries draaien in Container Manager op een Synology NAS, met de volgende commands kun je een database reset uitvoeren:

Log via SSH in en ga naar de container. In mijn geval heet deze 'spotweb':

code:
1
sudo docker exec -it spotweb bash


Voer het volgende commando uit voor het resetten van de database:

code:
1
/usr/bin/php84 /app/bin/upgrade-db.php --reset-db


Vervolgens kun je via de admin user zelf weer instellen tot hoever terug je spots wilt ophalen.

  • Deepvault
  • Registratie: Juli 2025
  • Laatst online: 15-12 15:29
Matched: spotweb
Gisteren heb ik mijn QNAP NAS opnieuw moeten installeren vanwege omstandigheden. Het installeren van Spotweb ging gelukkig vrij eenvoudig. Alleen het ophalen van de spots duurt ontzettend lang.

Op dit moment moet ik telkens handmatig op de "Retrieve"-knop klikken om data binnen te halen. Is het niet mogelijk om alles in één keer op te halen, of het proces te automatiseren zodat ik niet steeds handmatig hoef te klikken?

Alvast bedankt voor jullie hulp!

  • vanaalten
  • Registratie: September 2002
  • Laatst online: 14:49
Matched: spotweb
Deepvault schreef op donderdag 31 juli 2025 @ 11:08:
Gisteren heb ik mijn QNAP NAS opnieuw moeten installeren vanwege omstandigheden. Het installeren van Spotweb ging gelukkig vrij eenvoudig. Alleen het ophalen van de spots duurt ontzettend lang.

Op dit moment moet ik telkens handmatig op de "Retrieve"-knop klikken om data binnen te halen. Is het niet mogelijk om alles in één keer op te halen, of het proces te automatiseren zodat ik niet steeds handmatig hoef te klikken?

Alvast bedankt voor jullie hulp!
Hoe had je dit voorheen dan geregeld?
Zelf geen NAS, maar op m’n linux server net Spotweb heb ik een cron job ingesteld die elk uur een retrieve doet. Zo iets zal wellicht ook op je NAS kunnen.

  • Caveman
  • Registratie: Januari 2001
  • Laatst online: 06-12 12:45

Caveman

whahoehaha

Matched: spotweb
vanaalten schreef op donderdag 31 juli 2025 @ 11:35:
[...]

Hoe had je dit voorheen dan geregeld?
Zelf geen NAS, maar op m’n linux server net Spotweb heb ik een cron job ingesteld die elk uur een retrieve doet. Zo iets zal wellicht ook op je NAS kunnen.
Klopt, op een syno heb je een taskscheduler, volgens mij zit die ook op een QNAP.
Laat een user defined script lopen om de 6 uur ofzoiets...
code:
1
/usr/local/bin/php56 /volume1/web/spotweb/retrieve.php --force

De locatie van je spotweb en php zal ongetwijfeld anders zijn, maar dat moet niet zo moeilijk zijn om te achterhalen.

I don't need to "Get a Life." I'm a Gamer. I 've lots of Lives !


  • Room42
  • Registratie: September 2001
  • Niet online
Matched: spotweb
Caveman schreef op donderdag 31 juli 2025 @ 13:14:
[...]


Klopt, op een syno heb je een taskscheduler, volgens mij zit die ook op een QNAP.
Laat een user defined script lopen om de 6 uur ofzoiets...
code:
1
/usr/local/bin/php56 /volume1/web/spotweb/retrieve.php --force

De locatie van je spotweb en php zal ongetwijfeld anders zijn, maar dat moet niet zo moeilijk zijn om te achterhalen.
De --force zou ik weglaten, omdat als de retrieve nog loopt, deze daarmee afgebroken wordt. Door geen --force te gebruiken loopt het vorige proces gewoon door en wordt ie niet opnieuw gestart.

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


  • headout
  • Registratie: Augustus 2002
  • Laatst online: 12:50

headout

Oi oi!

Matched: spotweb
Caveman schreef op donderdag 31 juli 2025 @ 13:14:
[...]


Klopt, op een syno heb je een taskscheduler, volgens mij zit die ook op een QNAP.
Laat een user defined script lopen om de 6 uur ofzoiets...
code:
1
/usr/local/bin/php56 /volume1/web/spotweb/retrieve.php --force

De locatie van je spotweb en php zal ongetwijfeld anders zijn, maar dat moet niet zo moeilijk zijn om te achterhalen.
In mijn geval a 2 uur draait deze taak op de Synology:
/usr/bin/php /volume1/web/spotweb/retrieve.php

Voor Qnap zal er wel iets vergelijkbaars zijn, en anders:
https://www.qnap.com/es-e...crontab-to-schedule-a-job

  • Deepvault
  • Registratie: Juli 2025
  • Laatst online: 15-12 15:29
Matched: spotweb
vanaalten schreef op donderdag 31 juli 2025 @ 11:35:
[...]

Hoe had je dit voorheen dan geregeld?
Zelf geen NAS, maar op m’n linux server net Spotweb heb ik een cron job ingesteld die elk uur een retrieve doet. Zo iets zal wellicht ook op je NAS kunnen.
Het probleem is gefixt door alleen "Retrieve reports" aan te vinken. Nu haalt hij alles netjes binnen.

  • Marve79
  • Registratie: Juni 2021
  • Laatst online: 16-12 16:30
Matched: spotweb
Iemand die Spotweb als newznab gebruikt in Sonarr/Radarr?

Ik heb dit ingesteld en volgens Sonarr/Radarr is het in orde (groen vinkje bij testen).

Maar ze vinden helemaal niks. Enig idee?

  • pdukers
  • Registratie: September 2006
  • Niet online
Matched: spotweb
Ja, locale spotweb werkt bij mij. Heb je de juiste categorieën aangevinkt?

Bij wordt wel spotweb amper gebruikt al soure voor nzb's.Eigenlijk alleen maar voor NL content. Al het andere komt van andere indexers.

  • SMSfreakie
  • Registratie: Maart 2004
  • Niet online
Geen matches
mesa57 schreef op zondag 29 juni 2025 @ 11:52:
Ik vraag me af welke sortering door gebruikers met het 'gat' probleem werd gebruikt.
De spots zitten namelijk wél in de database.
ik kreeg ze ook niet voor de dag meer... nu db aan het hervullen.. :)

404 Signature not found


  • Mankepoot
  • Registratie: April 2022
  • Laatst online: 17-10 15:15
Matched: spotweb
Ik gebruik spotweb al enige jaren maar laatst is het uiterlijk veranderd. Mijn alsnog noob vraagje is: wat is de betekenis van de verschillende kleuren op verschillende topic rijen?

  • mesa57
  • Registratie: Juni 2006
  • Laatst online: 12:22
Geen matches
De kleuren weerspiegelen de hoofdcategorieën

  • Marve79
  • Registratie: Juni 2021
  • Laatst online: 16-12 16:30
Matched: spotweb
pdukers schreef op woensdag 20 augustus 2025 @ 13:38:
Ja, locale spotweb werkt bij mij. Heb je de juiste categorieën aangevinkt?

Bij wordt wel spotweb amper gebruikt al soure voor nzb's.Eigenlijk alleen maar voor NL content. Al het andere komt van andere indexers.
Ja ik heb het ook juist nodig voor NL. Ik zal eens kijken maar ik heb gewoon de main categorie TV aangevinkt.

  • jozy
  • Registratie: Juli 2002
  • Laatst online: 19-11 07:19
Matched: spotweb
beste mensen ik heb sindskort spotweb draaien op mijn debian based servertje en hij draait prima.
php 8.4 en op nginx gebaseerd geinstalleerd via cli.

enige wat mij niet lukt is de api call laten werken voor prowlarr.
ik heb een nieuwe username aangemaakt genaamd api zodat hij de admin niet gebruikt en ik gebruik die user.

echter wat ik zie bij user management dat de api request binnenkomt op mijn admin username (zie ik aan het ip van prowlarr). Dus ergens gaat er iets niet helemaal goed.

heb een hele tijd lopen hannissen met chatgpt en eventuele instellingen maar kom er niet uit.
weet iemand hoe ik dit kan oplossen en wat ik moet checken?

lijkt erop als ik een api call via cli doe dat hij html uitspuugt ipv xml....

[ Voor 5% gewijzigd door jozy op 12-09-2025 12:48 . Reden: toevoeging html vs xml output ]


  • m.caarels
  • Registratie: December 2022
  • Laatst online: 14-09 11:41
Geen matches
ik kan geen reactie meer geven op een spotnet poster dus ik bedoel een bedankje of zo

Ik heb je posts en reacties verhuisd van [Nieuwsgroepen] Wat werkt tegenwoordig goed? naar dit topic, hier past het beter.

[ Voor 48% gewijzigd door rens-br op 16-09-2025 08:25 ]


  • m.caarels
  • Registratie: December 2022
  • Laatst online: 14-09 11:41
Geen matches
ik kan geen reactie meer plaatsen op spotnet dan bedoel ik een bedankje ofzo voor de poster hoe zou dit nu kunnen

  • RobbyTown
  • Registratie: April 2007
  • Niet online

RobbyTown

Godlike

Geen matches
@m.caarels niet toevallig je upload uitstaan van je usenet provider? Als die uit staat is reageren niet mogelijk.

[ Voor 35% gewijzigd door RobbyTown op 14-09-2025 12:06 ]

Blog - Glasnet status (privé log) - Nette LAN - RIPE Atlas Probe


  • John767
  • Registratie: Maart 2004
  • Laatst online: 15:18
Geen matches
m.caarels schreef op zondag 14 september 2025 @ 11:35:
ik kan geen reactie meer geven op een spotnet poster dus ik bedoel een bedankje of zo
Het volgende kwam een tijdje geleden langs:
Helaas geeft spotnet laatste tijd veel problemen..
zoals met posten en reacties schrijven..
dit komt door 2 updates in windows
Hopelijk word dit snel gefixt..

heb je problemen met spotnet?
doe dan het volgende om het te verhelpen

Ga naar windows update en dan naar geschiedenis van updates.
Verwijder Update KB5064081 en KB5064401
ga naar windows update geavanceerde opties
en zet het ontvangen van nieuwe updates uit.

reboot je pc

en spotnet zal weer werken

  • meccano
  • Registratie: November 2018
  • Laatst online: 09-12 11:36
Geen matches
m.caarels schreef op zondag 14 september 2025 @ 11:35:
ik kan geen reactie meer geven op een spotnet poster dus ik bedoel een bedankje of zo
Deze problemen worden veroorzaakt door recente Windows 11-updates (KB5064081 en KB5065426).
Er is inmiddels een update beschikbaar. Deze wordt automatisch geïnstalleerd, maar je kunt hem ook handmatig downloaden via het spotnet forum.
Afbeeldingslocatie: https://i.imgur.com/6HVWAKg.jpeg

  • Guff_
  • Registratie: November 2006
  • Laatst online: 29-09 20:55
Matched: spotweb
Meer mensen die problemen hebben met spotweb met de reacties?

Comments ophalen bleef vorige week hangen
Resetdb gedaan
Nu al 3 dagen bezig met comments ophalen

Zie ook geen reacties meer nieuwe posts op op nzbserver dot com

  • DjoeC
  • Registratie: November 2018
  • Nu online
Matched: spotweb
Guff_ schreef op donderdag 18 september 2025 @ 18:07:
Meer mensen die problemen hebben met spotweb met de reacties?

Comments ophalen bleef vorige week hangen
Resetdb gedaan
Nu al 3 dagen bezig met comments ophalen

Zie ook geen reacties meer nieuwe posts op op nzbserver dot com
Hier op de lokale spotweb is er geen probleem (Eweka).

  • FJR1300
  • Registratie: Juli 2001
  • Laatst online: 03-11 11:29

FJR1300

145 enthousiaste paardjes...

Matched: spotweb
Guff_ schreef op donderdag 18 september 2025 @ 18:07:
Meer mensen die problemen hebben met spotweb met de reacties?

Comments ophalen bleef vorige week hangen
Resetdb gedaan
Nu al 3 dagen bezig met comments ophalen
Ja, daar had ik dus ook last van... nieuwe posts kwamen wel binnen maar de comments bleven weg.
In de logfile van het 'retriever.php' script kwam ik regelmatig de volgende melding tegen:
Fatal error occured during retrieve:
22001: 1406: Data too long for column 'usersignature' at row 75
Met diverse varianten van de getallen voor de 'Data too long for column' error melding en op verschillende 'rows'.

De errormelding geeft aan dat het 'retriever.php' script meer data in het veld wil stoppen dan dat het betreffende veld groot is.

De oplossing is simpel, het veld groter maken :)
Disclaimer:
Dit is hoe IK het heb opgelost op mijn systeem. Jou systeem ZAL anders zijn en mijn oplossing KAN bij jou niet werken! Maak een backup (of een snapshot) voordat je begint. Ik ben niet verantwoordelijk als jou system kapot gaat. Garantie tot het einde van deze zin ;)
'usersignatur' is een veld in de 'commentsfull' tabel en is bij mij een varchar(255). Ik heb het veld opgerekt naar een varchar(512) op onderstaande manier:

Ik voer de commando's uit als root op mijn linux server.

code:
1
2
3
4
mysql
use spotweb;
alter table commentsfull modify usersignature varchar(512);
exit


Mijn database is bijna 6GB op schijf dus dat duurde even... het resultaat was:
Query OK, 1139881 rows affected (30 min 11.70 sec)
Records: 1139881 Duplicates: 0 Warnings: 0
Kortom, een halfuurtje schrapen op de harddisk om het veld op te rekken.

Vanaf dat moment heeft het 'retriever.php' script alle ontbrekende records opgehaald en daarmee is mijn locale spotweb weer in orde.

  • mesa57
  • Registratie: Juni 2006
  • Laatst online: 12:22
Matched: spotweb
De grootste userkey die bij alle clients in gebruik is, is 172 chars (base64) en dat zijn spotweb userkeys.
De post die de error veroorzaakt is dus een 'spoof' die in principe niet geldig is.
Het is beter om de code aan te passen zodat comments met een userkey > 255 chars worden overgeslagen.
Ik zou graag willen weten wat de message-id van die comment is.
Dus als iemand een sql dump van comments-full ter beschikking zou kunnen stellen, kan dat nader onderzocht worden.

[ Voor 23% gewijzigd door mesa57 op 28-09-2025 14:04 ]


  • FJR1300
  • Registratie: Juli 2001
  • Laatst online: 03-11 11:29

FJR1300

145 enthousiaste paardjes...

Matched: spotweb
mesa57 schreef op zondag 28 september 2025 @ 14:01:
Dus als iemand een sql dump van comments-full ter beschikking zou kunnen stellen, kan dat nader onderzocht worden.
Bedoel je een "mysqldump spotweb commentsfull > table_commentsfull.sql" ? Die heb ik voor je maar dat is (in gezipte vorm) al bijna 300MB...

Hoe gaan we die uitwisselen?

  • NaN
  • Registratie: Oktober 2004
  • Niet online

NaN

SjoebieDoowah.

Matched: spotweb
FJR1300 schreef op zondag 28 september 2025 @ 16:08:
[...]


Bedoel je een "mysqldump spotweb commentsfull > table_commentsfull.sql" ? Die heb ik voor je maar dat is (in gezipte vorm) al bijna 300MB...

Hoe gaan we die uitwisselen?
Jij hebt toch al die comments nu binnengehaald?

Ik denk dat je met een select usersignature from table_commentsfull where len(usersignature) > 255 (of zoiets, ik ben niet zo thuis in SQL) enz enz.. je zo dat record te pakken hebt, maar wie past de code aan?

Hiero? https://github.com/jgeusebroek/docker-spotweb/issues Neh, dat is niet de juiste repository...

Deze wel, denk ik: https://github.com/spotweb/spotweb/blob/develop/retrieve.php

[ Voor 13% gewijzigd door NaN op 28-09-2025 17:15 ]


  • FJR1300
  • Registratie: Juli 2001
  • Laatst online: 03-11 11:29

FJR1300

145 enthousiaste paardjes...

Geen matches
NaN schreef op zondag 28 september 2025 @ 17:03:
[...]

Jij hebt toch al die comments nu binnengehaald?

Ik denk dat je met een select usersignature from table_commentsfull where len(usersignature) > 255 (of zoiets, ik ben niet zo thuis in SQL) enz enz.. je zo dat record te pakken hebt, maar wie past de code aan?
Oke, ik heb het volgende gedaan:

code:
1
mysql> select usersignature from commentsfull where char_length(usersignature) > 175;


En dat levert 3 regels op. Als ik 174 als lengte neem krijg ik 2231 signatures.

Nu weet ik niet in hoeverre deze signatures direct herleidbaar zijn naar een persoon dus ik zal ze hier niet inplakken.... maar op verzoek kan ik ze wel leveren.

  • FJR1300
  • Registratie: Juli 2001
  • Laatst online: 03-11 11:29

FJR1300

145 enthousiaste paardjes...

Geen matches
Heb nog even verder gekeken dan mijn neus lang is... mesa57 vroeg om de message id's. Ik denk dat ik ze gevonden heb:

code:
1
2
3
4
5
6
7
8
9
10
mysql> select messageid from commentsfull where char_length(usersignature) > 175;

+---------------------------------------------------------+
| messageid                                               | 
+---------------------------------------------------------+
| dGvebe7gESsvYq9aAbsSu.0.vtypJ1Qd2vYCyWsaA.oqLb@spot.net |
| znWsZKqSpMUUymsaAZ0Eh.0.cnd637NmUrQGCqsaA.8Acq@spot.net |
| znWsZKqSpMUUymsaAZ0Eh.0.tvoeqHmic0sEjasaA.EujC@spot.net |
+---------------------------------------------------------+
3 rows in set (0.71 sec)


Ik heb de usersignatures ook nog even door een base64 decoder gehaald maar dat levert alleen maar onleesbare rommel op. Trouwens ook met korte usersignatures.

  • NaN
  • Registratie: Oktober 2004
  • Niet online

NaN

SjoebieDoowah.

Geen matches
@FJR1300 lekker bezig! d:)b

  • mesa57
  • Registratie: Juni 2006
  • Laatst online: 12:22
Geen matches
Ok, het gaat hier om een modulus van 2048 bits.
Beetje overdreven voor comments.
Wel een rare client : X-Newsreader: Spotnet 2.1.0.0

  • mesa57
  • Registratie: Juni 2006
  • Laatst online: 12:22
Geen matches
Voor diegene die het willen weten: op de develop branch is een update geplaatst om bovengenoemd probleem op te lossen.

  • WeetNiet
  • Registratie: Juni 2001
  • Laatst online: 19-10 19:47
Matched: spotweb
mesa57 schreef op woensdag 8 oktober 2025 @ 21:01:
Voor diegene die het willen weten: op de develop branch is een update geplaatst om bovengenoemd probleem op te lossen.
Was bezig om een bug te melden exact hiervoor. Gebruikte de laatste release versie en kreeg deze fout bij het ophalen van de comments. In github bij de issues was niets hierover terug te vinden

code:
1
2
3
4
5
6
7
Retrieving 21410002 till 21411002, found 1000 comments in 29.17 seconds


SpotWeb v0.68.38.34 on PHP v8.4.13 crashed

Fatal error occured during retrieve:
  22001: 1406: Data too long for column 'usersignature' at row 64


Welgeteld 1 hit in google :)
Zag dit commentaar en heb de develop versie zojuist gedownload en over de release versie gekopieerd.
Heb eerst de upgrade-db moeten draaien en daarna loopt het weer door als een zonnetje. Dank!

Absolute n00body


  • mesa57
  • Registratie: Juni 2006
  • Laatst online: 12:22
Geen matches
Overigens loopt retrieve hier alleen op stuk als fullcomments retrieve aanstaat.
Voor de meesten is dat totaal zinloos.
De database wordt propvol zo met data die nooit gebruikt wordt.
Als je een spot opent, worden de fullcomments van die spot vanzelf gevuld. Werkt als een soort cache zeg maar. En wie gaat nou de cache van te voren vullen ?
Deze optie zou er eigenlijk uit gesloopt moeten worden.

  • dirks
  • Registratie: December 2006
  • Laatst online: 13:31
Geen matches
mesa57 schreef op zondag 12 oktober 2025 @ 12:14:
Overigens loopt retrieve hier alleen op stuk als fullcomments retrieve aanstaat.
Voor de meesten is dat totaal zinloos.
Ah, duidelijk. Ik heb zelf lokaal wijzigingen aangebracht aan de code en was al bang om naar de verschillen te moeten zoeken. Maar het probleem kan nog steeds optreden als je een spot opent met een problematische comment...

  • mesa57
  • Registratie: Juni 2006
  • Laatst online: 12:22
Matched: spotweb
Dat laatste: het effect was dat spotweb gewoon doorging, alleen geen comments bij die post toonde.
Het ging trouwens over 2 spots.
En ook dat probleem is opgelost in de de develop branch release.

  • mesa57
  • Registratie: Juni 2006
  • Laatst online: 12:22
Matched: spotweb
Spotweb (develop branch) is voorzien van een Modern Black/White theme.

  • DjoeC
  • Registratie: November 2018
  • Nu online
Matched: spotweb
mesa57 schreef op zondag 23 november 2025 @ 11:31:
Spotweb (develop branch) is voorzien van een Modern Black/White theme.
Ik zou liever zien dat het zoeken wat slimmer wordt (gewoon en en en ipv plusjes) dan nieuwe "looks".

  • DjoeC
  • Registratie: November 2018
  • Nu online
Geen matches
Is er een (configuratie) optie om "standaard" de table-weergave te gebruiken ipv de cards weergave? Ik draai lokaal zonder login en misschien belangrijker: zonder cookies en vind de cards weergave ehmm, niet praktisch.

Waar kan ik dit instellen?

  • alesandro_46
  • Registratie: Januari 2012
  • Laatst online: 15:13
Geen matches
DjoeC schreef op dinsdag 2 december 2025 @ 12:49:
Is er een (configuratie) optie om "standaard" de table-weergave te gebruiken ipv de cards weergave? Ik draai lokaal zonder login en misschien belangrijker: zonder cookies en vind de cards weergave ehmm, niet praktisch.

Waar kan ik dit instellen?
Bedoel je de template?
Die kan je instellen bij Config --> change preferences --> General.

Daar zijn vervolgens drie opties:
Template for non-mobile devices, mobiles, tablets
Weirdo was volgens mij de standaard, recent is de optie modern erbij gekomen.

Deze ruimte is bewust leeg gelaten


  • DjoeC
  • Registratie: November 2018
  • Nu online
Geen matches
alesandro_46 schreef op dinsdag 2 december 2025 @ 13:05:
[...]

Bedoel je de template?
Die kan je instellen bij Config --> change preferences --> General.

Daar zijn vervolgens drie opties:
Template for non-mobile devices, mobiles, tablets
Weirdo was volgens mij de standaard, recent is de optie modern erbij gekomen.
Dat lijkt te werken..... Tnx.

Ook voor de tablet op we1rdo gezet - super oplossing! Al die plaatjes nemen veel te veel ruimte in beslag.

[ Voor 10% gewijzigd door DjoeC op 02-12-2025 14:27 ]


  • Venimk1
  • Registratie: Maart 2011
  • Laatst online: 15:16
Matched: spotweb
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
#!/usr/bin/env bash

# Spotweb Proxmox LXC Installer - All-in-One Version
# Copyright (c) 2025 VenimK
# License: MIT
# Creates LXC container and installs Spotweb automatically

source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)

# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color

function header_info {
clear
cat <<"EOF"
   _____             __                __  
  / ___/____  ____  / /__      _____  / /_ 
  \__ \/ __ \/ __ \/ __/ | /| / / _ \/ __ \
 ___/ / /_/ / /_/ / /_ | |/ |/ /  __/ /_/ /
/____/ .___/\____/\__/ |__/|__/\___/_.___/ 
    /_/                                     
    
    Automated Debian LXC + Spotweb Installer
EOF
echo ""
}

header_info

# Start timer
START_TIME=$(date +%s)

# Configuration
CTID=""
HOSTNAME="spotweb"
DISK_SIZE="20"
CORES="2"
MEMORY="2048"
BRIDGE="vmbr0"
OSTYPE="debian"
OSVERSION="12"
WEBSERVER="apache"  # or nginx

# Get next available CTID
NEXTID=$(pvesh get /cluster/nextid)

# Detect available storage for containers
echo -e "${BLUE}Detecting available storage...${NC}"

# Prefer storages that explicitly support rootdir (containers)
mapfile -t STORAGE_OPTIONS < <(pvesm status -content rootdir 2>/dev/null | awk 'NR>1 {print $1}')

# Fallback: any storage entry if none reported with rootdir
if [ ${#STORAGE_OPTIONS[@]} -eq 0 ]; then
    mapfile -t STORAGE_OPTIONS < <(pvesm status 2>/dev/null | awk 'NR>1 {print $1}')
fi

if [ ${#STORAGE_OPTIONS[@]} -eq 0 ]; then
    echo -e "${RED}Error: No storage found on this Proxmox host${NC}"
    echo -e "${YELLOW}pvesm status output:${NC}"
    pvesm status || true
    exit 1
fi

echo -e "${CYAN}Available storage options:${NC}"
idx=1
for store in "${STORAGE_OPTIONS[@]}"; do
    echo -e "  ${idx}) ${store}"
    idx=$((idx+1))
done

echo ""
read -p "Select storage [1-${#STORAGE_OPTIONS[@]}] (default 1): " STORAGE_CHOICE

if [ -z "${STORAGE_CHOICE}" ]; then
    STORAGE_CHOICE=1
fi

if ! [[ "${STORAGE_CHOICE}" =~ ^[0-9]+$ ]] || [ "${STORAGE_CHOICE}" -lt 1 ] || [ "${STORAGE_CHOICE}" -gt ${#STORAGE_OPTIONS[@]} ]; then
    echo -e "${RED}Invalid selection. Aborting.${NC}"
    exit 1
fi

STORAGE=${STORAGE_OPTIONS[$((STORAGE_CHOICE-1))]}

echo -e "${GREEN}✓ Using storage: ${STORAGE}${NC}"

echo -e "${CYAN}Spotweb LXC Container Setup${NC}"
echo ""
echo -e "${YELLOW}This will create a Debian 12 LXC container and install Spotweb${NC}"
echo ""
echo -e "${GREEN}Default settings:${NC}"
echo -e "  Container ID: ${NEXTID}"
echo -e "  Hostname: ${HOSTNAME}"
echo -e "  CPU Cores: ${CORES}"
echo -e "  RAM: ${MEMORY}MB"
echo -e "  Disk: ${DISK_SIZE}GB"
echo -e "  Storage: ${STORAGE}"
echo -e "  OS: Debian ${OSVERSION}"
echo -e "  Web Server: ${WEBSERVER}"
echo ""

read -p "Container hostname [${HOSTNAME}]: " INPUT_HOST
if [[ -n "${INPUT_HOST}" ]]; then
  HOSTNAME="${INPUT_HOST}"
fi

read -p "Disk size in GB [${DISK_SIZE}]: " INPUT_DISK
if [[ -n "${INPUT_DISK}" && "${INPUT_DISK}" =~ ^[0-9]+$ && "${INPUT_DISK}" -gt 0 ]]; then
  DISK_SIZE="${INPUT_DISK}"
fi

read -p "CPU cores [${CORES}]: " INPUT_CORES
if [[ -n "${INPUT_CORES}" && "${INPUT_CORES}" =~ ^[0-9]+$ && "${INPUT_CORES}" -gt 0 ]]; then
  CORES="${INPUT_CORES}"
fi

read -p "RAM in MB [${MEMORY}]: " INPUT_MEM
if [[ -n "${INPUT_MEM}" && "${INPUT_MEM}" =~ ^[0-9]+$ && "${INPUT_MEM}" -gt 0 ]]; then
  MEMORY="${INPUT_MEM}"
fi

read -p "Web server (apache/nginx) [${WEBSERVER}]: " INPUT_WEB
if [[ -n "${INPUT_WEB}" && ("${INPUT_WEB}" == "apache" || "${INPUT_WEB}" == "nginx") ]]; then
  WEBSERVER="${INPUT_WEB}"
fi

echo ""
echo -e "${CYAN}Final settings:${NC}"
echo -e "  Container ID: ${NEXTID}"
echo -e "  Hostname: ${HOSTNAME}"
echo -e "  CPU Cores: ${CORES}"
echo -e "  RAM: ${MEMORY}MB"
echo -e "  Disk: ${DISK_SIZE}GB"
echo -e "  Storage: ${STORAGE}"
echo -e "  OS: Debian ${OSVERSION}"
echo -e "  Web Server: ${WEBSERVER}"
echo ""

read -p "Press Enter to create the container and install Spotweb, or Ctrl+C to cancel: "

CTID=$NEXTID

echo ""
echo -e "${BLUE}Creating LXC container...${NC}"

# Find the latest Debian 12 template
echo -e "${YELLOW}Finding Debian ${OSVERSION} template...${NC}"
pveam update

# Get the latest Debian 12 template name
TEMPLATE=$(pveam available | grep "debian-${OSVERSION}" | grep "standard" | tail -n1 | awk '{print $2}')

if [ -z "$TEMPLATE" ]; then
    echo -e "${RED}Error: Could not find Debian ${OSVERSION} template${NC}"
    echo -e "${YELLOW}Available templates:${NC}"
    pveam available | grep debian
    exit 1
fi

echo -e "${GREEN}✓ Found template: ${TEMPLATE}${NC}"

TEMPLATE_PATH="/var/lib/vz/template/cache/${TEMPLATE}"

if [ ! -f "$TEMPLATE_PATH" ]; then
    echo -e "${YELLOW}Downloading template...${NC}"
    pveam download local "$TEMPLATE"
fi

# Create container (unprivileged for better security)
pct create $CTID $TEMPLATE_PATH \
    --hostname $HOSTNAME \
    --cores $CORES \
    --memory $MEMORY \
    --rootfs ${STORAGE}:${DISK_SIZE} \
    --net0 name=eth0,bridge=${BRIDGE},ip=dhcp \
    --unprivileged 1 \
    --features nesting=1 \
    --onboot 1 \
    --start 1

echo -e "${GREEN}✓ Container created (ID: $CTID)${NC}"

# Wait for container to start
echo -e "${BLUE}Waiting for container to start...${NC}"
sleep 5

# Wait for network
echo -e "${BLUE}Waiting for network...${NC}"
for i in {1..30}; do
    if pct exec $CTID -- ping -c 1 8.8.8.8 >/dev/null 2>&1; then
        echo -e "${GREEN}✓ Network is ready${NC}"
        break
    fi
    sleep 2
done

# Get container IP
IP=$(pct exec $CTID -- hostname -I | awk '{print $1}')
echo -e "${GREEN}✓ Container IP: $IP${NC}"
echo ""

# Run installation inside container
echo -e "${BLUE}╔════════════════════════════════════════════════════════════╗${NC}"
echo -e "${BLUE}║  Starting Spotweb installation inside container...        ║${NC}"
echo -e "${BLUE}║  This will take 5-15 minutes                              ║${NC}"
echo -e "${BLUE}╚════════════════════════════════════════════════════════════╝${NC}"
echo ""

# Create installation script inside container
pct exec $CTID -- bash <<'INSTALLER_SCRIPT'
#!/bin/bash
set -e

# Error trap to show what failed
trap 'echo -e "\n\033[0;31m✗ Installation failed at line $LINENO\033[0m\n"; exit 1' ERR

# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'

print_success() { echo -e "${GREEN}✓ $1${NC}"; }
print_info() { echo -e "${BLUE}ℹ $1${NC}"; }
print_warning() { echo -e "${YELLOW}⚠ $1${NC}"; }

SPOTWEB_DIR="/var/www/html/spotweb"
DB_NAME="spotweb"
DB_USER="spotweb"

generate_password() {
    tr -dc 'A-Za-z0-9!@#$%^&*()_+=' < /dev/urandom 2>/dev/null | head -c 20
}

DB_PASS=$(generate_password)

# Update system
print_info "Updating system packages..."
apt-get update -qq
apt-get upgrade -y -qq
print_success "System updated"

# Fix locale warnings
print_info "Configuring locales..."
apt-get install -y locales
sed -i 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
locale-gen en_US.UTF-8 > /dev/null 2>&1
update-locale LANG=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
print_success "Locales configured"

# Install basic tools
print_info "Installing basic tools (curl, wget, git, unzip)..."
apt-get install -y curl wget git unzip ca-certificates gnupg2
print_success "Basic tools installed"

# Detect Debian version and set PHP version
DEBIAN_VERSION=$(cat /etc/debian_version | cut -d. -f1)
if [ "$DEBIAN_VERSION" -ge 12 ]; then
    PHP_VERSION="8.2"
else
    PHP_VERSION="7.4"
fi

print_info "Using PHP $PHP_VERSION"

# Install PHP
print_info "Installing PHP ${PHP_VERSION} and extensions..."
echo "  → Installing: php, curl, gd, mbstring, xml, zip, mysql, dom, intl, opcache"
apt-get install -y \
    php${PHP_VERSION} \
    php${PHP_VERSION}-cli \
    php${PHP_VERSION}-common \
    php${PHP_VERSION}-curl \
    php${PHP_VERSION}-gd \
    php${PHP_VERSION}-mbstring \
    php${PHP_VERSION}-xml \
    php${PHP_VERSION}-zip \
    php${PHP_VERSION}-mysql \
    php${PHP_VERSION}-dom \
    php${PHP_VERSION}-intl \
    php${PHP_VERSION}-opcache

WEBSERVER="WEBSERVER_PLACEHOLDER"

if [ "$WEBSERVER" == "nginx" ]; then
    echo "  → Installing PHP-FPM for Nginx"
    apt-get install -y php${PHP_VERSION}-fpm
else
    echo "  → Installing Apache PHP module"
    apt-get install -y libapache2-mod-php${PHP_VERSION}
fi

print_success "PHP installed"

# Install MariaDB
print_info "Installing MariaDB server..."
echo "  → Installing mariadb-server and mariadb-client"
apt-get install -y mariadb-server mariadb-client
echo "  → Enabling and starting MariaDB service"
systemctl enable mariadb
systemctl start mariadb
print_success "MariaDB installed"

# Configure database
print_info "Creating database and user..."
echo "  → Creating database: ${DB_NAME}"
mysql -e "CREATE DATABASE IF NOT EXISTS ${DB_NAME} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

echo "  → Creating user: ${DB_USER}"
# Drop and recreate user to ensure password matches
mysql -e "DROP USER IF EXISTS '${DB_USER}'@'localhost';" 2>/dev/null || true
mysql -e "CREATE USER '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASS}';"
mysql -e "GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';"
mysql -e "FLUSH PRIVILEGES;"
print_success "Database configured"

# Install web server
if [ "$WEBSERVER" == "nginx" ]; then
    print_info "Installing Nginx web server..."
    apt-get install -y nginx
    
    # Configure Nginx
    cat > /etc/nginx/sites-available/spotweb <<EOF
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    
    root /var/www/html/spotweb;
    index index.php index.html;
    
    server_name _;
    
    location / {
        try_files \$uri \$uri/ /index.php?\$query_string;
    }
    
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php${PHP_VERSION}-fpm.sock;
        fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
        include fastcgi_params;
    }
    
    location ~ /\.ht {
        deny all;
    }
}
EOF
    
    ln -sf /etc/nginx/sites-available/spotweb /etc/nginx/sites-enabled/spotweb
    rm -f /etc/nginx/sites-enabled/default
    
    systemctl enable nginx > /dev/null 2>&1
    systemctl enable php${PHP_VERSION}-fpm > /dev/null 2>&1
    systemctl restart php${PHP_VERSION}-fpm
    systemctl restart nginx
    
    print_success "Nginx configured"
else
    print_info "Installing Apache web server..."
    apt-get install -y apache2
    
    # Configure Apache
    echo "  → Enabling Apache modules: rewrite, php"
    a2enmod rewrite
    a2enmod php${PHP_VERSION}
    
    cat > /etc/apache2/sites-available/spotweb.conf <<'EOF'
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/spotweb
    
    <Directory /var/www/html/spotweb>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/spotweb_error.log
    CustomLog ${APACHE_LOG_DIR}/spotweb_access.log combined
</VirtualHost>
EOF
    
    a2dissite 000-default.conf > /dev/null 2>&1
    a2ensite spotweb.conf > /dev/null 2>&1
    
    systemctl enable apache2 > /dev/null 2>&1
    systemctl restart apache2
    
    print_success "Apache configured"
fi

# Download Spotweb
print_info "Downloading Spotweb from GitHub..."
echo "  → Cloning repository (master branch)"
rm -rf "$SPOTWEB_DIR"
if git clone -b master --depth 1 https://github.com/spotweb/spotweb.git "$SPOTWEB_DIR"; then
    print_success "Spotweb downloaded"
else
    echo -e "${RED}✗ Failed to download Spotweb${NC}"
    echo "Please check your internet connection and try again"
    exit 1
fi

# Set permissions
print_info "Setting file permissions..."
echo "  → Setting owner to www-data"
chown -R www-data:www-data "$SPOTWEB_DIR"
echo "  → Setting directory permissions (755)"
find "$SPOTWEB_DIR" -type d -exec chmod 755 {} \;
echo "  → Setting file permissions (644)"
find "$SPOTWEB_DIR" -type f -exec chmod 644 {} \;
echo "  → Creating cache directory"
mkdir -p "${SPOTWEB_DIR}/cache"
chmod 777 "${SPOTWEB_DIR}/cache"
print_success "Permissions set"

# Create database config
print_info "Creating configuration files..."
echo "  → Creating dbsettings.inc.php"
cat > "${SPOTWEB_DIR}/dbsettings.inc.php" <<EOF
<?php
\$dbsettings['engine'] = 'mysql';
\$dbsettings['host'] = 'localhost';
\$dbsettings['dbname'] = '${DB_NAME}';
\$dbsettings['user'] = '${DB_USER}';
\$dbsettings['pass'] = '${DB_PASS}';
?>
EOF

chown www-data:www-data "${SPOTWEB_DIR}/dbsettings.inc.php"
chmod 640 "${SPOTWEB_DIR}/dbsettings.inc.php"

# Create basic ownsettings.php
echo "  → Creating ownsettings.php"
cat > "${SPOTWEB_DIR}/ownsettings.php" <<'EOF'
<?php
error_reporting(E_ALL);
$settings['custom_stylesheet'] = '';
?>
EOF

chown www-data:www-data "${SPOTWEB_DIR}/ownsettings.php"
chmod 644 "${SPOTWEB_DIR}/ownsettings.php"
print_success "Configuration files created"

# Note: vendor/ directory is included in Spotweb git repo, so no Composer needed
cd "$SPOTWEB_DIR"

# Initialize Spotweb database
print_info "Initializing Spotweb database schema..."
echo "  → Creating tables and structure"
php ${SPOTWEB_DIR}/bin/upgrade-db.php
print_success "Database initialized"

# Reset admin password to default
print_info "Setting admin password..."
echo "  → Resetting admin user password to default"
php ${SPOTWEB_DIR}/bin/upgrade-db.php --reset-password admin
print_success "Admin password set to: spotweb"

# Setup systemd timer
print_info "Configuring automatic spot retrieval..."
echo "  → Creating systemd service"
cat > /etc/systemd/system/spotweb-retrieve.service <<EOF
[Unit]
Description=Spotweb Spot Retrieval
After=network.target mysql.service

[Service]
Type=oneshot
User=www-data
WorkingDirectory=${SPOTWEB_DIR}
ExecStart=/usr/bin/php ${SPOTWEB_DIR}/retrieve.php
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
EOF

echo "  → Creating systemd timer (hourly execution)"
cat > /etc/systemd/system/spotweb-retrieve.timer <<'EOF'
[Unit]
Description=Run Spotweb Retrieval Hourly

[Timer]
OnBootSec=5min
OnUnitActiveSec=1h
Persistent=true

[Install]
WantedBy=timers.target
EOF

echo "  → Enabling and starting timer"
systemctl daemon-reload
systemctl enable spotweb-retrieve.timer
systemctl start spotweb-retrieve.timer

print_success "Automatic retrieval configured (runs every hour)"

# Save credentials to file for easy access
print_info "Saving credentials..."
cat > /root/spotweb-credentials.txt <<EOF
Spotweb Installation Credentials
================================

Database Name:     ${DB_NAME}
Database User:     ${DB_USER}
Database Password: ${DB_PASS}

Web Interface: http://$(hostname -I | awk '{print $1}')/

Admin Login:
  Username: admin
  Password: spotweb

Installation Date: $(date)
EOF

chmod 600 /root/spotweb-credentials.txt

echo ""
echo -e "${GREEN}╔════════════════════════════════════════════════════════════╗${NC}"
echo -e "${GREEN}║              Installation Complete!                        ║${NC}"
echo -e "${GREEN}╚════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e "${YELLOW}Database Credentials (SAVE THESE):${NC}"
echo ""
echo "  Database: ${DB_NAME}"
echo "  Username: ${DB_USER}"
echo "  Password: ${DB_PASS}"
echo ""
echo -e "${BLUE}Credentials saved to: /root/spotweb-credentials.txt${NC}"
echo ""

INSTALLER_SCRIPT

# Replace webserver placeholder in the script
pct exec $CTID -- sed -i "s/WEBSERVER_PLACEHOLDER/${WEBSERVER}/g" /tmp/installer.sh 2>/dev/null || true

# Get the credentials
echo ""
echo -e "${GREEN}╔════════════════════════════════════════════════════════════╗${NC}"
echo -e "${GREEN}║         Spotweb Installation Complete!                    ║${NC}"
echo -e "${GREEN}╚════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e "${CYAN}Container Information:${NC}"
echo -e "  Container ID:  ${CTID}"
echo -e "  Hostname:      ${HOSTNAME}"
echo -e "  IP Address:    ${IP}"
echo -e "  Web Server:    ${WEBSERVER}"
echo ""

# Get credentials from container
CREDS=$(pct exec $CTID -- cat /root/spotweb-credentials.txt 2>/dev/null)

echo -e "${YELLOW}Database Credentials:${NC}"
echo ""
pct exec $CTID -- grep -E "Database Name|Database User|Database Password" /root/spotweb-credentials.txt 2>/dev/null
echo ""

echo -e "${YELLOW}Admin Login Credentials:${NC}"
echo ""
echo -e "  Username: ${GREEN}admin${NC}"
echo -e "  Password: ${GREEN}spotweb${NC}"
echo ""

echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${GREEN}Access Spotweb:${NC}"
echo ""
echo -e "  ${BLUE}→ http://${IP}/${NC}"
echo ""
echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo ""

echo -e "${CYAN}Next Steps:${NC}"
echo "  1. Open the URL above in your browser"
echo "  2. Login with default admin credentials (admin/spotweb)"
echo "  3. Configure your Usenet server in Settings"
echo "  4. Start retrieving spots!"
echo ""

echo -e "${CYAN}Container Management:${NC}"
echo "  Enter container:    pct enter ${CTID}"
echo "  View credentials:   pct exec ${CTID} -- cat /root/spotweb-credentials.txt"
echo "  Stop container:     pct stop ${CTID}"
echo "  Start container:    pct start ${CTID}"
echo "  Check retrieval:    pct exec ${CTID} -- systemctl status spotweb-retrieve.timer"
echo ""

# Calculate elapsed time
END_TIME=$(date +%s)
ELAPSED=$((END_TIME - START_TIME))
MINUTES=$((ELAPSED / 60))
SECONDS=$((ELAPSED % 60))

echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${GREEN}✓ Installation completed in ${MINUTES}m ${SECONDS}s${NC}"
echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo ""


dit maakt de CT aan, installeerd spotweb en al het nodige... bij mij duurt het 1 minuut :)

  • internetsmurf
  • Registratie: Juni 2001
  • Laatst online: 16-12 19:06
Matched: spotweb
Venimk1 schreef op maandag 8 december 2025 @ 05:43:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
#!/usr/bin/env bash

# Spotweb Proxmox LXC Installer - All-in-One Version
# Copyright (c) 2025 VenimK
# License: MIT
# Creates LXC container and installs Spotweb automatically

source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)

# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color

function header_info {
clear
cat <<"EOF"
   _____             __                __  
  / ___/____  ____  / /__      _____  / /_ 
  \__ \/ __ \/ __ \/ __/ | /| / / _ \/ __ \
 ___/ / /_/ / /_/ / /_ | |/ |/ /  __/ /_/ /
/____/ .___/\____/\__/ |__/|__/\___/_.___/ 
    /_/                                     
    
    Automated Debian LXC + Spotweb Installer
EOF
echo ""
}

header_info

# Start timer
START_TIME=$(date +%s)

# Configuration
CTID=""
HOSTNAME="spotweb"
DISK_SIZE="20"
CORES="2"
MEMORY="2048"
BRIDGE="vmbr0"
OSTYPE="debian"
OSVERSION="12"
WEBSERVER="apache"  # or nginx

# Get next available CTID
NEXTID=$(pvesh get /cluster/nextid)

# Detect available storage for containers
echo -e "${BLUE}Detecting available storage...${NC}"

# Prefer storages that explicitly support rootdir (containers)
mapfile -t STORAGE_OPTIONS < <(pvesm status -content rootdir 2>/dev/null | awk 'NR>1 {print $1}')

# Fallback: any storage entry if none reported with rootdir
if [ ${#STORAGE_OPTIONS[@]} -eq 0 ]; then
    mapfile -t STORAGE_OPTIONS < <(pvesm status 2>/dev/null | awk 'NR>1 {print $1}')
fi

if [ ${#STORAGE_OPTIONS[@]} -eq 0 ]; then
    echo -e "${RED}Error: No storage found on this Proxmox host${NC}"
    echo -e "${YELLOW}pvesm status output:${NC}"
    pvesm status || true
    exit 1
fi

echo -e "${CYAN}Available storage options:${NC}"
idx=1
for store in "${STORAGE_OPTIONS[@]}"; do
    echo -e "  ${idx}) ${store}"
    idx=$((idx+1))
done

echo ""
read -p "Select storage [1-${#STORAGE_OPTIONS[@]}] (default 1): " STORAGE_CHOICE

if [ -z "${STORAGE_CHOICE}" ]; then
    STORAGE_CHOICE=1
fi

if ! [[ "${STORAGE_CHOICE}" =~ ^[0-9]+$ ]] || [ "${STORAGE_CHOICE}" -lt 1 ] || [ "${STORAGE_CHOICE}" -gt ${#STORAGE_OPTIONS[@]} ]; then
    echo -e "${RED}Invalid selection. Aborting.${NC}"
    exit 1
fi

STORAGE=${STORAGE_OPTIONS[$((STORAGE_CHOICE-1))]}

echo -e "${GREEN}✓ Using storage: ${STORAGE}${NC}"

echo -e "${CYAN}Spotweb LXC Container Setup${NC}"
echo ""
echo -e "${YELLOW}This will create a Debian 12 LXC container and install Spotweb${NC}"
echo ""
echo -e "${GREEN}Default settings:${NC}"
echo -e "  Container ID: ${NEXTID}"
echo -e "  Hostname: ${HOSTNAME}"
echo -e "  CPU Cores: ${CORES}"
echo -e "  RAM: ${MEMORY}MB"
echo -e "  Disk: ${DISK_SIZE}GB"
echo -e "  Storage: ${STORAGE}"
echo -e "  OS: Debian ${OSVERSION}"
echo -e "  Web Server: ${WEBSERVER}"
echo ""

read -p "Container hostname [${HOSTNAME}]: " INPUT_HOST
if [[ -n "${INPUT_HOST}" ]]; then
  HOSTNAME="${INPUT_HOST}"
fi

read -p "Disk size in GB [${DISK_SIZE}]: " INPUT_DISK
if [[ -n "${INPUT_DISK}" && "${INPUT_DISK}" =~ ^[0-9]+$ && "${INPUT_DISK}" -gt 0 ]]; then
  DISK_SIZE="${INPUT_DISK}"
fi

read -p "CPU cores [${CORES}]: " INPUT_CORES
if [[ -n "${INPUT_CORES}" && "${INPUT_CORES}" =~ ^[0-9]+$ && "${INPUT_CORES}" -gt 0 ]]; then
  CORES="${INPUT_CORES}"
fi

read -p "RAM in MB [${MEMORY}]: " INPUT_MEM
if [[ -n "${INPUT_MEM}" && "${INPUT_MEM}" =~ ^[0-9]+$ && "${INPUT_MEM}" -gt 0 ]]; then
  MEMORY="${INPUT_MEM}"
fi

read -p "Web server (apache/nginx) [${WEBSERVER}]: " INPUT_WEB
if [[ -n "${INPUT_WEB}" && ("${INPUT_WEB}" == "apache" || "${INPUT_WEB}" == "nginx") ]]; then
  WEBSERVER="${INPUT_WEB}"
fi

echo ""
echo -e "${CYAN}Final settings:${NC}"
echo -e "  Container ID: ${NEXTID}"
echo -e "  Hostname: ${HOSTNAME}"
echo -e "  CPU Cores: ${CORES}"
echo -e "  RAM: ${MEMORY}MB"
echo -e "  Disk: ${DISK_SIZE}GB"
echo -e "  Storage: ${STORAGE}"
echo -e "  OS: Debian ${OSVERSION}"
echo -e "  Web Server: ${WEBSERVER}"
echo ""

read -p "Press Enter to create the container and install Spotweb, or Ctrl+C to cancel: "

CTID=$NEXTID

echo ""
echo -e "${BLUE}Creating LXC container...${NC}"

# Find the latest Debian 12 template
echo -e "${YELLOW}Finding Debian ${OSVERSION} template...${NC}"
pveam update

# Get the latest Debian 12 template name
TEMPLATE=$(pveam available | grep "debian-${OSVERSION}" | grep "standard" | tail -n1 | awk '{print $2}')

if [ -z "$TEMPLATE" ]; then
    echo -e "${RED}Error: Could not find Debian ${OSVERSION} template${NC}"
    echo -e "${YELLOW}Available templates:${NC}"
    pveam available | grep debian
    exit 1
fi

echo -e "${GREEN}✓ Found template: ${TEMPLATE}${NC}"

TEMPLATE_PATH="/var/lib/vz/template/cache/${TEMPLATE}"

if [ ! -f "$TEMPLATE_PATH" ]; then
    echo -e "${YELLOW}Downloading template...${NC}"
    pveam download local "$TEMPLATE"
fi

# Create container (unprivileged for better security)
pct create $CTID $TEMPLATE_PATH \
    --hostname $HOSTNAME \
    --cores $CORES \
    --memory $MEMORY \
    --rootfs ${STORAGE}:${DISK_SIZE} \
    --net0 name=eth0,bridge=${BRIDGE},ip=dhcp \
    --unprivileged 1 \
    --features nesting=1 \
    --onboot 1 \
    --start 1

echo -e "${GREEN}✓ Container created (ID: $CTID)${NC}"

# Wait for container to start
echo -e "${BLUE}Waiting for container to start...${NC}"
sleep 5

# Wait for network
echo -e "${BLUE}Waiting for network...${NC}"
for i in {1..30}; do
    if pct exec $CTID -- ping -c 1 8.8.8.8 >/dev/null 2>&1; then
        echo -e "${GREEN}✓ Network is ready${NC}"
        break
    fi
    sleep 2
done

# Get container IP
IP=$(pct exec $CTID -- hostname -I | awk '{print $1}')
echo -e "${GREEN}✓ Container IP: $IP${NC}"
echo ""

# Run installation inside container
echo -e "${BLUE}╔════════════════════════════════════════════════════════════╗${NC}"
echo -e "${BLUE}║  Starting Spotweb installation inside container...        ║${NC}"
echo -e "${BLUE}║  This will take 5-15 minutes                              ║${NC}"
echo -e "${BLUE}╚════════════════════════════════════════════════════════════╝${NC}"
echo ""

# Create installation script inside container
pct exec $CTID -- bash <<'INSTALLER_SCRIPT'
#!/bin/bash
set -e

# Error trap to show what failed
trap 'echo -e "\n\033[0;31m✗ Installation failed at line $LINENO\033[0m\n"; exit 1' ERR

# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'

print_success() { echo -e "${GREEN}✓ $1${NC}"; }
print_info() { echo -e "${BLUE}ℹ $1${NC}"; }
print_warning() { echo -e "${YELLOW}⚠ $1${NC}"; }

SPOTWEB_DIR="/var/www/html/spotweb"
DB_NAME="spotweb"
DB_USER="spotweb"

generate_password() {
    tr -dc 'A-Za-z0-9!@#$%^&*()_+=' < /dev/urandom 2>/dev/null | head -c 20
}

DB_PASS=$(generate_password)

# Update system
print_info "Updating system packages..."
apt-get update -qq
apt-get upgrade -y -qq
print_success "System updated"

# Fix locale warnings
print_info "Configuring locales..."
apt-get install -y locales
sed -i 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
locale-gen en_US.UTF-8 > /dev/null 2>&1
update-locale LANG=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
print_success "Locales configured"

# Install basic tools
print_info "Installing basic tools (curl, wget, git, unzip)..."
apt-get install -y curl wget git unzip ca-certificates gnupg2
print_success "Basic tools installed"

# Detect Debian version and set PHP version
DEBIAN_VERSION=$(cat /etc/debian_version | cut -d. -f1)
if [ "$DEBIAN_VERSION" -ge 12 ]; then
    PHP_VERSION="8.2"
else
    PHP_VERSION="7.4"
fi

print_info "Using PHP $PHP_VERSION"

# Install PHP
print_info "Installing PHP ${PHP_VERSION} and extensions..."
echo "  → Installing: php, curl, gd, mbstring, xml, zip, mysql, dom, intl, opcache"
apt-get install -y \
    php${PHP_VERSION} \
    php${PHP_VERSION}-cli \
    php${PHP_VERSION}-common \
    php${PHP_VERSION}-curl \
    php${PHP_VERSION}-gd \
    php${PHP_VERSION}-mbstring \
    php${PHP_VERSION}-xml \
    php${PHP_VERSION}-zip \
    php${PHP_VERSION}-mysql \
    php${PHP_VERSION}-dom \
    php${PHP_VERSION}-intl \
    php${PHP_VERSION}-opcache

WEBSERVER="WEBSERVER_PLACEHOLDER"

if [ "$WEBSERVER" == "nginx" ]; then
    echo "  → Installing PHP-FPM for Nginx"
    apt-get install -y php${PHP_VERSION}-fpm
else
    echo "  → Installing Apache PHP module"
    apt-get install -y libapache2-mod-php${PHP_VERSION}
fi

print_success "PHP installed"

# Install MariaDB
print_info "Installing MariaDB server..."
echo "  → Installing mariadb-server and mariadb-client"
apt-get install -y mariadb-server mariadb-client
echo "  → Enabling and starting MariaDB service"
systemctl enable mariadb
systemctl start mariadb
print_success "MariaDB installed"

# Configure database
print_info "Creating database and user..."
echo "  → Creating database: ${DB_NAME}"
mysql -e "CREATE DATABASE IF NOT EXISTS ${DB_NAME} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

echo "  → Creating user: ${DB_USER}"
# Drop and recreate user to ensure password matches
mysql -e "DROP USER IF EXISTS '${DB_USER}'@'localhost';" 2>/dev/null || true
mysql -e "CREATE USER '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASS}';"
mysql -e "GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';"
mysql -e "FLUSH PRIVILEGES;"
print_success "Database configured"

# Install web server
if [ "$WEBSERVER" == "nginx" ]; then
    print_info "Installing Nginx web server..."
    apt-get install -y nginx
    
    # Configure Nginx
    cat > /etc/nginx/sites-available/spotweb <<EOF
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    
    root /var/www/html/spotweb;
    index index.php index.html;
    
    server_name _;
    
    location / {
        try_files \$uri \$uri/ /index.php?\$query_string;
    }
    
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php${PHP_VERSION}-fpm.sock;
        fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
        include fastcgi_params;
    }
    
    location ~ /\.ht {
        deny all;
    }
}
EOF
    
    ln -sf /etc/nginx/sites-available/spotweb /etc/nginx/sites-enabled/spotweb
    rm -f /etc/nginx/sites-enabled/default
    
    systemctl enable nginx > /dev/null 2>&1
    systemctl enable php${PHP_VERSION}-fpm > /dev/null 2>&1
    systemctl restart php${PHP_VERSION}-fpm
    systemctl restart nginx
    
    print_success "Nginx configured"
else
    print_info "Installing Apache web server..."
    apt-get install -y apache2
    
    # Configure Apache
    echo "  → Enabling Apache modules: rewrite, php"
    a2enmod rewrite
    a2enmod php${PHP_VERSION}
    
    cat > /etc/apache2/sites-available/spotweb.conf <<'EOF'
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/spotweb
    
    <Directory /var/www/html/spotweb>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/spotweb_error.log
    CustomLog ${APACHE_LOG_DIR}/spotweb_access.log combined
</VirtualHost>
EOF
    
    a2dissite 000-default.conf > /dev/null 2>&1
    a2ensite spotweb.conf > /dev/null 2>&1
    
    systemctl enable apache2 > /dev/null 2>&1
    systemctl restart apache2
    
    print_success "Apache configured"
fi

# Download Spotweb
print_info "Downloading Spotweb from GitHub..."
echo "  → Cloning repository (master branch)"
rm -rf "$SPOTWEB_DIR"
if git clone -b master --depth 1 https://github.com/spotweb/spotweb.git "$SPOTWEB_DIR"; then
    print_success "Spotweb downloaded"
else
    echo -e "${RED}✗ Failed to download Spotweb${NC}"
    echo "Please check your internet connection and try again"
    exit 1
fi

# Set permissions
print_info "Setting file permissions..."
echo "  → Setting owner to www-data"
chown -R www-data:www-data "$SPOTWEB_DIR"
echo "  → Setting directory permissions (755)"
find "$SPOTWEB_DIR" -type d -exec chmod 755 {} \;
echo "  → Setting file permissions (644)"
find "$SPOTWEB_DIR" -type f -exec chmod 644 {} \;
echo "  → Creating cache directory"
mkdir -p "${SPOTWEB_DIR}/cache"
chmod 777 "${SPOTWEB_DIR}/cache"
print_success "Permissions set"

# Create database config
print_info "Creating configuration files..."
echo "  → Creating dbsettings.inc.php"
cat > "${SPOTWEB_DIR}/dbsettings.inc.php" <<EOF
<?php
\$dbsettings['engine'] = 'mysql';
\$dbsettings['host'] = 'localhost';
\$dbsettings['dbname'] = '${DB_NAME}';
\$dbsettings['user'] = '${DB_USER}';
\$dbsettings['pass'] = '${DB_PASS}';
?>
EOF

chown www-data:www-data "${SPOTWEB_DIR}/dbsettings.inc.php"
chmod 640 "${SPOTWEB_DIR}/dbsettings.inc.php"

# Create basic ownsettings.php
echo "  → Creating ownsettings.php"
cat > "${SPOTWEB_DIR}/ownsettings.php" <<'EOF'
<?php
error_reporting(E_ALL);
$settings['custom_stylesheet'] = '';
?>
EOF

chown www-data:www-data "${SPOTWEB_DIR}/ownsettings.php"
chmod 644 "${SPOTWEB_DIR}/ownsettings.php"
print_success "Configuration files created"

# Note: vendor/ directory is included in Spotweb git repo, so no Composer needed
cd "$SPOTWEB_DIR"

# Initialize Spotweb database
print_info "Initializing Spotweb database schema..."
echo "  → Creating tables and structure"
php ${SPOTWEB_DIR}/bin/upgrade-db.php
print_success "Database initialized"

# Reset admin password to default
print_info "Setting admin password..."
echo "  → Resetting admin user password to default"
php ${SPOTWEB_DIR}/bin/upgrade-db.php --reset-password admin
print_success "Admin password set to: spotweb"

# Setup systemd timer
print_info "Configuring automatic spot retrieval..."
echo "  → Creating systemd service"
cat > /etc/systemd/system/spotweb-retrieve.service <<EOF
[Unit]
Description=Spotweb Spot Retrieval
After=network.target mysql.service

[Service]
Type=oneshot
User=www-data
WorkingDirectory=${SPOTWEB_DIR}
ExecStart=/usr/bin/php ${SPOTWEB_DIR}/retrieve.php
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
EOF

echo "  → Creating systemd timer (hourly execution)"
cat > /etc/systemd/system/spotweb-retrieve.timer <<'EOF'
[Unit]
Description=Run Spotweb Retrieval Hourly

[Timer]
OnBootSec=5min
OnUnitActiveSec=1h
Persistent=true

[Install]
WantedBy=timers.target
EOF

echo "  → Enabling and starting timer"
systemctl daemon-reload
systemctl enable spotweb-retrieve.timer
systemctl start spotweb-retrieve.timer

print_success "Automatic retrieval configured (runs every hour)"

# Save credentials to file for easy access
print_info "Saving credentials..."
cat > /root/spotweb-credentials.txt <<EOF
Spotweb Installation Credentials
================================

Database Name:     ${DB_NAME}
Database User:     ${DB_USER}
Database Password: ${DB_PASS}

Web Interface: http://$(hostname -I | awk '{print $1}')/

Admin Login:
  Username: admin
  Password: spotweb

Installation Date: $(date)
EOF

chmod 600 /root/spotweb-credentials.txt

echo ""
echo -e "${GREEN}╔════════════════════════════════════════════════════════════╗${NC}"
echo -e "${GREEN}║              Installation Complete!                        ║${NC}"
echo -e "${GREEN}╚════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e "${YELLOW}Database Credentials (SAVE THESE):${NC}"
echo ""
echo "  Database: ${DB_NAME}"
echo "  Username: ${DB_USER}"
echo "  Password: ${DB_PASS}"
echo ""
echo -e "${BLUE}Credentials saved to: /root/spotweb-credentials.txt${NC}"
echo ""

INSTALLER_SCRIPT

# Replace webserver placeholder in the script
pct exec $CTID -- sed -i "s/WEBSERVER_PLACEHOLDER/${WEBSERVER}/g" /tmp/installer.sh 2>/dev/null || true

# Get the credentials
echo ""
echo -e "${GREEN}╔════════════════════════════════════════════════════════════╗${NC}"
echo -e "${GREEN}║         Spotweb Installation Complete!                    ║${NC}"
echo -e "${GREEN}╚════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e "${CYAN}Container Information:${NC}"
echo -e "  Container ID:  ${CTID}"
echo -e "  Hostname:      ${HOSTNAME}"
echo -e "  IP Address:    ${IP}"
echo -e "  Web Server:    ${WEBSERVER}"
echo ""

# Get credentials from container
CREDS=$(pct exec $CTID -- cat /root/spotweb-credentials.txt 2>/dev/null)

echo -e "${YELLOW}Database Credentials:${NC}"
echo ""
pct exec $CTID -- grep -E "Database Name|Database User|Database Password" /root/spotweb-credentials.txt 2>/dev/null
echo ""

echo -e "${YELLOW}Admin Login Credentials:${NC}"
echo ""
echo -e "  Username: ${GREEN}admin${NC}"
echo -e "  Password: ${GREEN}spotweb${NC}"
echo ""

echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${GREEN}Access Spotweb:${NC}"
echo ""
echo -e "  ${BLUE}→ http://${IP}/${NC}"
echo ""
echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo ""

echo -e "${CYAN}Next Steps:${NC}"
echo "  1. Open the URL above in your browser"
echo "  2. Login with default admin credentials (admin/spotweb)"
echo "  3. Configure your Usenet server in Settings"
echo "  4. Start retrieving spots!"
echo ""

echo -e "${CYAN}Container Management:${NC}"
echo "  Enter container:    pct enter ${CTID}"
echo "  View credentials:   pct exec ${CTID} -- cat /root/spotweb-credentials.txt"
echo "  Stop container:     pct stop ${CTID}"
echo "  Start container:    pct start ${CTID}"
echo "  Check retrieval:    pct exec ${CTID} -- systemctl status spotweb-retrieve.timer"
echo ""

# Calculate elapsed time
END_TIME=$(date +%s)
ELAPSED=$((END_TIME - START_TIME))
MINUTES=$((ELAPSED / 60))
SECONDS=$((ELAPSED % 60))

echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${GREEN}✓ Installation completed in ${MINUTES}m ${SECONDS}s${NC}"
echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo ""


dit maakt de CT aan, installeerd spotweb en al het nodige... bij mij duurt het 1 minuut :)
Een vraag: hoe voer ik dit script uit in Proxmox?

  • remcoXP
  • Registratie: Februari 2002
  • Nu online
Geen matches
kan je deze in de repo van helper scripts plaatsen? dan hebben duizenden mensen er wat aan :)
Super! ik heb hem nu als home assistant addon maar een lxc lijkt mij beter!

Gadget-freakz.com. Feedback en tips zijn welkom.


  • Venimk1
  • Registratie: Maart 2011
  • Laatst online: 15:16
Matched: spotweb
internetsmurf schreef op maandag 8 december 2025 @ 17:30:
[...]

Een vraag: hoe voer ik dit script uit in Proxmox?
voorlopig kan het al zo

in je proxmox host
downloading the file
wget https://raw.githubusercon...te-and-install-spotweb.sh

installeren van spotweb , met aanmaken van LXc container etc ....
bash proxmox-create-and-install-spotweb.sh

dan voor de themes
downloading file
wget https://raw.githubusercon...oy-themes-to-container.sh
installeren van themes in je spotweb LXC
bash deploy-themes-to-container.sh

  • internetsmurf
  • Registratie: Juni 2001
  • Laatst online: 16-12 19:06
Matched: spotweb
Venimk1 schreef op maandag 8 december 2025 @ 19:28:
[...]

voorlopig kan het al zo

in je proxmox host
downloading the file
wget https://raw.githubusercon...te-and-install-spotweb.sh

installeren van spotweb , met aanmaken van LXc container etc ....
bash proxmox-create-and-install-spotweb.sh

dan voor de themes
downloading file
wget https://raw.githubusercon...oy-themes-to-container.sh
installeren van themes in je spotweb LXC
bash deploy-themes-to-container.sh
Dankjewel, ga ik proberen 😉

  • Venimk1
  • Registratie: Maart 2011
  • Laatst online: 15:16
Geen matches
remcoXP schreef op maandag 8 december 2025 @ 17:52:
kan je deze in de repo van helper scripts plaatsen? dan hebben duizenden mensen er wat aan :)
Super! ik heb hem nu als home assistant addon maar een lxc lijkt mij beter!
dat zal ik later ff bezien....

  • Venimk1
  • Registratie: Maart 2011
  • Laatst online: 15:16
Matched: spotweb
the LXC setup installer + spotweb

🚀 Installation
Option 1: Fresh Spotweb Installation (Recommended)
Install Spotweb + themes in one command:

# Download installer
code:
1
2
curl -fsSL https://raw.githubusercontent.com/VenimK/spotweb/themes-only/proxmox-create-and-install-spotweb.sh -o install-spotweb.sh
chmod +x install-spotweb.sh


# Run installer
code:
1
./install-spotweb.sh

During installation, choose:

Option 2: Dark mode only (simple dark theme)
Option 3: Complete theme pack (8 themes + switcher + tools) ⭐ Recommended

[ Voor 63% gewijzigd door Venimk1 op 10-12-2025 13:28 ]


  • remcoXP
  • Registratie: Februari 2002
  • Nu online
Matched: spotweb
even tussen code blocks zetten als wordt je url ongeldig ;)

hartelijk dank!!
Venimk1 schreef op dinsdag 9 december 2025 @ 08:08:
the LXC setup installer + spotweb

wget https://raw.githubusercon...te-and-install-spotweb.sh
chmod +x proxmox-create-and-install-spotweb.sh
./proxmox-create-and-install-spotweb.sh

Option 3 Theme Pack
= spotweb install met 8 preinstalled themes

Theme Editor
wget https://raw.githubusercon...nly/deploy-theme-tools.sh
chmod +x deploy-theme-tools.sh
./deploy-theme-tools.sh

Access your theme tools:

🎨 Theme Customizer:
http://YOUR_IP/tools/theme-customizer.html

📤 Theme Upload:
http://YOUR_IP/tools/theme-upload.php
(Default password: spotweb123)

💡 Workflow:
1. Create theme in Customizer
2. Download CSS file
3. Upload via Upload Tool
4. Theme appears in Spotweb instantly!

🔒 Security Note:
Change upload password in: theme-upload.php (line 8)

Gadget-freakz.com. Feedback en tips zijn welkom.


  • remcoXP
  • Registratie: Februari 2002
  • Nu online
Geen matches
weet iemand toevallig of het mogelijk is thumbnails te zien in het overzicht zoals bijvoorbeeld de android app?
nu moet je of hoveren, of de post open klikken.

Gadget-freakz.com. Feedback en tips zijn welkom.


  • Kroonkurk
  • Registratie: December 2015
  • Laatst online: 10:03
Geen matches
Bedoel je bij Configuratie --> Voorkeuren wijzigen --> Template voor niet mobiele apparaten --> Modern ?

  • remcoXP
  • Registratie: Februari 2002
  • Nu online
Geen matches
Kroonkurk schreef op donderdag 11 december 2025 @ 21:56:
Bedoel je bij Configuratie --> Voorkeuren wijzigen --> Template voor niet mobiele apparaten --> Modern ?
dat zie ik niet > modern
op de android app is dat ook handig.

op die manier hoef je niet te hoveren of een post open te klikken. weet iemand of dit mogelijk is?

Gadget-freakz.com. Feedback en tips zijn welkom.


  • Kroonkurk
  • Registratie: December 2015
  • Laatst online: 10:03
Matched: spotweb
Dan heb je schijnbaar niet de laatste versie ?

https://github.com/ProGoogleNederland/Spotweb-We1rdo-2.0

  • mesa57
  • Registratie: Juni 2006
  • Laatst online: 12:22
Matched: spotweb
Aan de develop branch van spotweb is het 'modern' theme toegevoegd.
Als je die geselecteerd hebt kun je kiezen uit cards of list en light of dark mode.
Het oude we1rdo theme blijft behouden en is ook nog selecteerbaar.

  • DjoeC
  • Registratie: November 2018
  • Nu online
Geen matches
Als anonieme grebruiker krijg ik nooit het we1rdo thema te zijn (in Docker) ook al is dat onder Admin als standaard gezet. Trouwens, ook als domme gebruiker (niet admin, wel ingelogd) pakt ie dat thema niet op.... Kan ik het "ergens" default maken want ik wil eigenlijk altijd de tabel ipv de plaatjeslijst..... 60 regels op mijn scherm heb ik liever dan 8 plaatjes.....

  • Kroonkurk
  • Registratie: December 2015
  • Laatst online: 10:03
Geen matches
Moet je de docker versie van jgeusebroek gebruiken. Kan je uit de 3 thema kiezen.
Ik ben wel als admin ingelogd, dan kan je het thema wijzigen.

  • DjoeC
  • Registratie: November 2018
  • Nu online
Geen matches
Kroonkurk schreef op zaterdag 13 december 2025 @ 14:10:
Moet je de docker versie van jgeusebroek gebruiken. Kan je uit de 3 thema kiezen.
Ik ben wel als admin ingelogd, dan kan je het thema wijzigen.
Tnx, ik gebruik nu erikdevries, zal die andere eens bekijken. Wat ik NIET wil is standaard inloggen als admin, sterker, als ik 's avonds op de bank zit en ff wil kijken wil ik helemaal niet inloggen en dus anoniempje zijn.

Ik kan nu trouwens ook uit 3 thema's kiezen: mobile, modern en we1rdo - maar voor anoniem (niet ingelgd) heeft de keuze geen effect.

[ Voor 12% gewijzigd door DjoeC op 13-12-2025 14:16 ]


  • remcoXP
  • Registratie: Februari 2002
  • Nu online
Geen matches
Venimk1 top voor je werk. heb de container draaien maar omdat ik naar development branche wil schakelen zou ik graag willen inloggen op de container.
maar ik kom met geen mogelijkheid op de container zelf ingelogd? wel via pve enter.
is dit bewust?

Gadget-freakz.com. Feedback en tips zijn welkom.


  • mesa57
  • Registratie: Juni 2006
  • Laatst online: 12:22
Geen matches
DjoeC schreef op zaterdag 13 december 2025 @ 13:54:
Als anonieme grebruiker krijg ik nooit het we1rdo thema te zijn (in Docker) ook al is dat onder Admin als standaard gezet. Trouwens, ook als domme gebruiker (niet admin, wel ingelogd) pakt ie dat thema niet op.... Kan ik het "ergens" default maken want ik wil eigenlijk altijd de tabel ipv de plaatjeslijst..... 60 regels op mijn scherm heb ik liever dan 8 plaatjes.....
Met view table krijg je gewoon weer een lijst.
Afbeeldingslocatie: https://tweakers.net/i/LIo6-yq-pTfg08Qi1JZ9p8TAVfY=/800x/filters:strip_exif()/f/image/PTrWHId6ZaPdRgvH41j3wcfh.png?f=fotoalbum_large

  • DjoeC
  • Registratie: November 2018
  • Nu online
Matched: spotweb
mesa57 schreef op zondag 14 december 2025 @ 11:46:
[...]

Met view table krijg je gewoon weer een lijst.
[Afbeelding]
Tja, ik krijg geen keuzemenu in mijn erikdevries docker versie, dan kan ik niet kiezen en moet ik inloggen zodat de gebruikers configuratie wordt opgepakt. Configuratie is dus gekoppeld aan user. De generieke configuratie voor anonymous lijkt niet (eenvoudig) aanpasbaar

Trouwens heb ik gister jgeusebroek uitgerold, daar krijg ik wel de menuregel voor keuzen. Maar helass, ook hier weer de niet aanpasbare systeem default voor anonymous. Dat geldt ook voor het aantal regels per scherm dat ik standaard op 250 heb staan ipv 25.

Ofwel: De laatste (interface) versie van Spotweb onder docker is voor mij "minder geslaagd".

NB: Ik werk - ook op het interne netwerk - altijd in Firefox anoniem en alle cookies worden (met cookie-autodelete) 15 seconden na het sluiten van een website gepoetst.

Ik vraag me trouwens af of er alternatieven voor Spotweb zijn?

  • DjoeC
  • Registratie: November 2018
  • Nu online
Geen matches
Hmm, da's gek: Ik kom er nu achter dat ik de de default wel naar we1rdo kan aanpassen als anoniem, maar dat ik de configuration menu keus alleen krijg vanaf de tablet. Zal wel iets met mijn Firefox te maken hebben dan. Probleem opgelost dus.

  • Bakkertje_01
  • Registratie: November 2010
  • Laatst online: 13:57
Matched: spotweb
Venimk1 schreef op dinsdag 9 december 2025 @ 08:08:
the LXC setup installer + spotweb

🚀 Installation
Option 1: Fresh Spotweb Installation (Recommended)
Install Spotweb + themes in one command:

# Download installer
code:
1
2
curl -fsSL https://raw.githubusercontent.com/VenimK/spotweb/themes-only/proxmox-create-and-install-spotweb.sh -o install-spotweb.sh
chmod +x install-spotweb.sh


# Run installer
code:
1
./install-spotweb.sh

During installation, choose:

Option 2: Dark mode only (simple dark theme)
Option 3: Complete theme pack (8 themes + switcher + tools) ⭐ Recommended
Dit werkt perfect, dankjewel! _/-\o_ _/-\o_ _/-\o_ _/-\o_ _/-\o_

p.s.

Voor de mensen die dit lezen, direct uitvoeren en denken wat moet ik hierna nog doen:

1. De spotweb url openen
2. Rechtsboven inloggen als admin
3. Rechtsboven op Config klikken en dan Settings
4. Onder tabblad Newsservers je newsserver invoeren (Change == Save)
5. Onder tabblad retrieve kun je bepalen hoever je terug wilt gaan met de spots. Zet hier iets neer naar jouw eigen voorkeur. Ikzelf download alleen muziek en heb hem op 31 gezet en de datum aangepast naar 1-12-2025. -> Change
6. Nu kun je wachten totdat de Retrieve actie is uigevoerd. Maar je kunt in Proxmox dit ook forceren door naar de shell te gaan van je proxmox instance -> type: "pct enter [3 cijferig container uid]" -> vervolgens naar de map "cd /var/www/html/spotweb" -> en vervolgens het commando: /usr/bin/php retrieve.php uit te voeren. (dit kan vast korter)

Hierna worden spots geladen.

[ Voor 36% gewijzigd door Bakkertje_01 op 15-12-2025 12:27 ]


  • Venimk1
  • Registratie: Maart 2011
  • Laatst online: 15:16
Geen matches
Heb hier wat aanpassing gedaan van het bestaande voor dit te laten werken onder Mac OS.

https://github.com/VenimK...mes-only/install-macos.sh

Had hier graag paar testers, of reviews van gehad ook, wat beter zou kunnen eventueel..

@Bakkertje_01 Alvast bedankt

  • Venimk1
  • Registratie: Maart 2011
  • Laatst online: 15:16
Matched: spotweb
remcoXP schreef op zondag 14 december 2025 @ 10:53:
Venimk1 top voor je werk. heb de container draaien maar omdat ik naar development branche wil schakelen zou ik graag willen inloggen op de container.
maar ik kom met geen mogelijkheid op de container zelf ingelogd? wel via pve enter.
is dit bewust?
je kan
pct enter jeconainerID
doen
dan
passwd
zal gevraagd worden voor wachtwoord
Daarna kan je effictief in the spotweb container
Pagina: 1 ... 49 50 Laatste

Let op:
Houd er rekening mee dat je geen link zet naar content, dat levert je direct een waarschuwing op.
LET OP: Linken naar spotweb sites is dus ook niet de bedoeling..

Lees de topicstart voor je een vraag stelt! Hierin staan meerdere antwoorden voorgekauwd.