Compare commits

...

257 commits

Author SHA1 Message Date
j
caae7d84bc raw regexp strings 2024-09-02 13:36:55 +02:00
j
a218b906cc documents data view 2024-08-30 16:23:07 +02:00
j
446a748a79 include filename in pandora config 2024-08-25 15:26:55 +02:00
j
1ccc8df75c use exif tags for image rotation 2024-08-23 18:33:54 +02:00
j
f245824448 no opacity 2024-08-09 16:57:25 +02:00
j
12e0181157 make user italic 2024-08-09 10:29:06 +02:00
j
4748930460 option to show user in mobile view 2024-08-08 14:37:27 +02:00
j
b8de041316 typo 2024-08-03 18:22:06 +02:00
j
140b7454e0 add sudo example 2024-06-19 12:03:11 +02:00
j
9ed5a4abd9 listen on ipv6 port by default 2024-06-19 12:01:08 +02:00
j
d7b2cb18f7 use legacy build of pdf.js 2024-06-18 20:06:52 +02:00
j
48f5bcfd11 some german terms 2024-06-14 15:50:40 +01:00
j
b482600179 reuse fps 2024-06-08 11:44:46 +01:00
j
ca701b9749 force_framerate is in video track 2024-06-08 11:42:22 +01:00
j
3579a4de45 force_framerate is in video track 2024-06-08 11:41:35 +01:00
j
df1a96f97a force framerate if source has 90k fps 2024-06-08 11:39:22 +01:00
j
8b60075f39 pdf.js update 2024-06-02 09:12:22 +01:00
j
9e464a1d63 update pdf.js 2024-06-01 11:00:44 +01:00
j
d98177e686 add mjs as javascript extension 2024-06-01 10:59:11 +01:00
j
27d64f2ad5 use code.0x2620.org instead of git.0x2620.org 2024-06-01 10:37:27 +01:00
j
cf0ad718f7 only show clipLayer clips in clips view 2024-05-17 14:13:52 +02:00
j
8e32737776 option to disable empty clips 2024-05-17 12:08:29 +02:00
j
3b56274713 import subtitles with language 2024-05-17 12:08:20 +02:00
j
774450d263 missing imports and typos 2024-04-05 21:20:45 +01:00
j
e1a28c941a fix country fallback 2024-04-05 21:20:15 +01:00
j
c55c733bcd celery fixes 2024-04-05 21:19:57 +01:00
j
853efbba9a link source/project 2024-04-05 10:41:36 +01:00
j
5ade53a0b5 don't show key twice 2024-04-05 10:27:05 +01:00
j
5af5812179 transcript->translation 2024-04-03 19:06:34 +01:00
j
a25509e1a4 use css class for inline images 2024-04-02 22:10:01 +02:00
j
8fa00f31a8 only show content/transcript once 2024-04-02 22:01:05 +02:00
j
82615cfb18 update padma documentKeys 2024-04-02 21:56:39 +02:00
j
5bf71ead09 fallback item 2024-02-17 11:01:32 +00:00
j
55f07ba4b7 fix poster 2024-02-17 11:01:21 +00:00
j
7ad121d912 merge changes from phantasma 2024-02-17 10:55:11 +00:00
j
1b7ee7b275 update edit preview in backend 2024-02-17 10:52:19 +00:00
j
03bd598785 format date 2024-02-17 10:30:40 +00:00
j
40c8c52180 fix rightslevels 2024-02-17 10:30:23 +00:00
j
9b2fbe2e3f docker-compose -> docker compose 2024-01-08 12:10:13 +01:00
j
ecfdee6298 use code.0x2620.org as container registry everywhere 2024-01-07 22:49:03 +01:00
j
5ffcdda762 fix celery docker setup 2024-01-07 19:33:29 +01:00
j
037be04549 use postgres 15 2024-01-07 19:15:27 +01:00
j
d02055d85e chown : 2024-01-07 17:21:16 +01:00
j
3683e60497 default Network not needed 2024-01-07 17:19:35 +01:00
j
876044ce74 use code.0x2620.org as container registry 2024-01-07 16:35:48 +01:00
j
74fca45a9f use /etc/apt/trusted.gpg.d/ instead of apt-key add 2023-12-08 16:17:28 +00:00
j
bc3208a846 tr translations 2023-12-02 18:59:24 +01:00
j
540ee0f4c0 tr translations 2023-12-02 18:45:49 +01:00
j
35852c36cf translate filters 2023-12-02 18:43:25 +01:00
j
1c8ea51d9b tag more translations 2023-12-02 17:49:54 +01:00
j
ba5fba5a10 typo 2023-12-02 17:25:12 +01:00
j
69cd34489a update turkish translations 2023-12-02 17:22:44 +01:00
j
5fa3b66a43 translate site sections 2023-12-02 17:18:50 +01:00
j
f9edbbe1c6 featured edits should work too 2023-11-23 11:38:33 +00:00
j
4794c0f68a fix remux 2023-11-20 20:58:58 +00:00
j
de818c4204 better error for failed imports 2023-11-20 10:19:45 +00:00
j
bcece622e3 fix import 2023-11-20 09:57:25 +00:00
j
7c96d9e994 try audio/video only and without limit after that 2023-11-20 09:56:23 +00:00
j
2cd000698e fix js errors 2023-11-18 21:11:16 +01:00
j
a32ede6b2f more metadata on default info page 2023-11-18 21:04:31 +01:00
j
a890b11790 make elasticsearch work as a single-node and limit ram 2023-11-18 20:52:30 +01:00
j
dca95f9d95 update dependencies 2023-11-18 16:38:20 +01:00
j
667ad0c9d5 use pip for local installs 2023-11-18 16:31:12 +01:00
j
4ef8773562 update yt-dlp 2023-11-18 16:31:02 +01:00
j
384d92214d stram is done if reusing upload 2023-11-18 16:30:50 +01:00
j
19bb7e3b83 don't fail if hieght is None 2023-11-18 12:14:12 +01:00
j
95485f3e4b stream is available after reuse 2023-11-18 12:03:33 +01:00
j
4c415c6b5d get the right resolution 2023-11-18 11:50:08 +01:00
j
a537963b9f fix links with html entities 2023-11-17 11:36:15 +01:00
j
ee11e6b7e1 fix quotes in project titles(more) 2023-11-17 11:28:39 +01:00
j
b82440df24 fix quotes in project titles 2023-11-17 11:25:28 +01:00
j
4fed1112a6 description value has bto be escaped 2023-11-17 11:22:27 +01:00
j
f671971b35 support sites that don't have 480p 2023-11-15 15:37:27 +01:00
j
c0420cabcb display additional keys 2023-11-15 15:36:26 +01:00
j
06dbc277c7 don't fail if extract.timelines is called from another folder 2023-11-14 14:44:57 +01:00
j
a2b7cc9744 include next item tv api 2023-11-04 12:37:45 +01:00
j
615860a7e8 complex filters might be too long for dialog, scroll in that case 2023-10-30 12:48:50 +01:00
j
a99a3eee7a secondary menu 2023-10-27 15:54:01 +02:00
j
32a73f402b load pdf.js with version 2023-10-27 15:53:44 +02:00
j
47b348f724 add embed button to pdf viewer 2023-10-27 13:47:56 +02:00
j
5bc0b70d73 update pdf.js 2023-10-27 13:19:54 +02:00
j
b0356a63bd add crop icons 2023-10-27 13:19:44 +02:00
j
6cf62ed1cd add pandora pdf.js glue 2023-10-27 13:16:54 +02:00
j
39015c0148 clone with --depth 1 causes issues in get_version of python-ox. use full checkout instead 2023-09-22 13:32:08 +02:00
j
900f9bb44d show description in mobile view 2023-08-31 12:22:57 +01:00
j
628bc728ed 2d30059cee followup, textsize fixed in python-ox, switch to Pillow 10 2023-08-25 17:30:07 +02:00
j
869d154d5b fix /m/ view for edits with _ in id 2023-08-25 17:29:24 +02:00
j
2d30059cee pillow 10 fails with: AttributeError: 'ImageDraw' object has no attribute 'textsize' downgrade until that is fixed 2023-08-25 12:30:35 +02:00
j
cbaeffde68 Image.ANTIALIAS->Image.LANCZOS 2023-08-24 23:39:54 +02:00
j
eee51e672c fix upload 2023-08-24 22:22:43 +02:00
j
49187c8faf merge /m view 2023-08-23 21:01:33 +02:00
j
2905774b10 typo 2023-08-18 15:04:21 +02:00
j
d7f087125e speed up stream lookup 2023-08-18 14:59:45 +02:00
j
61dd667a71 source is used in padma, use other key 2023-08-17 12:14:28 +02:00
j
ce27979259 use direct import 2023-08-17 12:14:02 +02:00
j
09e3f2bc7d more translations 2023-08-04 18:48:21 +02:00
j
d44e5e2b25 first round of turkish translations 2023-08-04 17:14:06 +02:00
j
56f248894e better error if we have invalid locale files 2023-08-04 17:13:56 +02:00
j
a8d906743a wrap canShare so we can also limit it to views that work 2023-08-04 14:28:42 +02:00
j
f2ad63143a fix translation creation 2023-08-04 14:04:20 +02:00
j
48aba7bde8 support batch editing user 2023-08-04 13:54:36 +02:00
j
a7e660a8da sequence id migration 2023-07-29 13:43:00 +02:00
j
a5c35d0f41 update db changed check 2023-07-29 13:42:07 +02:00
j
9d5222f0cc oder of video/audio settings matters in ffmpeg>5 2023-07-29 11:07:36 +02:00
j
a25ad7c947 revert 8c977 wrong format, use b:v instead of vb, b:a instead of ab, no speed for 1st pass vp9 2023-07-29 10:58:52 +02:00
j
4073942ec2 only use vp9 if also enabled 2023-07-29 10:27:47 +02:00
j
8c977ba11b newer version of ffmpeg require -v:pass to limit 2-pass encoing to video 2023-07-28 19:53:13 +02:00
j
5c951e2559 fix file create 2023-07-28 19:18:31 +02:00
j
094fb06b92 fix default error log sort 2023-07-28 19:08:37 +02:00
j
fdc7279836 fix auto field 2023-07-28 14:59:13 +02:00
j
f561f1b5e2 don't break annotation index 2023-07-28 00:01:10 +02:00
j
27e5449e59 Celery broker_connection_retry_on_startup=True 2023-07-27 23:50:01 +02:00
j
4fb8879ba0 migrate bigint ids 2023-07-27 23:45:37 +02:00
j
543d01696e dont use lambda in default 2023-07-27 23:30:19 +02:00
j
a035d37229 add apps.py to all apps 2023-07-27 19:27:00 +02:00
j
ff0c9b8221 only run install -r requirements once 2023-07-27 19:05:54 +02:00
j
13d6f7e316 update pip first 2023-07-27 19:05:54 +02:00
j
262e3f29e0 update repo urls 2023-07-27 19:05:54 +02:00
j
00194f13ba now with Debian 12 support 2023-07-27 19:05:47 +02:00
j
27c2e9c849 update tornado version 2023-07-27 15:42:21 +02:00
j
c80f16c77a update django/celery 2023-07-27 15:35:53 +02:00
j
d4df903f82 add multi value add/remove to items 2023-07-27 15:06:43 +02:00
j
7cc5ae8d65 remove unused gpac reference, no longer in debian 2023-07-27 13:11:18 +02:00
j
4913bf8d38 no share button for guests until it only is enabled for urls that work 2023-07-21 11:17:26 +01:00
j
7369954c5f self->document 2023-07-21 11:14:38 +01:00
j
30af377ecb no preview for html pages 2023-07-21 11:13:17 +01:00
j
6e283ad870 fix colleciton links 2023-07-20 12:33:12 +01:00
j
b13b621fd0 fix update 2023-07-15 19:09:38 +05:30
j
84c2a3ac3c make mobile code usable for embedding 2023-07-15 12:59:38 +05:30
j
cf6374e8a6 fix annotation clips 2023-07-15 12:41:41 +05:30
j
d4e89db4c1 fix sort 2023-07-15 12:38:27 +05:30
j
a8cc838d7b fix edit preview 2023-07-15 12:28:15 +05:30
j
cff1c06546 fix annotation links 2023-07-15 12:23:19 +05:30
j
9b1f482a21 fix post update 2023-07-15 12:16:32 +05:30
j
bea0d301a4 add share link at /m/, add share dialog in view menu, fix preview for documents 2023-07-15 12:15:23 +05:30
j
17801df8de remove trailing space 2023-07-15 12:01:50 +05:30
j
5466247848 dont fail if no videopoints exist 2023-07-12 15:07:39 +05:30
j
e7292a5989 elasticsearch no longer uses doc_type, enable on padma and icma 2023-07-12 14:59:55 +05:30
j
b0ece6a566 404 instead of error for invalid oembed requests 2023-07-12 14:17:09 +05:30
j
83df2c0011 remove torrent backend 2023-07-10 14:37:24 +05:30
j
9355ae691d return empty string instead of invalid data url 2023-07-09 15:43:50 +05:30
j
5225026d66 more edit paste fixes 2023-07-09 15:15:54 +05:30
j
dcdbfee72d fix folder collapsed state per section 2023-07-09 15:04:57 +05:30
j
e41b7e19d4 only take first locale 2023-07-09 09:58:54 +05:30
j
1175e5d5bf avoid scroll for long document titles, closes #3140 2023-07-08 19:30:11 +05:30
j
6e8a338f8a add submenu seperator, closes #1983 2023-07-08 19:13:38 +05:30
j
6fb635ebf8 this, closes #3118 2023-07-08 19:02:37 +05:30
j
11c8bb9076 avoid error if switching quickly between videos and edits 2023-07-08 15:16:06 +05:30
j
fd294baec9 make sure in/out/position is <= duration, closes #696 2023-07-08 14:09:23 +05:30
j
51038b7c59 update outdated code 2023-07-08 14:08:53 +05:30
j
adaeb16c69 fix hiding of lists with : in name 2023-07-07 16:14:28 +05:30
j
409c5a1fc2 avoid undefined errors 2023-07-07 16:14:17 +05:30
j
512f07400d don't fail if hidden is not set 2023-07-07 11:49:56 +05:30
j
034b448846 add ability to hide list/edits/collections from personal section but keep around in case they are shared or linked from elsewhere, but cluster the personal section 2023-07-07 11:46:09 +05:30
j
bd9d2ecd7e slightly better group sort 2023-07-06 17:32:05 +05:30
j
028def73d9 resize documents filter on sidebar resize, closes: #3268 2023-07-06 16:50:22 +05:30
j
a667fc5b5b autocomplete keywords 2023-07-06 16:22:33 +05:30
j
f5becafad4 avoid negative pixels 2023-07-06 16:22:23 +05:30
j
92d5c6e763 empty value 2023-07-06 13:59:41 +05:30
j
962be98592 width/height are integer 2023-07-06 10:48:24 +05:30
j
eb15170059 don't fail for invalid resolution requests 2023-07-06 10:34:44 +05:30
j
a2c2e32bfe speed up get api call for items with many files 2023-07-06 09:43:02 +05:30
j
d3b9d87c43 fix annotation title, no startswith for annotations 2023-06-30 16:48:51 +05:30
j
8c3d089bd8 pandora..browser might be undefined 2023-06-27 19:33:21 +05:30
j
4ddb170bc9 pandora..findInput.focusInput might be undefined 2023-06-27 19:29:47 +05:30
j
f65336c28d list might not exist 2023-06-27 12:45:15 +05:30
j
345195e959 more missing panels with early resize 2023-06-27 12:30:53 +05:30
j
69fae04bb8 fall back to use url as is 2023-06-26 10:48:38 +05:30
j
94fc4fbe7a we can only update view if it exists. switch otherwise 2023-06-24 16:13:25 +05:30
j
64b8967ded avoid 'Cannot convert undefined or null to object' on android if device is rotated during initial load 2023-06-24 16:03:16 +05:30
j
068293050e fall back to default edit settings 2023-06-24 14:29:09 +05:30
j
dffb47ffef avoid error if list has not loaded yet 2023-06-24 14:28:46 +05:30
j
9c3edac263 install new requirements 2023-06-23 16:26:14 +05:30
j
9340c0e578 update to new celery api 2023-06-23 16:21:31 +05:30
j
f71434a1ff always reload on close of batch edit dialog if something has changed 2023-06-22 14:48:59 +05:30
j
3c73ef8999 allow batch editing one document 2023-06-22 14:35:35 +05:30
j
f664927b5f columnRequired should not be set for non default keys 2023-06-22 14:31:25 +05:30
j
21db208556 use isSubtitles to check if subtitle layer exists 2023-06-22 14:21:34 +05:30
j
55e47c36bd ugettext_lazy->gettext_lazy 2023-06-13 22:58:29 +01:00
j
48e6d4af6f render search result highlights as images and show in pages view 2023-06-12 14:30:32 +01:00
j
57d3fc0d32 don't store id in batch edits 2023-06-10 13:01:43 +01:00
j
0d70326aa8 fallback to empty string not undefined 2023-06-10 12:49:48 +01:00
j
614beae48e use base64 for urls (work some urls don't work otherwise) 2023-06-08 14:45:52 +02:00
j
19bd818461 prepare for bookworm/lunar 2023-06-08 00:41:08 +02:00
j
448a4ff5e1 update readme to bullseye 2023-06-07 23:00:28 +02:00
j
42bfbb0808 use focal oxframe builds for bullseye 2023-06-07 23:00:28 +02:00
j
7216e255de avoid installing too new version 2023-03-08 12:03:27 +01:00
j
a3880f3b38 fix level check 2023-02-21 18:26:43 +01:00
j
97c8cf67b9 fix subtitles in player view 2023-02-14 10:37:55 +01:00
j
873ec27803 only list items/documents < max level 2023-01-05 14:03:44 +00:00
j
623bbd472c users can see private items if they own it. limit to max_level instead, a80af1 fixup 2023-01-04 14:41:39 +00:00
j
99a135c7d3 don't fail on empty title 2023-01-04 13:58:15 +00:00
j
a80af18400 not editable if rightslevel is > allowed level 2022-12-08 12:26:17 +01:00
j
ffc2504c0f download via media url 2022-11-30 19:44:15 +01:00
j
729b2ea771 use download dialog in player 2022-11-30 19:44:03 +01:00
j
ccbc966282 list view needs sort, increase columnwidth 2022-10-20 11:16:31 +02:00
j
171c0b6095 make user and group available in list view 2022-10-20 11:10:40 +02:00
j
1c8b5b4b48 avoid double test for h264 2022-10-20 11:09:43 +02:00
j
1b0de9ade4 fix manage for python3.10 2022-04-22 18:07:46 +01:00
j
65710e5ef1 add trusted.gpg file 2022-03-26 12:51:30 +01:00
j
40e2481f61 switch to yt-dlp 2022-03-18 16:53:19 +00:00
j
d191f24d03 .ogg can be video too 2022-02-19 13:51:25 +01:00
j
86de7f6269 getPasteIndex might not exist if no edits exist 2022-02-15 18:29:17 +01:00
j
9d124d65af log error, don't fail 2022-02-15 14:56:29 +01:00
j
4be61a3982 smaller transaction, use update_fields to update clip values 2022-02-14 13:32:24 +01:00
j
e3e5e3b9e5 also load localInit in embed view 2022-01-21 17:39:08 +00:00
j
5505d495cf use same subtitle defaults for embedded player 2022-01-21 17:32:24 +00:00
j
af65750363 avoid transaction.atomic insided of transaction.atomic 2022-01-12 11:03:25 +01:00
j
5cfe392e22 close more fds 2022-01-03 12:37:02 +01:00
j
79c5d948b5 close filedescriptor after use 2022-01-03 12:33:15 +01:00
j
e4133ffa1d missing import 2022-01-03 12:26:16 +01:00
j
723c4e3f42 revert 85fd930 not needed 2021-11-24 17:11:40 +01:00
j
85fd930360 update cache on editing items 2021-11-24 17:02:05 +01:00
j
e237d08120 fix sort by value of smart edits 2021-11-24 14:23:50 +01:00
j
5c89662f14 add page views 2021-11-19 14:51:16 +01:00
j
fa42aa4810 log pandora errors too 2021-11-16 12:04:52 +00:00
j
d1c157ffb4 limit titles and names by default 2021-11-16 12:04:33 +00:00
j
950bec609d fulltext search in pages 2021-11-15 15:27:12 +00:00
j
cc2b60453b fix location for pandoractl install 2021-11-15 11:52:48 +00:00
j
2fec9590f7 fix install 2021-11-15 11:50:51 +00:00
j
0cfb499594 only keep templates in git 2021-11-15 11:49:19 +00:00
j
491d8c4629 use environment file for tasks and encoding queue 2021-11-15 11:42:32 +00:00
j
476fa9f0a3 space 2021-11-15 11:36:03 +00:00
j
65fc082b1b if file has audio/video track flag as type 2021-11-14 13:42:06 +00:00
j
49356d2f7a replace all % and & 2021-11-14 13:41:49 +00:00
j
4dbb5e3c51 typo 2021-11-05 00:12:46 +00:00
j
ae8363d4e2 don't show fulltext keys by default 2021-11-04 16:37:32 +00:00
j
10dd0768d1 include itemTitleKeys in for clips 2021-11-01 11:07:57 +00:00
j
bc123a885e update poster inline 2021-10-08 17:26:24 +01:00
j
ed31259fdd don't wait inside task 2021-10-08 16:10:44 +01:00
j
26708eff1f fall back to default preview ratio if item does not have videoRatio 2021-09-30 21:44:20 +01:00
j
fd318ef706 fall back to empty string 2021-09-16 18:49:38 +02:00
j
8a16c7e37f escape & too 2021-09-15 14:05:11 +02:00
j
6118bf3c3a escape & 2021-09-15 14:02:36 +02:00
j
cabcbeb35d list might have gone 2021-08-08 20:29:13 +02:00
j
098d953bbc filter more invalid clips 2021-08-08 19:47:38 +02:00
j
0ba80ada1f fix timeline for edits with 0 duration clips 2021-08-06 14:39:48 +02:00
j
0a7b6c0452 include outer cuts (before, after) 2021-08-06 12:05:19 +02:00
j
b1834520bd typos 2021-08-03 14:38:28 +02:00
j
066d273e10 fix tags later for friends 2021-08-03 13:16:52 +02:00
j
cd8cd40626 hook to add local urls 2021-08-01 18:39:01 +02:00
j
cf95aeff7a fix NoCopyright icon in config.pandora.jsonc 2021-06-15 22:39:28 +01:00
j
feb10ececb disable keyframe index 2021-06-14 10:47:47 +01:00
j
47e4f1cd84 pass subtitles to player too 2021-06-03 17:32:01 +01:00
j
098811d383 fallback to first mode 2021-06-03 17:17:57 +01:00
j
41d417e2a1 editable documents 2021-06-03 17:17:44 +01:00
j
a4d0830e4b fix canEdit flag in renderGroup 2021-06-03 16:53:52 +01:00
j
5583fad801 fix variable 2021-06-03 16:44:46 +01:00
j
ffd735e622 users can add annotations to own videos 2021-06-03 16:38:08 +01:00
j
894e5c5064 only add rights button if we have a rights page 2021-06-03 16:31:13 +01:00
j
166b566fde if user can edit metadata of item, should also be able to add annotations for that item. independent of canAddAnnotations rights 2021-06-03 16:25:56 +01:00
j
157cc7478b fix paste via menu 2021-06-03 16:24:13 +01:00
j
02b89c06dd pass item data to icon 2021-06-03 16:13:48 +01:00
j
49ef611bdb remove unused dialog 2021-06-03 16:02:03 +01:00
j
86bb19b9b6 fallback to previewRatio 2021-05-27 09:41:35 +01:00
j
a9f883859a no need to use full title for tmp files 2021-05-23 19:28:08 +01:00
j
08dc8f2bea overwrite subtitlesTrack 2021-05-21 20:38:25 +01:00
611 changed files with 157453 additions and 84675 deletions

2
.gitignore vendored
View file

@ -36,3 +36,5 @@ pandora/gunicorn_config.py
.DS_Store
.env
overlay/
pandora/encoding.conf
pandora/tasks.conf

View file

@ -1,4 +1,4 @@
FROM 0x2620/pandora-base:latest
FROM code.0x2620.org/0x2620/pandora-base:latest
LABEL maintainer="0x2620@0x2620.org"

View file

@ -7,7 +7,7 @@
We recommend to run pan.do/ra inside of LXD or LXC or dedicated VM or server.
You will need at least 2GB of free disk space
pan.do/ra is known to work with Ubuntu 18.04, 20.04 and Debian/10 (buster),
pan.do/ra is known to work with Debian/12 (bookworm) and Ubuntu 20.04,
other distributions might also work, let us know if it works for you.
Use the following commands as root to install pan.do/ra and all dependencies:

29
ctl
View file

@ -27,25 +27,33 @@ if [ "$action" = "init" ]; then
$SUDO bin/python3 -m pip install -U --ignore-installed "pip<9"
fi
if [ ! -d static/oxjs ]; then
$SUDO git clone --depth 1 -b $branch https://git.0x2620.org/oxjs.git static/oxjs
$SUDO git clone -b $branch https://code.0x2620.org/0x2620/oxjs.git static/oxjs
fi
$SUDO mkdir -p src
if [ ! -d src/oxtimelines ]; then
$SUDO git clone --depth 1 -b $branch https://git.0x2620.org/oxtimelines.git src/oxtimelines
$SUDO git clone -b $branch https://code.0x2620.org/0x2620/oxtimelines.git src/oxtimelines
fi
for package in oxtimelines python-ox; do
cd ${BASE}
if [ ! -d src/${package} ]; then
$SUDO git clone --depth 1 -b $branch https://git.0x2620.org/${package}.git src/${package}
$SUDO git clone -b $branch https://code.0x2620.org/0x2620/${package}.git src/${package}
fi
cd ${BASE}/src/${package}
$SUDO ${BASE}/bin/python setup.py develop
$SUDO ${BASE}/bin/pip install -e .
done
cd ${BASE}
$SUDO ./bin/pip install -r requirements.txt
if [ ! -e pandora/gunicorn_config.py ]; then
$SUDO cp pandora/gunicorn_config.py.in pandora/gunicorn_config.py
fi
for template in gunicorn_config.py encoding.conf tasks.conf; do
if [ ! -e pandora/$template ]; then
$SUDO cp pandora/${template}.in pandora/$template
fi
done
exit 0
fi
if [ "$action" = "version" ]; then
git rev-list HEAD --count
exit 0
fi
@ -73,10 +81,15 @@ if [ `whoami` != 'root' ]; then
exit 1
fi
if [ "$action" = "install" ]; then
cd "`dirname "$0"`"
cd "`dirname "$self"`"
BASE=`pwd`
if [ -x /bin/systemctl ]; then
if [ -d /etc/systemd/system/ ]; then
for template in gunicorn_config.py encoding.conf tasks.conf; do
if [ ! -e pandora/$template ]; then
$SUDO cp pandora/${template}.in pandora/$template
fi
done
for service in $SERVICES; do
if [ -e /lib/systemd/system/${service}.service ]; then
rm -f /lib/systemd/system/${service}.service \

View file

@ -15,7 +15,6 @@ services:
- "127.0.0.1:2620:80"
networks:
- backend
- default
links:
- pandora
- websocketd
@ -28,7 +27,7 @@ services:
restart: unless-stopped
db:
image: postgres:latest
image: postgres:15
networks:
- backend
env_file: .env

View file

@ -1,4 +1,4 @@
FROM debian:buster
FROM debian:12
LABEL maintainer="0x2620@0x2620.org"

View file

@ -1,9 +1,17 @@
#!/bin/bash
UBUNTU_CODENAME=bionic
if [ -e /etc/os-release ]; then
. /etc/os-release
fi
if [ -z "$UBUNTU_CODENAME" ]; then
UBUNTU_CODENAME=bionic
fi
if [ "$VERSION_CODENAME" = "bullseye" ]; then
UBUNTU_CODENAME=focal
fi
if [ "$VERSION_CODENAME" = "bookworm" ]; then
UBUNTU_CODENAME=lunar
fi
export DEBIAN_FRONTEND=noninteractive
echo 'Acquire::Languages "none";' > /etc/apt/apt.conf.d/99languages
@ -44,7 +52,6 @@ apt-get install -y \
python3-numpy \
python3-psycopg2 \
python3-pyinotify \
python3-simplejson \
python3-lxml \
python3-cssselect \
python3-html5lib \
@ -53,7 +60,6 @@ apt-get install -y \
oxframe \
ffmpeg \
mkvtoolnix \
gpac \
imagemagick \
poppler-utils \
ipython3 \

View file

@ -11,7 +11,7 @@ else
proxy=
fi
docker build $proxy -t 0x2620/pandora-base base
docker build -t 0x2620/pandora-nginx nginx
docker build $proxy -t code.0x2620.org/0x2620/pandora-base base
docker build -t code.0x2620.org/0x2620/pandora-nginx nginx
cd ..
docker build -t 0x2620/pandora .
docker build -t code.0x2620.org/0x2620/pandora .

View file

@ -6,7 +6,7 @@ user=pandora
export LANG=en_US.UTF-8
mkdir -p /run/pandora
chown -R ${user}.${user} /run/pandora
chown -R ${user}:${user} /run/pandora
update="/usr/bin/sudo -u $user -E -H /srv/pandora/update.py"
@ -32,7 +32,7 @@ if [ "$action" = "pandora" ]; then
/srv/pandora/pandora/manage.py init_db
$update db
echo "Generating static files..."
chown -R ${user}.${user} /srv/pandora/
chown -R ${user}:${user} /srv/pandora/
$update static
touch /srv/pandora/initialized
fi
@ -52,7 +52,7 @@ if [ "$action" = "encoding" ]; then
-A app worker \
-Q encoding -n ${name} \
--pidfile /run/pandora/encoding.pid \
--maxtasksperchild 500 \
--max-tasks-per-child 500 \
-c 1 \
-l INFO
fi
@ -66,7 +66,7 @@ if [ "$action" = "tasks" ]; then
-A app worker \
-Q default,celery -n ${name} \
--pidfile /run/pandora/tasks.pid \
--maxtasksperchild 1000 \
--max-tasks-per-child 1000 \
-l INFO
fi
if [ "$action" = "cron" ]; then
@ -103,9 +103,9 @@ fi
# pan.do/ra setup hooks
if [ "$action" = "docker-compose.yml" ]; then
cat /srv/pandora_base/docker-compose.yml | \
sed "s#build: \.#image: 0x2620/pandora:latest#g" | \
sed "s#build: \.#image: code.0x2620.org/0x2620/pandora:latest#g" | \
sed "s#\./overlay:#.:#g" | \
sed "s#build: docker/nginx#image: 0x2620/pandora-nginx:latest#g"
sed "s#build: docker/nginx#image: code.0x2620.org/0x2620/pandora-nginx:latest#g"
exit
fi
if [ "$action" = ".env" ]; then
@ -131,5 +131,5 @@ echo " docker run 0x2620/pandora setup | sh"
echo
echo adjust created files to match your needs and run:
echo
echo " docker-compose up"
echo " docker compose up"
echo

View file

@ -1,5 +1,5 @@
#!/bin/bash
# push new version of pan.do/ra to docker hub
# push new version of pan.do/ra to code.0x2620.org
set -e
cd /tmp
@ -7,6 +7,6 @@ git clone https://code.0x2620.org/0x2620/pandora
cd pandora
./docker/build.sh
docker push 0x2620/pandora-base:latest
docker push 0x2620/pandora-nginx:latest
docker push 0x2620/pandora:latest
docker push code.0x2620.org/0x2620/pandora-base:latest
docker push code.0x2620.org/0x2620/pandora-nginx:latest
docker push code.0x2620.org/0x2620/pandora:latest

View file

@ -1,18 +1,18 @@
#!/bin/sh
docker run 0x2620/pandora docker-compose.yml > docker-compose.yml
docker run --rm code.0x2620.org/0x2620/pandora docker-compose.yml > docker-compose.yml
if [ ! -e .env ]; then
docker run 0x2620/pandora .env > .env
docker run --rm code.0x2620.org/0x2620/pandora .env > .env
echo .env >> .gitignore
fi
if [ ! -e config.jsonc ]; then
docker run 0x2620/pandora config.jsonc > config.jsonc
docker run --rm code.0x2620.org/0x2620/pandora config.jsonc > config.jsonc
fi
cat > README.md << EOF
pan.do/ra docker instance
this folder was created with
docker run 0x2620/pandora setup | sh
docker run --rm code.0x2620.org/0x2620/pandora setup | sh
To start pan.do/ra adjust the files in this folder:
@ -22,11 +22,14 @@ To start pan.do/ra adjust the files in this folder:
and to get started run this:
docker-compose up -d
docker compose up -d
To update pan.do/ra run:
docker-compose run pandora ctl update
docker compose run --rm pandora ctl update
To run pan.do/ra manage shell:
docker compose run --rm pandora ctl manage shell
EOF
touch __init__.py

View file

@ -17,6 +17,7 @@ server {
#server_name pandora.YOURDOMAIN.COM;
listen 80 default;
listen [::]:80 default;
access_log /var/log/nginx/pandora.access.log;
error_log /var/log/nginx/pandora.error.log;

1
etc/sudoers.d/pandora Normal file
View file

@ -0,0 +1 @@
pandora ALL=(ALL:ALL) NOPASSWD:/usr/local/bin/pandoractl

View file

@ -11,7 +11,7 @@ PIDFile=/run/pandora/cron.pid
WorkingDirectory=/srv/pandora/pandora
ExecStart=/srv/pandora/bin/celery \
-A app beat \
-s /run/pandora/celerybeat-schedule \
--scheduler django_celery_beat.schedulers:DatabaseScheduler \
--pidfile /run/pandora/cron.pid \