mirror of
https://github.com/chibicitiberiu/ytsm.git
synced 2024-02-24 05:43:31 +00:00
Merge pull request #1 from J-tt/master
Docker integration, using gunicorn+nginx
This commit is contained in:
108 files changed
+241
-16
No files matched your search
@@ -113,3 +113,5 @@ venv.bak/
|
|||||||
.mypy_cache/
|
.mypy_cache/
|
||||||
.dmypy.json
|
.dmypy.json
|
||||||
dmypy.json
|
dmypy.json
|
||||||
|
|
||||||
|
media/
|
||||||
+17
@@ -0,0 +1,17 @@
|
|||||||
|
FROM python:3
|
||||||
|
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get install ffmpeg -y
|
||||||
|
|
||||||
|
COPY ./app/requirements.txt ./
|
||||||
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
|
||||||
|
COPY ./app/ .
|
||||||
|
COPY ./config/ ./config/
|
||||||
|
|
||||||
|
#RUN python manage.py migrate
|
||||||
|
|
||||||
|
CMD ["python", "./manage.py", "runserver", "8000", "--noreload"]
|
||||||
|
#CMD ["gunicorn", "YtManager.wsgi", "--bind", "0.0.0.0:8000"]
|
||||||
@@ -20,6 +20,12 @@ This is what still needs to be done:
|
|||||||
* Improve stability
|
* Improve stability
|
||||||
* Bonus: Plex integration
|
* Bonus: Plex integration
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
|
||||||
|
To run with docker, edit the config file (config/config.ini) and then run `docker-compose up -d`, it will bind to port 80.
|
||||||
|
|
||||||
|
You can edit the default download locations in the docker-compose.yml file.
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
|
||||||
* python3: `$ apt install python3`
|
* python3: `$ apt install python3`
|
||||||
File renamed without changes.
@@ -26,7 +26,7 @@ YOUTUBE_API_KEY = "AIzaSyBabzE4Bup77WexdLMa9rN9z-wJidEfNX8"
|
|||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
DEBUG = True
|
DEBUG = True
|
||||||
|
|
||||||
ALLOWED_HOSTS = []
|
ALLOWED_HOSTS = ['*']
|
||||||
|
|
||||||
SESSION_COOKIE_AGE = 3600 * 30 # one month
|
SESSION_COOKIE_AGE = 3600 * 30 # one month
|
||||||
|
|
||||||
@@ -81,11 +81,14 @@ WSGI_APPLICATION = 'YtManager.wsgi.application'
|
|||||||
|
|
||||||
DATABASES = {
|
DATABASES = {
|
||||||
'default': {
|
'default': {
|
||||||
'ENGINE': 'django.db.backends.sqlite3',
|
'ENGINE': 'django.db.backends.postgresql',
|
||||||
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
'NAME': 'postgres',
|
||||||
|
'USER': 'postgres',
|
||||||
|
'HOST': 'db',
|
||||||
|
'PORT': 5432,
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
# Password validation
|
# Password validation
|
||||||
# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators
|
# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,59 @@
|
|||||||
|
; Use $<env:environment_variable> to use the value of an environment variable.
|
||||||
|
; The global section contains settings that apply to the entire server
|
||||||
|
[global]
|
||||||
|
; YouTube API key - get this from your user account
|
||||||
|
;YoutubeApiKey=
|
||||||
|
|
||||||
|
; Specifies the synchronization schedule, in crontab format.
|
||||||
|
; Format: <minute> <hour> <day-of-month> <month-of-year> <day of week>
|
||||||
|
SynchronizationSchedule=5 * * * *
|
||||||
|
|
||||||
|
; Number of threads running the scheduler
|
||||||
|
; Since most of the jobs scheduled are downloads, there is no advantage to having
|
||||||
|
; a higher concurrency
|
||||||
|
SchedulerConcurrency=1
|
||||||
|
|
||||||
|
; Log level
|
||||||
|
LogLevel=DEBUG
|
||||||
|
|
||||||
|
; Default user settings
|
||||||
|
[user]
|
||||||
|
; When a video is deleted on the system, it will be marked as 'watched'
|
||||||
|
MarkDeletedAsWatched=True
|
||||||
|
|
||||||
|
; Videos marked as watched are automatically deleted
|
||||||
|
DeleteWatched=True
|
||||||
|
|
||||||
|
; Enable automatic downloading
|
||||||
|
AutoDownload=True
|
||||||
|
|
||||||
|
; Limit the total number of videos downloaded (-1 or empty = no limit)
|
||||||
|
DownloadGlobalLimit=10
|
||||||
|
|
||||||
|
; Limit the numbers of videos per subscription (-1 or empty = no limit)
|
||||||
|
DownloadSubscriptionLimit=5
|
||||||
|
|
||||||
|
; Number of download attempts
|
||||||
|
DownloadMaxAttempts=3
|
||||||
|
|
||||||
|
; Download order
|
||||||
|
; Options: newest, oldest, playlist, playlist_reverse, popularity, rating
|
||||||
|
DownloadOrder=playlist
|
||||||
|
|
||||||
|
; Path where downloaded videos are stored
|
||||||
|
DownloadPath=data/media/videos
|
||||||
|
|
||||||
|
; A pattern which describes how downloaded files are organized. Extensions are automatically appended.
|
||||||
|
; Supported fields: channel, channel_id, playlist, playlist_id, playlist_index, title, id
|
||||||
|
; The default pattern should work pretty well with Plex
|
||||||
|
;DownloadFilePattern=${channel}/${playlist}/S01E${playlist_index} - ${title} [${id}]
|
||||||
|
|
||||||
|
; Download format that will be passed to youtube-dl. See the youtube-dl documentation for more details.
|
||||||
|
DownloadFormat=bestvideo+bestaudio
|
||||||
|
|
||||||
|
; Subtitles - these options match the youtube-dl options
|
||||||
|
;DownloadSubtitles=True
|
||||||
|
;DownloadAutogeneratedSubtitles=False
|
||||||
|
;DownloadSubtitlesAll=False
|
||||||
|
;DownloadSubtitlesLangs=en,ro
|
||||||
|
;DownloadSubtitlesFormat=
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
; Use $<env:environment_variable> to use the value of an environment variable.
|
||||||
|
; The global section contains settings that apply to the entire server
|
||||||
|
[global]
|
||||||
|
; YouTube API key - get this from your user account
|
||||||
|
YoutubeApiKey=AIzaSyBabzE4Bup77WexdLMa9rN9z-wJidEfNX8
|
||||||
|
|
||||||
|
; Specifies the synchronization schedule, in crontab format.
|
||||||
|
; Format: <minute> <hour> <day-of-month> <month-of-year> <day of week>
|
||||||
|
SynchronizationSchedule=0 * * * *
|
||||||
|
|
||||||
|
; Number of threads running the scheduler
|
||||||
|
; Since most of the jobs scheduled are downloads, there is no advantage to having
|
||||||
|
; a higher concurrency
|
||||||
|
SchedulerConcurrency=2
|
||||||
|
|
||||||
|
; Log level
|
||||||
|
LogLevel=INFO
|
||||||
|
|
||||||
|
; Default user settings
|
||||||
|
[user]
|
||||||
|
; When a video is deleted on the system, it will be marked as 'watched'
|
||||||
|
MarkDeletedAsWatched=True
|
||||||
|
|
||||||
|
; Videos marked as watched are automatically deleted
|
||||||
|
DeleteWatched=True
|
||||||
|
|
||||||
|
; Enable automatic downloading
|
||||||
|
AutoDownload=True
|
||||||
|
|
||||||
|
; Limit the total number of videos downloaded (-1 or empty = no limit)
|
||||||
|
DownloadGlobalLimit=
|
||||||
|
|
||||||
|
; Limit the numbers of videos per subscription (-1 or empty = no limit)
|
||||||
|
DownloadSubscriptionLimit=5
|
||||||
|
|
||||||
|
; Number of download attempts
|
||||||
|
DownloadMaxAttempts=3
|
||||||
|
|
||||||
|
; Download order
|
||||||
|
; Options: newest, oldest, playlist, playlist_reverse, popularity, rating
|
||||||
|
DownloadOrder=playlist
|
||||||
|
|
||||||
|
; Path where downloaded videos are stored
|
||||||
|
DownloadPath=${env:USERPROFILE}${env:HOME}/Downloads
|
||||||
|
|
||||||
|
; A pattern which describes how downloaded files are organized. Extensions are automatically appended.
|
||||||
|
; Supported fields: channel, channel_id, playlist, playlist_id, playlist_index, title, id
|
||||||
|
; The default pattern should work pretty well with Plex
|
||||||
|
DownloadFilePattern=${channel}/${playlist}/S01E${playlist_index} - ${title} [${id}]
|
||||||
|
|
||||||
|
; Download format that will be passed to youtube-dl. See the youtube-dl documentation for more details.
|
||||||
|
DownloadFormat=bestvideo+bestaudio
|
||||||
|
|
||||||
|
; Subtitles - these options match the youtube-dl options
|
||||||
|
DownloadSubtitles=True
|
||||||
|
DownloadAutogeneratedSubtitles=False
|
||||||
|
DownloadSubtitlesAll=False
|
||||||
|
DownloadSubtitlesLangs=en,ro
|
||||||
|
DownloadSubtitlesFormat=
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 108 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user