Giter Club home page Giter Club logo

docker-skype-pulseaudio's Introduction

Docker! Skype! PulseAudio!

Run Skype inside an isolated Docker container on your Linux desktop! See its sights via X11 forwarding! Hear its sounds through the magic of PulseAudio and SSH tunnels!

Known Issue: While audio works flawlessly during calls and Skype is perfectly usable, the notification sounds such as call ringing do not work.

Docker index

The easiest method to get Skype in docker is to download the already prepared image from the official Docker image index repository: tomparys/skype. Follow further instructions there.

Building Instructions

In case you do not want to download the prepared image, you can built the image yourself using these following instructions.

  1. Install PulseAudio Preferences. Debian/Ubuntu users can do this:

     sudo apt-get install paprefs
    
  2. Launch PulseAudio Preferences, go to the "Network Server" tab, and check the "Enable network access to local sound devices" and "Don't require authentication" checkboxes

  3. Restart PulseAudio

     sudo service pulseaudio restart
    

    or

     pulseaudio -k
     pulseaudio --start
    

    On some distributions, it may be necessary to completely restart your computer. You can confirm that the settings have successfully been applied using the pax11publish command. You should see something like this (the important part is in bold):

    Server: {ShortAlphanumericString}unix:/run/user/1000/pulse/native tcp:YourHostname:4713 tcp6:YourHostname:4713

    Cookie: ReallyLongAlphanumericString

  4. Install Docker if you haven't already

  5. Clone this repository and get right in there

     git clone https://github.com/tomparys/docker-skype-pulseaudio.git && cd docker-skype-pulseaudio
    
  6. Build the container

     sudo docker build -t skype .
    
  7. Create an entry in your .ssh/config file for easy access. It should look like this:

     Host docker-skype
       User      docker
       Port      55555
       HostName  127.0.0.1
       RemoteForward 64713 localhost:4713
       ForwardX11 yes
    

    (Optional) I recommend creating an SSH key without a password to be used to connect to this container. So in case you used a non-standard filename for your SSH key, add this:

       IdentityFile /path/to/your/ssh/key
    
  8. Run the container and forward the appropriate port

     sudo docker run -d -p 55555:22 skype
    
  9. (Optional) Copy an SSH public key

    If you plan to use an SSH key, copy the public key to the docker container using the following command. The password is docker.

     ssh-copy-id -i /path/to/your/public/key.pub docker-skype
    
  10. Connect via SSH and launch Skype using the provided PulseAudio wrapper script

    ssh docker-skype skype-pulseaudio
    

    In case you didn't copy the SSH public key, the password is docker.

  11. Go use Skype in a safe container!

Frequently Asked Questions

Why would I want to do this?

There are a couple of reasons you might want to restrict Skype's access to your computer:

  • It is proprietary Microsoft software
  • The skype binary is disguised against decompiling, so nobody is (still) able to reproduce what it really does.
  • It produces encrypted traffic even when you are not actively using Skype.

docker-skype-pulseaudio's People

Contributors

jlund avatar terr avatar tomparys avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.