Skip to content

Latest commit

 

History

History
112 lines (73 loc) · 8.16 KB

README.md

File metadata and controls

112 lines (73 loc) · 8.16 KB

docker-fc2-live-dl

CodeFactor GitHub Workflow Status (with event)

This is the docker image for HoloArchivists/fc2-live-dl: Tool to download FC2 live streams from the community.

Get the Dockerfile at GitHub, or pull the image from ghcr.io or quay.io.

Usage Command

Mount the current directory as /recordings and run fc2-live-dl with additional input arguments.
The downloaded files will be saved to where you run the command.

docker run -it -v ".:/recordings" ghcr.io/jim60105/fc2-live-dl [options] [fc2 url]

The [options], [fc2 url] placeholder should be replaced with the options and arguments for fc2-live-dl. Check the fc2-live-dl README for more information.

You can find all available tags at ghcr.io or quay.io.

Usage Command for autofc2

When using autofc2, it is recommended to use the provided docker-compose.yml file.

Put the autofc2.json file in the same directory as the docker-compose.yml file, and execute the following command:

docker-compose up -d

Please check the HoloArchivists/fc2-live-dl README for more information about the json file.

Note

Please be aware that with our docker image, you need to omit the --config parameter and use a relative path in outtmpl.

Available tags

This repository contains three Dockerfiles for building Docker images based on different base images:

Dockerfile Base Image
Dockerfile Python official image 3-alpine
ubi.Dockerfile Red Hat Universal Base Image 9 Minimal
distroless.Dockerfile distroless-python 3.12-debian12

And, built with the following code version of fc2-live-dl: main branch, v2.2.0, v2.1.3.

Code Version Alpine UBI Distroless
main branch alpine, latest ubi distroless
v2.2.0 v2.2.0, v2.2.0-alpine v2.2.0-ubi v2.2.0-distroless
v2.1.3 v2.1.3, v2.1.3-alpine v2.1.3-ubi v2.1.3-distroless

Tip

I've notice that that both the UBI version and the Distroless version offer no advantages over the Alpine version. So please use the Alpine version unless you have specific reasons not to. All of these base images are great, some of them were simply not that suitable for our project.

Build Command

Important

Clone the Git repository recursively to include submodules:
git clone --recursive https://github.com/jim60105/docker-fc2-live-dl.git

docker build -f Dockerfile -t fc2-live-dl .

Note

If you are using an earlier version of the docker client, it is necessary to enable the BuildKit mode when building the image. This is because I used the COPY --link feature which enhances the build performance and was introduced in Buildx v0.8.
With the Docker Engine 23.0 and Docker Desktop 4.19, Buildx has become the default build client. So you won't have to worry about this when using the latest version.

LICENSE

Note

The main program, HoloArchivists/fc2-live-dl, is distributed under MIT.
Please consult their repository for access to the source code and licenses.
The following is the license for the Dockerfiles and CI workflows in this repository.

open graph

GNU GENERAL PUBLIC LICENSE Version 3

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Caution

A GPLv3 licensed Dockerfile means that you MUST distribute the source code with the same license, if you

  • Re-distribute the image. (You can simply point to this GitHub repository if you doesn't made any code changes.)
  • Distribute a image that uses code from this repository.
  • Or distribute a image based on this image. (FROM ghcr.io/jim60105/fc2-live-dl in your Dockerfile)

"Distribute" means to make the image available for other people to download, usually by pushing it to a public registry. If you are solely using it for your personal purposes, this has no impact on you.

Please consult the LICENSE for more details.

💭

The main reason I chose not to contribute my work back to the original repository is because I wanted to use the GPL license.

I am a strong supporter of open source and have a great passion for the GPL license. However, it's important to recognize that the GPL license has more restrictions compared to the MIT license, and people have valid reasons for not choosing it. I completely respect their decision. As it's not advisable to have multiple licenses in the same repository, I will distribute my work separately.

Now, you may be wondering why you should choose my image instead of the original one.

I have specifically created these images for fun... oops, focusing on size, security, following best practices and industry policies.

To assess the difference, you can pull the images and comparing the size and use scanning tools like Snyk, Trivy, or Docker Scout to scan the images. While I don't claim that my image is the MOST secure, I am confident that it is MORE secure.

I have spent years playing with containers and developing techniques to build more robust ones. I don't mean to criticize those who create "Oh, it works" containers. Developing this skill takes time, and I just happen to enjoy these toys more than others. I hope you can see their value.