Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

[Feature Request] - Container image #132

@1m1tat1on

Description

@1m1tat1on

Is your feature request related to a problem? Please describe.
Ensure cross-platform environment setup is the same for all users. Reducing room for problems arising from manual environment setup.

Describe the solution you'd like
Dockerfile for a 'devine' image.

Describe alternatives you've considered
Manual checks or integrating checks into devine as seen in (#125)

Additional context
As mentioned, a container image would ensure an uniform runtime environment for devine across all users, incl. developers.

Example Dockerfile:

FROM ubuntu:24.04

# Install wget, python3, pipx, git
RUN apt update
RUN apt install -y wget python3 pipx
# Install poetry
RUN PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx install poetry

# Set up repo for mkvtools
RUN wget -O /etc/apt/keyrings/gpg-pub-moritzbunkus.gpg https://mkvtoolnix.download/gpg-pub-moritzbunkus.gpg
RUN echo "deb [signed-by=/etc/apt/keyrings/gpg-pub-moritzbunkus.gpg] https://mkvtoolnix.download/debian/ bookworm main" >> /etc/apt/sources.list 
RUN echo "deb-src [signed-by=/etc/apt/keyrings/gpg-pub-moritzbunkus.gpg] https://mkvtoolnix.download/debian/ bookworm main" >> /etc/apt/sources.list 

# Install other deps (ffmpeg, ccextractor, mkvtools, aria2)
RUN apt update 
RUN apt install -y ffmpeg ccextractor mkvtoolnix mkvtoolnix-gui aria2 

# Install shaka packager
RUN wget https://github.com/shaka-project/shaka-packager/releases/download/v3.4.1/packager-linux-x64 && \
    chmod +x packager-linux-x64 && \
    mv packager-linux-x64 packager && \
    mv packager /usr/local/bin/

# Set up devine dir 
RUN apt install -y git
WORKDIR /
RUN git clone https://github.com/devine-dl/devine
# Install deps / Configure venv
RUN poetry config virtualenvs.in-project true
WORKDIR /devine
RUN poetry install

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions