ZeroConfServer

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

ZeroConfServer is a proposed package to provide most needed services for small networks with very little or no configuration. The server should be modular, and accessible via an extremely simple and intuitive web interface. Typical uses will be: home networks, small business networks, school networks, community networks. In particular the ZeroConfServer package could be used as the core of Edubuntu. The server is called "Zeroconf" in the sense that it uses Zeroconf but also in the sense that it should work out of the box with reasonable settings.

For a Home Network typical services include:

  • File server (indexed by tracker)
  • Printer server
  • Multimedia streaming
  • DVB/capture card streaming
  • Shared contacts
  • Shared calendar
  • Shared applications
  • Net-install
  • Thin-client server
  • Firewall/gateway/proxy server with A/V and antispamming filters
  • Centralized access restrictions to machines/web/applications
  • User profiles
  • Set-top-box back-end
  • Import file facilities, that will also index and encode as appropriate (appropriate = using open standards)
  • One click backup to internal/external drive

All the above should be configurable via a single, very easy to use web interface designed for inexperienced users with only absolutely necessary options (for instance: no groups, only users) all in plain English and well pre-configured.

Users should be able to install the Home-Server package and required plug-ins on one machine, and simply register or netboot other clients with this server in order to have a network ready in minutes.

The server should be modular so that it should be easy to add extra functionality. Each "plug-in" should be a deb package bundling required servers (as dependencies), good initial configuration, and web interface module. The core server should detect new plugins and show them in the menu. The focus of each module should always be on an extremely streamlined and intuitive user interface and good pre-configuration that should work out of the box. Advanced users can always access the daemons via webmin or directly via ssh.

Rationale

Small networks are useful today in several situations (namely file/printer server) but they will become more and more common, particularly when sub $100 computers will be ubiquitous and will be used as thin/fat clients around the home/office/school. Moreover advanced set-top-boxes and appliances that can take advantage of networked services are already on the shelves.

The zeroconf server could also be a good occasion to standardize the back-end for set-top-box functionality, so that different front-ends such as freevo, elisa, mythtv, etc could take advantage of a common back-end. That could leverage off other services: the shared folders are a natural place to store media files, metadata and querying could be handled via file-system indexing (tracker)... This would make it easier to penetrate the set-top-box market as soon as possible, which is important in order to spread open codecs.

Use cases

John has a small business, all he wants is shared files, shared printer, shared calendars and shared contacts, with easy backup. He is no computer expert.

Kate is setting up Ubuntu based set-top-boxes connected to a central server to provide access to media-files and streaming services. She can easily upload and manipulate the pictures on the server from her desktop computer using F-Spot and watch the slide-shows on any TV around the house.

Mike has a community center with thin clients, he wants to set them up easily.

Luisa wants to have more control on what her daughters can do with the PC.

Design

Proposed web interface:

MAIN

Info

internet connection is on/off

....

machines connected

....

users connected

Menu

General settings

....

Web Shield

General Settings

network name

XYZ

admin

ago

password

***

system update

.

Backup

backup folder

path

scheuled backup

weekly^

backup now

.

restore all

.

restore individual files

.

Web Shield

Antispamming

none/mark emails/move emails

Antivirus

none/anyfile/usualsuspects

Blacklist

list of ips to block

Open ports

list of open ports

Shared Folders(only folders within /home/shared)

import files Folder

Users who can access

Users who can write

Type (music/doc..)

docs

ago, pino

ago

docs

music

ago, pino

ago, pino

music

video

ago, pino

ago, pino

video

new

.

.

.

Shared Apps

all/installed/groups

search

name

Installed

Users who can access

XYZ

X

ago

Users

name

can use pc

can use web

can use apps

reset password

ago

green

green

green

X

guest

yellow

yellow

red

X

new

.

.

.

.

User > Restrict PC Access

select/unselect the time when XYZ can use the computer

ALL

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

sun

.

.

.

.

.

.

.

X

X

X

X

X

X

X

X

X

X

X

X

.

.

.

.

.

mon

.

.

.

.

.

.

.

X

X

X

X

X

X

X

X

X

X

X

X

.

.

.

.

.

tue

.

.

.

.

.

.

.

X

X

X

X

X

X

X

X

X

X

X

X

.

.

.

.

.

wed

.

.

.

.

.

.

.

X

X

X

X

X

X

X

X

X

X

X

X

.

.

.

.

.

thu

.

.

.

.

.

.

.

X

X

X

X

X

X

X

X

X

X

X

X

.

.

.

.

.

fri

.

.

.

.

.

.

.

X

X

X

X

X

X

X

X

X

X

X

X

.

.

.

.

.

sat

.

.

.

.

.

.

.

X

X

X

X

X

X

X

X

X

X

X

X

.

.

.

.

.

User > Restrict Web Access

can download

green

filter content

green

black list

list

white list

list

User > Restrict Application Access

Application

allowed

XYZ

green

ZXY

green

Machines

name

mac

allowed

agomachine

XYZ

green

guest

*

red

Implementation

The server package should have a core to support plug-in modules (that provide actual services). It should be managed via a very intuitive and streamlined web interface. The same core-server could be adapted to different scenarios according to the modules used.

The concept is somewhat similar to webmin, except that the interface should be much simplified and each module should be pre-configured to work out of the box. The modules are essentially meta-packages dependent on other packages (e.g. Samba) with proper configuration and web interface module. The core and the modules should all be available as standard packages. Modules are added/removed from apt. When a new module is installed the core will activate it and make its web interface available.

Unresolved issues

BoF agenda and discussion

  • A native interface could be much simpler and easier to understand than a Web interface. I would be glad to help design a native interface for setting up and administering remote servers. -- MatthewPaulThomas


CategorySpec

ZeroConfServer (last edited 2008-10-30 17:11:59 by yttrium)