4 stable releases
Uses new Rust 2024
| 1.2.1 | Mar 24, 2025 |
|---|---|
| 1.1.2 | Mar 23, 2025 |
#1358 in HTTP server
101 downloads per month
23KB
401 lines
Mural Server
This is the server software for mural.
Mural is a program that allows you to synchronize a wallpaper slideshow across your devices. It supports having multiple different slideshows (called pools). For example, you might have a pool called "Games" for wallpapers related to games and a pool called "Landscapes" for wallpapers of beautiful landscapes.
Setup
Using Docker (recommended)
- Download the provided
docker-compose.ymlfile:
wget https://raw.githubusercontent.com/mural-sync/mural-server/refs/heads/main/docker-compose.yml
- Create the
configandconfig/wallpapersdirectories:
mkdir config
mkdir config/wallpapers
-
Put your wallpapers into
config/wallpapers. For this guide, we will assume that there are two wallpapers in the directory:wallpapers/picture1.pngandwallpapers/picture2.jpg. -
Setup your pools in
config/config.toml:
[pools]
default = [
"picture1",
"picture2",
]
- Start the server:
docker compose up -d
From Source
- Download the source code for
mural-server:
git clone https://github.com/mural-sync/mural-server
cd mural-server
- Create the configuration and wallpaper directories in your configurations directory:
mkdir ~/.config/mural-server
mkdir ~/.config/mural-server/wallpapers
-
Put your wallpapers into
~/.config/mural-server/wallpapers. For this guide, we will assume that there are two wallpapers in the directory:wallpapers/picture1.pngandwallpapers/picture2.jpg. -
Setup your pools in
~/.config/mural-server/config.toml:
[pools]
default = [
"picture1",
"picture2",
]
- Start the server:
RUST_LOG=info cargo run
Configuration
This is a full configuration file using all the default options (except the pools configuration; mural-server does not setup any pools by default):
port = 46666 # the port to bind the server to
interval = 600 # how long each wallpaper should be shown (in seconds)
[pool]
foo = [
"picture1",
"picture2",
]
bar = [
"picture2",
"picture3",
]
Dependencies
~20–34MB
~571K SLoC