Compare commits

..

12 Commits

Author SHA1 Message Date
semantic-release-bot c7a1d60d73 chore(release): 8.0.7 [skip ci]
## [8.0.7](https://github.com/mediacms-io/mediacms/compare/v8.0.6...v8.0.7) (2026-05-12)

### Bug Fixes

* bring related items back ([#1515](https://github.com/mediacms-io/mediacms/issues/1515)) ([6ee5bef](https://github.com/mediacms-io/mediacms/commit/6ee5bef6ce31cf849941f65d0817e53b8f03362f))
2026-05-12 11:08:33 +00:00
Markos Gogoulos 6ee5bef6ce fix: bring related items back (#1515) 2026-05-12 14:07:36 +03:00
semantic-release-bot 2e01000559 chore(release): 8.0.6 [skip ci]
## [8.0.6](https://github.com/mediacms-io/mediacms/compare/v8.0.5...v8.0.6) (2026-05-11)

### Bug Fixes

* better place secret key settings ([4f11add](https://github.com/mediacms-io/mediacms/commit/4f11addcfd6657e7e63eed0570b1d4d9bca75698))
2026-05-11 12:26:03 +00:00
Markos Gogoulos 4f11addcfd fix: better place secret key settings 2026-05-11 15:25:23 +03:00
semantic-release-bot b11f2f561c chore(release): 8.0.5 [skip ci]
## [8.0.5](https://github.com/mediacms-io/mediacms/compare/v8.0.4...v8.0.5) (2026-05-11)

### Bug Fixes

* add secret key to gitignore ([b6da9c4](https://github.com/mediacms-io/mediacms/commit/b6da9c4662b3fba234b8dc69700ffa44fced7482))
2026-05-11 11:19:16 +00:00
Markos Gogoulos b6da9c4662 fix: add secret key to gitignore 2026-05-11 14:18:36 +03:00
semantic-release-bot 10c0782fe0 chore(release): 8.0.4 [skip ci]
## [8.0.4](https://github.com/mediacms-io/mediacms/compare/v8.0.3...v8.0.4) (2026-05-11)

### Bug Fixes

* docker compose settings, provide key ([318dad0](https://github.com/mediacms-io/mediacms/commit/318dad0e5d2512d68068c019eb87f942f83318e9))
2026-05-11 11:14:41 +00:00
Markos Gogoulos 318dad0e5d fix: docker compose settings, provide key 2026-05-11 14:13:56 +03:00
semantic-release-bot 09ead87884 chore(release): 8.0.3 [skip ci]
## [8.0.3](https://github.com/mediacms-io/mediacms/compare/v8.0.2...v8.0.3) (2026-05-11)

### Bug Fixes

* secret key ([559977f](https://github.com/mediacms-io/mediacms/commit/559977f9bc74412739784926862b94a558e6fd84))
2026-05-11 10:12:14 +00:00
Markos Gogoulos 559977f9bc fix: secret key 2026-05-11 13:11:22 +03:00
semantic-release-bot 35de017562 chore(release): 8.0.2 [skip ci]
## [8.0.2](https://github.com/mediacms-io/mediacms/compare/v8.0.1...v8.0.2) (2026-05-11)

### Bug Fixes

* provide Bento4 url ([c19c520](https://github.com/mediacms-io/mediacms/commit/c19c5207e907cbd7d0c968d8cd8caaec20706277))
2026-05-11 10:03:56 +00:00
Markos Gogoulos c19c5207e9 fix: provide Bento4 url 2026-05-11 13:03:13 +03:00
10 changed files with 102 additions and 7 deletions
+2
View File
@@ -37,3 +37,5 @@ frontend-tools/chapters-editor/client/public/videos/sample-video.mp3
static/chapters_editor/videos/sample-video.mp3
static/video_editor/videos/sample-video.mp3
templates/todo-MS4.md
.secret_key
.secret_key.lock
+36
View File
@@ -1,5 +1,41 @@
# Changelog
## [8.0.7](https://github.com/mediacms-io/mediacms/compare/v8.0.6...v8.0.7) (2026-05-12)
### Bug Fixes
* bring related items back ([#1515](https://github.com/mediacms-io/mediacms/issues/1515)) ([6ee5bef](https://github.com/mediacms-io/mediacms/commit/6ee5bef6ce31cf849941f65d0817e53b8f03362f))
## [8.0.6](https://github.com/mediacms-io/mediacms/compare/v8.0.5...v8.0.6) (2026-05-11)
### Bug Fixes
* better place secret key settings ([4f11add](https://github.com/mediacms-io/mediacms/commit/4f11addcfd6657e7e63eed0570b1d4d9bca75698))
## [8.0.5](https://github.com/mediacms-io/mediacms/compare/v8.0.4...v8.0.5) (2026-05-11)
### Bug Fixes
* add secret key to gitignore ([b6da9c4](https://github.com/mediacms-io/mediacms/commit/b6da9c4662b3fba234b8dc69700ffa44fced7482))
## [8.0.4](https://github.com/mediacms-io/mediacms/compare/v8.0.3...v8.0.4) (2026-05-11)
### Bug Fixes
* docker compose settings, provide key ([318dad0](https://github.com/mediacms-io/mediacms/commit/318dad0e5d2512d68068c019eb87f942f83318e9))
## [8.0.3](https://github.com/mediacms-io/mediacms/compare/v8.0.2...v8.0.3) (2026-05-11)
### Bug Fixes
* secret key ([559977f](https://github.com/mediacms-io/mediacms/commit/559977f9bc74412739784926862b94a558e6fd84))
## [8.0.2](https://github.com/mediacms-io/mediacms/compare/v8.0.1...v8.0.2) (2026-05-11)
### Bug Fixes
* provide Bento4 url ([c19c520](https://github.com/mediacms-io/mediacms/commit/c19c5207e907cbd7d0c968d8cd8caaec20706277))
## [7.7.0](https://github.com/mediacms-io/mediacms/compare/v7.6.0...v7.7.0) (2026-05-11)
### Features
+1 -1
View File
@@ -16,7 +16,7 @@ RUN mkdir -p ffmpeg-tmp && \
# Install Bento4 in the specified location
RUN mkdir -p /home/mediacms.io/bento4 && \
wget -q http://zebulon.bok.net/Bento4/binaries/Bento4-SDK-1-6-0-637.x86_64-unknown-linux.zip && \
wget -q --tries=5 --waitretry=10 --timeout=30 https://www.bok.net/Bento4/binaries/Bento4-SDK-1-6-0-637.x86_64-unknown-linux.zip && \
unzip Bento4-SDK-1-6-0-637.x86_64-unknown-linux.zip -d /home/mediacms.io/bento4 && \
mv /home/mediacms.io/bento4/Bento4-SDK-1-6-0-637.x86_64-unknown-linux/* /home/mediacms.io/bento4/ && \
rm -rf /home/mediacms.io/bento4/Bento4-SDK-1-6-0-637.x86_64-unknown-linux && \
+13 -2
View File
@@ -171,8 +171,19 @@ REST_FRAMEWORK = {
}
SECRET_KEY = "2dii4cog7k=5n37$fz)8dst)kg(s3&10)^qa*gv(kk+nv-z&cu"
# TODO: this needs to be changed!
# In docker, deploy/docker/entrypoint.sh ensures the SECRET_KEY env var is
# set (generating .secret_key once on first start if needed). Outside docker,
# either set SECRET_KEY in the environment or create a .secret_key file at the
# project root, e.g.:
# python -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())' > .secret_key
SECRET_KEY = os.getenv('SECRET_KEY')
if not SECRET_KEY:
_secret_path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), '.secret_key')
if os.path.exists(_secret_path):
with open(_secret_path) as _f:
SECRET_KEY = _f.read().strip()
if not SECRET_KEY:
raise RuntimeError("SECRET_KEY is not set. Set the SECRET_KEY env var or create a .secret_key file at the project root.")
TEMP_DIRECTORY = "/tmp" # Don't use a temp directory inside BASE_DIR!!!
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+1 -1
View File
@@ -1 +1 @@
VERSION = "8.0.1"
VERSION = "8.0.7"
+25
View File
@@ -35,4 +35,29 @@ find /home/mediacms.io/mediacms ! \( -path "*.git*" -o -name "package-lock.json"
chmod +x /home/mediacms.io/mediacms/deploy/docker/start.sh /home/mediacms.io/mediacms/deploy/docker/prestart.sh
# Generate or read SECRET_KEY once, shared across all containers via the
# host-mounted project volume. Atomic create-or-read so parallel container
# starts (web + celery_worker + celery_beat + migrations) can't race.
# Uses `mkdir` as the lock primitive (POSIX-atomic, no dependency on flock).
SECRET_KEY_FILE="${SECRET_KEY_FILE:-/home/mediacms.io/mediacms/.secret_key}"
SECRET_KEY_LOCK="${SECRET_KEY_FILE}.lock"
if [ -z "${SECRET_KEY:-}" ]; then
if [ ! -s "$SECRET_KEY_FILE" ]; then
# Spin-acquire the lock. mkdir is atomic; first caller wins, others retry.
while ! mkdir "$SECRET_KEY_LOCK" 2>/dev/null; do
sleep 0.2
done
# Re-check inside the lock: another container may have just written it.
if [ ! -s "$SECRET_KEY_FILE" ]; then
python -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())' > "$SECRET_KEY_FILE"
chown www-data:www-data "$SECRET_KEY_FILE"
chmod 600 "$SECRET_KEY_FILE"
echo "entrypoint.sh: generated new SECRET_KEY at $SECRET_KEY_FILE"
fi
rmdir "$SECRET_KEY_LOCK"
fi
export SECRET_KEY="$(cat "$SECRET_KEY_FILE")"
fi
exec "$@"
-1
View File
@@ -2,7 +2,6 @@ import os
FRONTEND_HOST = os.getenv('FRONTEND_HOST', 'http://localhost')
PORTAL_NAME = os.getenv('PORTAL_NAME', 'MediaCMS')
SECRET_KEY = os.getenv('SECRET_KEY', 'ma!s3^b-cw!f#7s6s0m3*jx77a@riw(7701**(r=ww%w!2+yk2')
REDIS_LOCATION = os.getenv('REDIS_LOCATION', 'redis://redis:6379/1')
DATABASES = {
@@ -1,4 +1,7 @@
import React from 'react';
import { MediaPageStore } from '../../utils/stores/';
import { AutoPlay } from './AutoPlay';
import { RelatedMedia } from './RelatedMedia';
import PlaylistView from './PlaylistView';
export default class ViewerSidebar extends React.PureComponent {
@@ -9,6 +12,7 @@ export default class ViewerSidebar extends React.PureComponent {
playlistData: props.playlistData,
isPlaylistPage: !!props.playlistData,
activeItem: 0,
mediaType: MediaPageStore.get('media-type'),
};
if (props.playlistData) {
@@ -23,6 +27,21 @@ export default class ViewerSidebar extends React.PureComponent {
}
}
this.onMediaLoad = this.onMediaLoad.bind(this);
}
componentDidMount() {
MediaPageStore.on('loaded_media_data', this.onMediaLoad);
}
componentWillUnmount() {
MediaPageStore.removeListener('loaded_media_data', this.onMediaLoad);
}
onMediaLoad() {
this.setState({
mediaType: MediaPageStore.get('media-type'),
});
}
render() {
@@ -30,7 +49,10 @@ export default class ViewerSidebar extends React.PureComponent {
<div className="viewer-sidebar">
{this.state.isPlaylistPage ? (
<PlaylistView activeItem={this.state.activeItem} playlistData={this.props.playlistData} />
) : 'video' === this.state.mediaType || 'audio' === this.state.mediaType ? (
<AutoPlay />
) : null}
<RelatedMedia hideFirst={!this.state.isPlaylistPage} />
</div>
);
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "mediacms",
"version": "7.7.0",
"version": "8.0.7",
"devDependencies": {
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/git": "^10.0.1",
+1 -1
View File
File diff suppressed because one or more lines are too long