Sign inSign up

austinwenyz/vdo-ninja

By austinwenyz

•Updated about 2 years ago

This Docker image automatically pulls the latest version of VDO.Ninja

Image
Networking
Web servers
3

1.8K

austinwenyz/vdo-ninja repository overview

⁠VDO.Ninja Docker Image

⁠Overview

This Docker image is designed to automatically pull the latest version of VDO.Ninja⁠, a lightweight and powerful tool for browser-based live video streaming. By using this image, you can quickly set up a local or remote instance of VDO.Ninja, without worrying about manually updating the application. It runs on a minimalistic HTTP server within the container, and is easily integrated with an external Caddy⁠ server for SSL/TLS management.

This image is particularly useful for video creators, streamers, and producers who need a fast, reliable, and secure deployment of VDO.Ninja for their video production workflows.

⁠Key Features

  • Automated Updates: Automatically pulls the latest version of VDO.Ninja from the official GitHub repository during the Docker build process, ensuring you're always up to date.
  • Lightweight Build: Based on the Alpine Linux image, making the image as small and efficient as possible.
  • Easy SSL Integration: This image is ready to work with external Caddy servers for SSL/TLS management, making it easy to secure your deployment.
  • Simple HTTP Server: Includes a minimal HTTP server to serve the VDO.Ninja front end, making the setup straightforward and easy to use.
  • Auto-Restart: Automatically restarts in case of failure or after a system reboot.

⁠Requirements

  • Docker installed on your system (Download Docker⁠)
  • (Optional) Caddy installed on your server for SSL/TLS management

⁠Getting Started

⁠Step 1: Pull the Docker Image

Pull the latest version of the Docker image from Docker Hub:

docker pull austinwenyz/vdo-ninja:latest
⁠Step 2: Run the Docker Container

To run the container and expose it on port 8080, use the following command:

docker run --platform linux/amd64 --restart always -d -p 8080:8080 austinwenyz/vdo-ninja:latest
  • --restart always: Ensures that the container will always restart in case of failure or when the Docker daemon is restarted.
  • -d: Runs the container in detached mode, allowing it to run in the background.
  • -p 8080:8080: Maps port 8080 on the host to port 8080 in the container.

After running this command, VDO.Ninja will be accessible on http://localhost:8080.

⁠Step 3: (Optional) Set Up Caddy for SSL

To add HTTPS to your deployment using Caddy, follow these steps:

  1. Install Caddy⁠ on your server.

  2. Create a Caddyfile with the following content to enable SSL for VDO.Ninja:

    :80 {
        reverse_proxy localhost:8080
    }
    
    :443 {
        reverse_proxy localhost:8080
        tls [email protected]
    }
    
  3. Start Caddy with the Caddyfile configuration:

    caddy run --config /path/to/Caddyfile
    

This will enable SSL for your VDO.Ninja instance, making it accessible via HTTPS.

⁠Configuration

By default, this Docker image does not require any special configuration, as it automatically pulls the latest version of VDO.Ninja and serves it through a simple HTTP server. If you need to customize the server behavior or the VDO.Ninja setup, you can modify the Dockerfile or use environment variables when running the container.

⁠Customizing the Dockerfile

If you'd like to build the Docker image with specific changes, you can clone the repository and modify the Dockerfile:

# Specify the platform and use Alpine Linux
FROM --platform=linux/amd64 alpine:latest

# Install required packages: git, curl, and busybox
RUN apk add --no-cache git curl busybox-extras

# Clone the latest VDO.Ninja source code
RUN git clone https://github.com/steveseguin/vdo.ninja /usr/share/vdo.ninja

# Set the working directory
WORKDIR /usr/share/vdo.ninja

# Start a simple HTTP server to serve the files
CMD ["httpd", "-f", "-p", "8080", "-h", "/usr/share/vdo.ninja"]

You can then rebuild the image:

docker build -t austinwenyz/vdo-ninja-custom:latest .

⁠Frequently Asked Questions (FAQ)

⁠How does this image automatically update VDO.Ninja?

The Dockerfile is designed to clone the latest version of VDO.Ninja from the official GitHub repository whenever the image is built. This ensures that every time you pull and run the image, it contains the most recent version of VDO.Ninja.

⁠What is VDO.Ninja?

VDO.Ninja⁠ is a free, open-source tool for adding remote video sources (guests) to OBS or other live streaming software. It works through the browser, requiring no installation for guests, making it easy for anyone to join a live stream.

⁠Do I need Caddy to run this Docker image?

No, you don't need Caddy to run the image, but it's highly recommended if you want to use SSL/TLS for secure connections. Caddy automates the process of obtaining and renewing SSL certificates, making it a great tool for managing secure web traffic.

⁠Can I use this image on ARM devices?

This image is currently configured for linux/amd64 platforms. If you need to use it on ARM-based devices (such as Raspberry Pi), you may need to build it with multi-architecture support using Docker Buildx.

⁠License

This project is licensed under the MIT License. See the LICENSE⁠ file for more details.

⁠Contributing

If you'd like to contribute to this project, feel free to submit a pull request or open an issue on the GitHub repository⁠. Contributions for improving the Dockerfile or enhancing the setup process are welcome!

⁠Contact

For any questions or issues, please feel free to contact me via Docker Hub or GitHub.

Tag summary

Content type

Image

Digest

sha256:407eeafe3…

Size

370.9 MB

Last updated

about 2 years ago

docker pull austinwenyz/vdo-ninja