Commit Graph

118 Commits

Author SHA1 Message Date
tcely
0786933c5f
Tweak the comment 2025-02-28 14:04:29 -05:00
tcely
fcc37100c3
python -B is well-behaved
Use the `tmpfs` mount on `/cache` instead of `/tmp` to make this faster.
2025-02-28 13:44:19 -05:00
tcely
63f3df1d5c
Clean up __pycache__ directories 2025-02-28 12:45:36 -05:00
tcely
b4c4825c2a
Remove redis-server from Dockerfile 2025-02-24 04:30:59 -05:00
meeb
8cd970d135
Merge pull request #744 from tcely/patch-3
Some checks are pending
Run Django tests for TubeSync / test (3.10) (push) Waiting to run
Run Django tests for TubeSync / test (3.11) (push) Waiting to run
Run Django tests for TubeSync / test (3.12) (push) Waiting to run
Run Django tests for TubeSync / test (3.7) (push) Waiting to run
Run Django tests for TubeSync / test (3.8) (push) Waiting to run
Run Django tests for TubeSync / test (3.9) (push) Waiting to run
Run Django tests for TubeSync / containerise (push) Waiting to run
Bump `ffmpeg` build
2025-02-19 13:01:54 +11:00
tcely
852d0cf0f2
Bump ffmpeg build 2025-02-18 19:19:41 -05:00
tcely
74780220f4
Add XDG_CACHE_HOME environment variable 2025-02-18 18:56:12 -05:00
tcely
a7f872e902
Merge branch 'main' into patch-3 2025-02-11 15:30:14 -05:00
tcely
2fd5e70486
Use version sorting 2025-02-08 17:22:54 -05:00
tcely
c4a4b7fe1b
COPY doesn't do any globbing
Use a `python3` symbolic link setup earlier to work around this.
2025-02-08 17:21:10 -05:00
tcely
1d51c6182b
COPY doesn't do any globbing
Instead, set up and use a 'python3' symbolic link.
2025-02-08 17:04:33 -05:00
tcely
e2680c4b24
Split the COPY line 2025-02-08 13:45:21 -05:00
tcely
294f56d2b2
Do not specify a file to copy 2025-02-07 21:27:21 -05:00
tcely
e889c78a48
Patch yt_dlp postprocessor modify_chapters.py 2025-02-07 21:20:31 -05:00
tcely
f64432f243
Adjust patch location 2025-02-07 15:45:09 -05:00
tcely
104bac30ba
Patch from within the repository 2025-02-06 23:05:58 -05:00
tcely
8efc845228
Patch any python3 version 2025-02-05 22:57:33 -05:00
tcely
1530b6bee1
Patch the logic in locked() 2025-02-05 19:24:35 -05:00
tcely
4ec407cf6f
Bump ffmpeg 2025-02-04 13:39:46 -05:00
meeb
b38c7d7c7f bump ffmpeg and yt-dlp 2025-01-22 23:59:41 +11:00
tcely
ccdd43845c
Cache for pipenv & apt
- Consolidate apk & apt commands
- Consolidate ENV layers
- Consolidate RUN layers
- Remove unused variables
- Remove packages that are no longer needed
- Bind mount /app/Pipfile

`/cache` is now a `tmpfs` mount that has a `cache` mount on top for `pipenv` to use.

`apt` has `cache` mounts in the standard places:
- /var/lib/apt
- /var/cache/apt
2025-01-17 12:46:11 -05:00
tcely
862c17b676
Bump ffmpeg & yt-dlp 2025-01-16 03:30:06 -05:00
tcely
53ad31d128
Merge branch 'main' into patch-4 2025-01-15 04:35:43 -05:00
tcely
2860147212
Build on older docker also
* Do without --link for COPY or ADD

* Do without --checksum for ADD

* Trim the FFMPEG_VERSION variable with cut instead

I've built successfully on old Debian systems using these changes. Everything else I use has a newer docker on it.
2025-01-12 04:46:32 -05:00
tcely
5e5d011b64
Add parser directives
This hopefully helps anyone building on an older docker, such as Debian / Ubuntu packaged versions.
2025-01-12 00:49:19 -05:00
tcely
ef4181c2c4
Dockerfile syntax and checks
- Specify the syntax be the latest stable version and that failed checks should stop the build.

```
By default, builds with failing build checks exit with a zero status code despite warnings. To make the build fail on warnings, set #check=error=true.
```

- Use the form of health checking that doesn't involve an extra shell on every check.
2025-01-12 00:37:30 -05:00
tcely
4364ebbff3
Multi-stage docker build for ffmpeg & s6-overlay
* Create a s6-overlay-extracted stage to copy from

This was largely inspired by: @socheatsok78

Our downloaded files are checked where that version doesn't do any verification of the downloads.

* Update ffmpeg to the first build with checksums.sha256

* Create a ffmpeg-extracted stage to copy from

* Don't preserve ownership from the builder

I was sick of the extra work with ffmpeg builds.

So, I managed to get sums generated for those builds and now we don't need to manually fill out SHA256 hashes anymore.

Now to bump ffmpeg, we can just change the date.
2025-01-11 11:53:10 -05:00
tcely
7b42213bbb
Keep curl and add less
These are very useful when using the shell inside the container and don't use much space.
2025-01-08 00:36:37 -05:00
tcely
f0b7d31949
Test and log ffmpeg version output earlier
Running the ffmpeg in an earlier (hopefully cached) layer should clean up the logs a bit.

On a related note, shadowing the environment variable was causing some confusing log output, so stop doing that as well.
2025-01-08 00:31:30 -05:00
meeb
b40564ff93
Merge pull request #596 from tcely/patch-8
Reduce image size and keep pycache in a volume
2024-12-26 12:44:42 +11:00
tcely
568698351d
Use the N version of ffmpeg 2024-12-25 05:23:53 -05:00
tcely
3cea9270a0
Bump ffmpeg 2024-12-25 05:09:30 -05:00
tcely
7343e39f35
Verbose output is no longer needed
I confirmed that the changes reduced the amount of files being removed.
2024-12-25 00:32:03 -05:00
tcely
b9eb28fd36
There is a /config/cache directory we can safely use 2024-12-22 01:45:16 -05:00
tcely
2c26936035
fixup: remove the --no-cache-dir option 2024-12-21 20:23:47 -05:00
tcely
a2c97d2791
pipenv did not run with that option 2024-12-21 20:22:08 -05:00
tcely
f4c070ada7
Reduce image size and keep pycache in a volume
Not only are volumes typically faster to access than the image overlay, the cachee can be reused between containers.
2024-12-21 20:08:36 -05:00
meeb
bd72513d69 bump s6 to v3.2.0.2 2024-12-10 22:36:45 +11:00
meeb
26cb02be07 bump yt-dlp and ffmpeg, resolves #575 2024-12-10 22:30:09 +11:00
tcely
8f9bb782a7
Adjusted awk check
It turned out `exit` doesn't work as I thought it did.
2024-11-25 17:00:31 -05:00
tcely
6c7c1c6510
The response headers weren't useful 2024-11-24 08:34:34 -05:00
tcely
29dfe4570d
Used awk to check for correct ffmpeg output 2024-11-24 08:16:34 -05:00
tcely
a921adedc0
Test the output for FFMPEG_VERSION exists
The shell used on the build system doesn't support `pipefail` so test for output instead.

It might be incorrect output, but in combination with running the `ffmpeg` binary earlier, this should be enough.
2024-11-24 07:13:19 -05:00
tcely
f4a88cf7fa
Used the long form for all curl options. 2024-11-24 06:34:28 -05:00
tcely
163fcbeb2a
Overwrite the specified file when it already exists 2024-11-24 06:10:30 -05:00
tcely
6b807a8654
Log the server response headers 2024-11-24 05:47:40 -05:00
tcely
3c5641b542
Ignore a curl config file that may exist 2024-11-24 05:44:22 -05:00
tcely
599728d38c
Had file inspect the binary from the /init script instead. 2024-11-24 05:33:53 -05:00
tcely
10678afca2
Log what file determined about the extracted files 2024-11-24 00:33:45 -05:00
tcely
d4834e427f
Failed ffmpeg is now noisier
This should be enough to fail the build when the binary doesn't work.
2024-11-24 00:27:33 -05:00