Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/add docker notes #72

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 46 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ Features:
* You can set a per-file iTunes Summary by creating a text file with the same
name as the media file (e.g. for file.mp3, create file.txt).

* You can deploy a container using the babyraptor/dir2cast Docker image.


QUICK HOW TO GUIDES
================================================================================
Expand Down Expand Up @@ -98,6 +100,49 @@ podcast that it generates uses the tags from your files.
the "`temp`" folder that is created.


DOCKER SETUP
================================================================================
Note: There are many ways to get dir2cast working under docker, and this guide
is a product of trial and error. There are settings in dir2cast and SWAG that are
not covered in this guide.

Local setup
-----------
1. `docker pull babyraptor/dir2cast:69adefa`
2. Map the container's port 80 to whatever port you want to access it with on your
local network (e.g. port 8080)
3. Create a volume to map under `/var/www/html`, or alternatively bind the
`/var/www/html/<episode folder>` to a location on your file system such as a
shared drive full of episodes.
4. To start the container, try something like:
`docker run --name dir2cast -d -p 8080:80 -v podcast_volume:/var/www/html babyraptor/dir2cast:69adefa`
5. Once you add media files to the podcast_volume (or local folder), your podcast
feed should now exist at `<docker server ip>:<container port>/dir2cast.php`

Remote using SWAG
-----------------
1. Install SWAG and test that you can remotely access your docker server. Here's
a guide https://docs.linuxserver.io/general/swag
2. Create a `<name>.subdomain.conf` file for your podcast server container as
specified in the SWAG guide
3. Add your dir2cast container to the network that you created with SWAG
4. Check that podcasts can be played/downloaded. If your feed exists and can be
subscribed to, but files aren't available, try setting `MP3_URL` in the
`dir2cast.ini` file with an https:// URL rather than http://. (see comment in
that file)

Notes
-----
* If you have shared folders that are accessible from your computer, using a bind mount
(rather than a docker volume) is an easy way to enable a simple workflow for you to
drag and drop content into the podcast feed.
* If you see '.\_' prefixed junk files in your feed, that is an unfortunate side-effect
of using network shares from macOS, and not dir2cast's fault.
* 502 errors are likely SWAG configuration problems. Check container name, port mapping, etc.

Thank you to @ctkcoding for the contribution of this guide.


UNDERSTANDING HOW THE CACHING WORKS
================================================================================

Expand Down Expand Up @@ -218,7 +263,7 @@ To run the unit tests:
COPYRIGHT & LICENSE
================================================================================

Copyright (c) 2008-2021, Ben XO ([email protected]).
Copyright (c) 2008-2023, Ben XO (@benxo on most platforms).

The software is released under the BSD License.

Expand Down
2 changes: 2 additions & 0 deletions dir2cast.ini
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@
; This defaults to the directory of the script.
; dir2cast can usually work this out for you, but under some circumstances
; it will fail. If your MP3 URLs are all wrong, try putting this in manually.
; If the xml/rss feed exists but podcasts won't play/download, you may need
; to set this with https i.e. "https://www.example.foo/my_mp3_folder/"
;MP3_URL = "http://www.example.foo/my_mp3_folder/"

; Uncomment this if you want to check in every sub-folder for new files as well.
Expand Down
2 changes: 1 addition & 1 deletion dir2cast.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php

/******************************************************************************
* Copyright (c) 2008-2022, Ben XO ([email protected]).
* Copyright (c) 2008-2023, Ben XO (@benxo on most platforms).
*
* All rights reserved.
*
Expand Down