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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions