No description
  • Dockerfile 95.9%
  • Shell 4.1%
Find a file
2026-06-07 03:03:45 +00:00
.forgejo/workflows fix: handle leading whitespace in docker-compose.yml version sed 2026-05-12 11:39:55 +00:00
.dockerignore fix: clean up README, improve workflow error handling, fix .dockerignore 2026-05-12 11:30:52 +00:00
custom_startup.sh fix: add HEALTHCHECK and guard desktop_ready failure 2026-05-12 12:13:46 +00:00
docker-compose.yml chore: auto-update app versions in Dockerfile, docker-compose [skip ci] 2026-06-07 03:03:45 +00:00
Dockerfile chore: auto-update app versions in Dockerfile, docker-compose [skip ci] 2026-06-07 03:03:45 +00:00
README.md fix: clean up README, improve workflow error handling, fix .dockerignore 2026-05-12 11:30:52 +00:00

News

Moved to git.existiert.ch

Personal Desktop Project

A Dockerized personal workspace environment for secure communication and productivity. This project provides a preconfigured Kasm Workspaces-compatible image with XFCE, Signal, Delta Chat, and Vivaldi.

Features

  • XFCE desktop environment: Lightweight and customizable desktop experience.
  • Signal Desktop messenger: End-to-end encrypted messaging.
  • Delta Chat Desktop messenger: Secure alternative for private communication.
  • Vivaldi web browser: Privacy-focused browsing with built-in ad-blocking.
  • Security updates applied at build time: Regular security patches included.
  • Kasm Workspaces integration: Designed to work seamlessly in Kasm environments.

Security Notes

  • Default credentials: The default VNC password is password. Change this in production environments by setting the VNC_PW environment variable to a strong password.
  • Sandboxing disabled: Signal, Delta Chat, and Vivaldi are run with --no-sandbox to work within the container. This reduces isolation between applications and the system. For production deployments, consider implementing additional security controls.

Quick Start

Testing using Docker Compose

docker compose up --build

Access the desktop at: http://localhost:6901 Default password: password

Using Docker directly

Build the image:

docker build -t personaldesktop .

Run the container:

docker run -d \
  --name personaldesktop \
  -p 6901:6901 \
  -e VNC_PW=password \
  --shm-size=512m \
  personaldesktop

Configuration

Environment Variables

Variable Default Description
VNC_PW password VNC/web access password

Build Arguments

Argument Default Description
BASE_TAG 1.18.0 Kasm base image tag
BASE_IMAGE core-debian-trixie Kasm base image name
DELTACHAT_VERSION latest Delta Chat version to install (pinned to latest stable release)

Startup Script

The project includes a custom startup script (custom_startup.sh) that handles desktop initialization for Kasm Workspaces. It signals when the desktop environment is ready and can be customized for additional launch tasks.

Usage

  1. Open https://localhost:6901 in your browser
  2. Enter the password (default: password)
  3. Use the desktop shortcuts or application menu to launch Signal or Delta Chat

Updating Applications

Manual Update

To update Delta Chat, change the DELTACHAT_VERSION build argument and rebuild:

docker compose build --build-arg DELTACHAT_VERSION=2.36.0

Signal and Vivaldi update automatically from their apt repositories on rebuild.

Automated Update

This project includes a weekly automated update workflow (.forgejo/workflows/weekly-update.yml) that:

  • Runs every Sunday at 03:00 UTC, or can be manually triggered from the Forgejo UI
  • Checks Signal Desktop, DeltaChat, and Vivaldi versions against upstream sources
  • Pulls the latest built image to compare installed versions
  • Updates the DELTACHAT_VERSION ARG in the Dockerfile and docker-compose.yml when newer versions are available
  • Rebuilds and pushes the image with both :latest and date-based tags (e.g., :26.05.12)
  • Commits version updates back to the repository

Adding to Kasm Workspaces

To add this image as a workspace in your Kasm deployment:

Add the workspace in Kasm Admin

  1. Log into Kasm as an administrator
  2. Navigate to WorkspacesWorkspaces
  3. Click Add Workspace
  4. Fill in the fields below

General Settings

Field Value
Friendly Name Personal Desktop
Description Secure desktop with Signal, Delta Chat, and Vivaldi browser for private communication
Thumbnail URL https://upload.wikimedia.org/wikipedia/commons/5/5b/Xfce_logo.svg

Docker Settings

Field Value
Docker Image leberschnitzel/personaldesktop:latest
Docker Registry https://index.docker.io/v1/
Cores 2
Memory (MB) 4096
GPU Count 0
CPU Allocation Method Inherit
  1. Click Save