Skip to content

Changes needed to have a cloud-viper docker version of ViPER#104

Draft
darrendignam wants to merge 34 commits intoopenpreserve:mainfrom
darrendignam:docker-viper
Draft

Changes needed to have a cloud-viper docker version of ViPER#104
darrendignam wants to merge 34 commits intoopenpreserve:mainfrom
darrendignam:docker-viper

Conversation

@darrendignam
Copy link
Contributor

Unified codebase supporting both Docker containers (XFCE) and VMs (GNOME) via conditional Ansible logic.

Features

Docker Support

  • New docker-viper.yml playbook for container builds
  • LinuxServer.io webtop base (Debian 12 Bookworm + XFCE)
  • Web UI on ports 3100:3000

New Tools

  • Added fido v1.6.1 (format identification)
  • Added jpylyzer v2.2.1 (JP2 validation)
  • Complete OPF tool suite: veraPDF, JHOVE, DROID, fido, jpylyzer

Desktop Improvements (Docker)

  • Single workspace (reduced from 4)
  • System monitors: CPU, RAM, network
  • Hidden system icons (Home, Filesystem, Trash)
  • Firefox ESR replaces Chrome (sandbox compatibility)

Package Management

  • Conditional package lists for Docker vs VM
  • Docker-specific removals (chromium, vim, nano, etc.)
  • Firefox ESR for Docker, Chrome kept for VM

CI/CD

  • GitHub Actions workflow for automated builds
  • Pushes to Docker Hub & GHCR
  • Version tags: docker-v*.. (separate from VM v*..)

Build

# Docker
cd ansible && ansible-playbook docker-viper.yml -i inventory.docker.yml

# VM (unchanged)
vagrant up

…linuxserver.io webtop.

Added conditionals to hancle docker builds vs VM based builds
…system is under load, as they cant hear hard drives, or hear fans spinning up, under load some of these app kinda hang. I also removed the extra workspaces...
… appropriate within a docker container, security will be handled at the docker host level
…k and feel, building via github actions didnt work exactly like the locak workstation build process, but these changes get the same effect.
…vioulsy the script ran before the system was ready
…ation

- Changed from 'su -' to 'runuser' to avoid authentication failures
- Moved autostart file from /config to /etc/xdg/autostart (persists in image)
- Removed /config operations from Ansible build (volume mount gets wiped)
- Added desktop readiness check before configuration
- Use xfconf-query directly for workspace count instead of XML file
- Use --reload/--replace instead of pkill for desktop processes
- Added 10 second autostart delay for stability
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant