Add config for pollmaster_db and pollmaster

This commit is contained in:
Paul Brinkmeier 2026-09-10 23:34:45 +02:00
parent dde2595990
commit bec88ce7b3
7 changed files with 205 additions and 29 deletions

View File

@ -64,8 +64,12 @@
state: present state: present
- path: factorio/.env - path: factorio/.env
state: present state: present
- path: hitparade/.env
state: present
- path: hitparade/mopidy.conf - path: hitparade/mopidy.conf
state: present state: present
- path: hitparade/pollmaster-config.yml
state: present
# This needs to be done for any services where user: # This needs to be done for any services where user:
# is set in docker-compose.yaml. # is set in docker-compose.yaml.
- name: Create volume directories with correct permissions - name: Create volume directories with correct permissions

View File

@ -0,0 +1,3 @@
FROM mariadb:10.6
COPY pollmaster_scheme.sql /docker-entrypoint-initdb.d/init.sql

View File

@ -1,11 +1,31 @@
services: services:
mopidy: pollmaster_mopidy:
image: git.pbrinkmeier.de/paul/mopidy4hitparade:1 image: git.pbrinkmeier.de/paul/mopidy4hitparade:1
volumes: volumes:
- /etc/pbri/docker/hitparade/mopidy.conf:/etc/mopidy4hitparade.conf:ro - /etc/pbri/docker/hitparade/mopidy.conf:/etc/mopidy4hitparade.conf:ro
- /var/lib/pbri/docker/hitparade_mopidy_cache:/var/cache/mopidy - /var/lib/pbri/docker/hitparade_mopidy_cache:/var/cache/mopidy
- /var/lib/pbri/docker/hitparade_mopidy_lib:/var/lib/mopidy - /var/lib/pbri/docker/hitparade_mopidy_lib:/var/lib/mopidy
pollmaster_db:
image: pbrinkmeier/pollmaster_db
build: .
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
MYSQL_DATABASE: 'pollmaster'
MYSQL_USER: 'pollmaster'
MYSQL_PASSWORD: "${MYSQL_PASSWORD}"
volumes:
- /etc/pbri/docker/hitparade/pollmaster_scheme.sql:/docker-entrypoint-initdb.d/init.sql
- /var/lib/pbri/docker/hitparade_pollmaster_db_data:/var/lib/mysql
# Caddy terminates https for :12080 and :12081
pollmaster:
image: git.pbrinkmeier.de/paul/pollmaster:1
volumes:
- /etc/pbri/docker/hitparade/pollmaster-config.yml:/config.yml:ro
- /var/lib/pbri/docker/pollmaster_sessions:/app/pollmaster/sessions
networks: networks:
default: default:
name: caddy-network name: caddy-network

View File

@ -0,0 +1,114 @@
CREATE TABLE IF NOT EXISTS `admin` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`image` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `Schlüssel 2` (`name`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `artist` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`locked` tinyint(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
UNIQUE KEY `Name` (`name`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2285 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `track` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uri` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`name` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`album` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`year` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`length` mediumint(8) unsigned NOT NULL,
`image` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`locked` tinyint(1) unsigned NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
UNIQUE KEY `URI` (`uri`) USING BTREE,
KEY `Name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=3570 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `playback` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`track_id` int(10) unsigned NOT NULL,
`timestamp` bigint(20) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `FK_playback_track` (`track_id`),
KEY `Time` (`timestamp`),
CONSTRAINT `FK_playback_track` FOREIGN KEY (`track_id`) REFERENCES `track` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=227 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `playlist` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`uri` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `Schlüssel 2` (`name`),
KEY `Schlüssel 3` (`uri`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `playlist_track` (
`playlist_id` int(10) unsigned NOT NULL,
`track_id` int(10) unsigned NOT NULL,
`position` int(10) unsigned NOT NULL,
PRIMARY KEY (`playlist_id`,`track_id`),
KEY `FK_playlist_track_track` (`track_id`),
KEY `FK_playlist_track_playlist` (`playlist_id`),
CONSTRAINT `FK_playlist_track_playlist` FOREIGN KEY (`playlist_id`) REFERENCES `playlist` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK_playlist_track_track` FOREIGN KEY (`track_id`) REFERENCES `track` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `search_term` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`term` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`first_search` bigint(20) unsigned NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `Schlüssel 2` (`term`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=88 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `search_term_track` (
`search_term_id` int(10) unsigned NOT NULL,
`track_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`search_term_id`,`track_id`),
KEY `FK_search_term_tracks_track` (`track_id`),
CONSTRAINT `FK_search_term_tracks_search_term` FOREIGN KEY (`search_term_id`) REFERENCES `search_term` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK_search_term_tracks_track` FOREIGN KEY (`track_id`) REFERENCES `track` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `session` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`image` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`last_seen` bigint(20) unsigned NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `Schlüssel 2` (`name`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `setting` (
`key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `track_artist` (
`track_id` int(10) unsigned NOT NULL,
`artist_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`artist_id`,`track_id`),
KEY `FK__track` (`track_id`),
KEY `FK__artist` (`artist_id`),
CONSTRAINT `FK__artist` FOREIGN KEY (`artist_id`) REFERENCES `artist` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK__track` FOREIGN KEY (`track_id`) REFERENCES `track` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `vote` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`track_id` int(10) unsigned NOT NULL,
`session_id` int(10) unsigned DEFAULT NULL,
`timestamp` bigint(20) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `FK_vote_track` (`track_id`),
KEY `FK_vote_session` (`session_id`),
CONSTRAINT `FK_vote_track` FOREIGN KEY (`track_id`) REFERENCES `track` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=319 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

View File

@ -0,0 +1,11 @@
$ANSIBLE_VAULT;1.1;AES256
39313233623136333531343838643537373064363466356664326339323237623032303436613735
6233383831383339366365663931333837313161646263390a646237306331386263323031373164
33383365643735343834643839356238646161613330353938643738636135653562646430303330
3332306436613537370a653234353464646639366236623665623162643363353230643963636361
65386363623336396664333237313066383764656438363233653831623238623062333064343263
36336132393563333031656366313066383132663732313964376261656331613863393965393232
66383031366564313636643363653239663537616537623263383135326464376330636333303736
32316530316139323264353136633865373634323761653763326262383238396639646664653039
31376639346138343635343937613061623261666465323332313361363064393035663038346231
3734333734656334626265643030303634383864613536373934

View File

@ -1,29 +1,26 @@
$ANSIBLE_VAULT;1.1;AES256 $ANSIBLE_VAULT;1.1;AES256
30376238333130343636356165626230306663333433303031333364623636323638623335383633 39633434323966613834613063353666396663653732313765366566376136633039623537623937
3530636161643935356530383934306230303434333232630a633435623533393632393938386638 3763336362643734323366363265666332633465386137630a306231646266323565313463353837
66666335343933363831656431333337636138326638333962376262626134353364626633363135 66623239373436333639646535323835626436346462633034663638346666386264353134643762
3830353238396238340a366635633532656131663363646336326364653332616639653437353935 3231383033656136650a663933343533616461656431633139313238353561643764343134333864
39383934613863633933656135656566666339653462363233663136613437623266326537303661 32343963363233386161366461656330376136313562303736336336613534303233366538333933
32613061373537636666386561333238613831343462353265616235303830613038623664663335 35613231646432343363396261383566383138623666393034626365663263633639366162343133
32393763326331323532653062303731663033316134623762386231343563643733356166326663 36653131393166333431613436353435353035393231303630343439643632643438353839393062
66663532376466313066636262333632393932383239303565383439346634306631343939313965 65313466613133353836636463306231356664666663366635643738303362643636623061386632
34336234306665313362376161393861623735383935636364336539386334636238316135373639 62363861663534393931653634633761323430613961653264616338373566393634613732613733
63666265653961383634646432376238356331633130626133316133373662386439376534656461 66343232623064656439326433616435333464383138383235306434393137666364316566373033
61333937366433636136326531326365353431656366313563393630613836646538666562313135 31373061653739363064613863633335343561316137633935303466623833393938646630326139
31633735663563393662353830336330366236626630613637373165313937366465396363623963 39353133623530656331323932643164363736386330303162393734313765643833383534363737
32653162393432306161646437643965376231643433616638636636626135353665303233643366 38623632366238623731646462363737333135336335323831653962633936336532343762303661
64636332373332383839353335653762393964623633353361363539323932376666353636323563 65303537366264303535326632306463383735346437313163346530663435383361633463666462
62633133613538306234613137643163346338616461346265383633663161396633303562336637 31306264326565393337333938373430306635303636653138653133616338326631616430343364
38616136626239646664366237323561373939393065313435316137373564643566383335313739 61373064626230383938643233373637346234386133393361393735353330373162323038653262
63616664653835636566616564376131383763373031363538333637396637363437633762363963 61383465313231646635366434373666653634343234343266363437663763633737323738383939
34313835663064666537303764343631626633346130386236303962643738383232363935646563 64396534343231643066336432653430333131333731643930343362303631356335363131356165
64326564383132323563343566663865656235643264303634616561616365323630376131646432 37653464386238303565623935346666333165363264646165613431343966643263663630663332
64393861376639323864366130353435336631636430326634386262376564653936383233616433 65653536613932366266633635663532313933623065336332666331636233343563363461613964
62656166376430373065616330356262376661306236396363646539633863326161313964613666 62343464393164613935353938323661386665613730353030363966313735363133336530363232
31353131306535653766323432373130353530376331326233613064363336373961356336333339 64356339613963646263613364366362643838316234666465303831376262623937366438636166
39383634653531623739316639623561303065396334393061636635613532383764343761633930 36333737646265336131643264333631383838643366343262653663316431636635363530303962
64373635366634376330383234633333363136326337373835323736656439306164346135643163 35323962663035396666633735623563653364666436336137656535303531353366653733343761
34626665303163323139363631363536326639313635646336323264326638383062333265653033 63623165306133356261363033636263376565643962616635383833356236396136
63633034306266383264363666383231333965306636323761306136633433663139653430633235
61623334373466383761386365303737343839396631343733323362363736666535613230316235
65333161633766636635

View File

@ -0,0 +1,27 @@
$ANSIBLE_VAULT;1.1;AES256
39633232643739366565366135306531653235356639316431343864626263366634316638313636
6239366463313463663764373835326635653537626634630a343963616163326534326565663936
65336166626164303033646332316534326431323631646137333637623863613331643732333932
6235613066363363350a613166373864303566616430303463656333336133643233343166363361
61626336623832363339663766303635303166663538666662363137613561396130643865633665
34613166333265643436303564306137373339316464613366353361666633646237393439383139
39366136333664356365303234343336396661613832643762663536633432303665653432636336
30343536363862393365386561663162363632303734396431303439323531386134356265663062
61653838366338653435333534326630613733396533393938316338383136373739376461323964
66663930653834383762363265646634396335323737356436333964353761333630373435663263
33356430663133313863343130636666613663633337396561633164393331343836393133303437
63333964356534666266656139663333313264636265636137636132346163353664633130306665
30343238333031346439363531663661656436636535386361646137633937616136623032653263
64353338323063393630303763363434636362393365306364346435653962333166313131386432
63613538653634653334646138633336303063643562653366343830343666353035356534663262
32363363363633346332323537343565633637626666383164666131633363363033373064353566
32633439653830633234643664333462653634626165356664616230353965396131336534346239
63643532366135613233313439383863623839326361333630373131376361636363343363666139
66393964663862396234303639613834316364613237373565373463363761313233376430396130
39663333346665373862383333633932646531323466623662663630333136393539343061323636
63393861643034303839366465383564646463623633323732313662613235383965666633623665
32333365383734313033313139343963323034396137346232313331636139353134366162663163
39623136393130353366623935306232303561353936326630373230633734663638386662626665
63333139383564386263613337363632343139613935633433643532373262313832623639326537
64343432323233616164626164313638666432633132393339663931633238343430373366373962
3132333365636265366634636439613166626435653238336437