summaryrefslogtreecommitdiff
path: root/contrib/desktop-integration/iceweasel/Dockerfile
blob: 721cc6d2cf2d33e8b9a5b0f5c7220c20d1d6c165 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# VERSION:        0.7
# DESCRIPTION:    Create iceweasel container with its dependencies
# AUTHOR:         Daniel Mizyrycki <daniel@dotcloud.com>
# COMMENTS:
#   This file describes how to build a Iceweasel container with all
#   dependencies installed. It uses native X11 unix socket and alsa
#   sound devices. Tested on Debian 7.2
# USAGE:
#   # Download Iceweasel Dockerfile
#   wget http://raw.github.com/dotcloud/docker/master/contrib/desktop-integration/iceweasel/Dockerfile
#
#   # Build iceweasel image
#   docker build -t iceweasel -rm .
#
#   # Run stateful data-on-host iceweasel. For ephemeral, remove -v /data/iceweasel:/data
#   docker run -v /data/iceweasel:/data -v /tmp/.X11-unix:/tmp/.X11-unix \
#     -v /dev/snd:/dev/snd -lxc-conf='lxc.cgroup.devices.allow = c 116:* rwm' \
#     -e DISPLAY=unix$DISPLAY iceweasel
#
#   # To run stateful dockerized data containers
#   docker run -volumes-from iceweasel-data -v /tmp/.X11-unix:/tmp/.X11-unix \
#     -v /dev/snd:/dev/snd -lxc-conf='lxc.cgroup.devices.allow = c 116:* rwm' \
#     -e DISPLAY=unix$DISPLAY iceweasel

docker-version 0.6.5

# Base docker image
FROM debian:wheezy
MAINTAINER Daniel Mizyrycki <daniel@docker.com>

# Install Iceweasel and "sudo"
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -yq iceweasel sudo

# create sysadmin account
RUN useradd -m -d /data -p saIVpsc0EVTwA sysadmin
RUN sed -Ei 's/sudo:x:27:/sudo:x:27:sysadmin/' /etc/group
RUN sed -Ei 's/(\%sudo\s+ALL=\(ALL\:ALL\) )ALL/\1 NOPASSWD:ALL/' /etc/sudoers

# Autorun iceweasel. -no-remote is necessary to create a new container, as
# iceweasel appears to communicate with itself through X11.
CMD ["/usr/bin/sudo", "-u", "sysadmin", "-H", "-E", "/usr/bin/iceweasel", "-no-remote"]