Browse Source

Merge pull request #193 from turicas/master

Add a Dockerfile
miguelfreitas
miguelfreitas 11 years ago
parent
commit
76c827967d
  1. 34
      Dockerfile
  2. 47
      README.md

34
Dockerfile

@ -0,0 +1,34 @@
#
# Dockerfile for building Twister peer-to-peer micro-blogging
#
FROM debian:testing
MAINTAINER Álvaro Justen <alvarojusten@gmail.com>
ENV DEBIAN_FRONTEND noninteractive
# Update repositories
RUN echo 'deb http://http.debian.net/debian testing main contrib' > /etc/apt/sources.list
RUN echo 'deb http://http.debian.net/debian testing-updates main contrib' >> /etc/apt/sources.list
RUN echo 'deb http://security.debian.org testing/updates main contrib' >> /etc/apt/sources.list
RUN apt-get update
# Install needed packages to build and run twisterd
RUN apt-get -y install \
git autoconf libtool build-essential \
libboost-all-dev libdb++-dev libminiupnpc-dev libssl-dev
# Clean APT cache to save disk space
RUN apt-get clean
# Download and build twister
RUN mkdir /root/.twister
RUN git clone https://github.com/miguelfreitas/twister-core.git /root/twister-core
RUN git clone https://github.com/miguelfreitas/twister-html.git /root/.twister/html
RUN cd /root/twister-core && ./bootstrap.sh
RUN cd /root/twister-core && make
EXPOSE 28332
ENTRYPOINT ["/root/twister-core/twisterd"]
CMD ["-rpcuser=user", "-rpcpassword=pwd", "-rpcallowip=*", \
"-datadir=/root/.twister", "-htmldir=/root/.twister/html"]

47
README.md

@ -1,5 +1,4 @@
twister - p2p microblogging # twister - p2p microblogging
===========================
<http://www.twister.net.co> <http://www.twister.net.co>
@ -7,8 +6,7 @@ Bitcoin Copyright (c) 2009-2013 Bitcoin Developers
libtorrent Copyright (c) 2003 - 2007, Arvid Norberg libtorrent Copyright (c) 2003 - 2007, Arvid Norberg
twister Copyright (c) 2013 Miguel Freitas twister Copyright (c) 2013 Miguel Freitas
What is twister? ## What is twister?
----------------
twister is an experimental peer-to-peer microblogging software. twister is an experimental peer-to-peer microblogging software.
@ -21,20 +19,25 @@ are provided by libtorrent.
Both Bitcoin and libtorrent versions included here are highly patched and do Both Bitcoin and libtorrent versions included here are highly patched and do
not interoperate with existing networks (on purpose). not interoperate with existing networks (on purpose).
Compiling ## Compiling
----------------
You can build twister using these docs:
[Ubuntu/Debian](https://github.com/miguelfreitas/twister-core/blob/master/doc/building-on-ubuntu-debian.md) Please follow the instructions for your platform:
[Mac OS X](https://github.com/miguelfreitas/twister-core/blob/master/doc/build-osx.md) - [UNIX](https://github.com/miguelfreitas/twister-core/blob/master/doc/build-unix.md)
- [Debian/Ubuntu](https://github.com/miguelfreitas/twister-core/blob/master/doc/building-on-ubuntu-debian.md)
- [Mac OS X](https://github.com/miguelfreitas/twister-core/blob/master/doc/build-osx.md)
- [Windows (untested)](https://github.com/miguelfreitas/twister-core/wiki/Compiling-for-Windows)
[Windows (untested)](https://github.com/miguelfreitas/twister-core/wiki/Compiling-for-Windows) Or, alternatively, you can build Twister on an isolated Linux container, using
[docker](http://docker.io/):
[Unix](https://github.com/miguelfreitas/twister-core/blob/master/doc/build-unix.md) docker build -t twister https://github.com/miguelfreitas/twister-core/blob/master/Dockerfile
docker run -d -p 127.0.0.1:1234:28332 twister
# now try to access http://127.0.0.1:1234/ on docker host
License > According to our tests, at least 1GB of RAM is neede to compile Twister.
-------
## License
Bitcoin is released under the terms of the MIT license. See `COPYING` for more Bitcoin is released under the terms of the MIT license. See `COPYING` for more
information or see http://opensource.org/licenses/MIT. information or see http://opensource.org/licenses/MIT.
@ -44,8 +47,7 @@ libtorrent is released under the BSD-license.
twister specific code is released under the MIT license or BSD, you choose. twister specific code is released under the MIT license or BSD, you choose.
(it shouldn't matter anyway, except for the "non-endorsement clause"). (it shouldn't matter anyway, except for the "non-endorsement clause").
Development process ## Development process
-------------------
There is no development process defined yet. There is no development process defined yet.
@ -53,8 +55,7 @@ Developers of either bitcoin or libtorrent are welcomed and will be granted
immediate write-access to the repository (a small retribution for immediate write-access to the repository (a small retribution for
bastardizing their codebases). bastardizing their codebases).
Testing ## Testing
-------
Some security checks are disabled (temporarily) allowing multiple clients per IP. Some security checks are disabled (temporarily) allowing multiple clients per IP.
Therefore it is possible to run multiple twisterd instances at the same machine: Therefore it is possible to run multiple twisterd instances at the same machine:
@ -66,8 +67,7 @@ Therefore it is possible to run multiple twisterd instances at the same machine:
Note: some features (like block generation and dht put/get) do now work unless Note: some features (like block generation and dht put/get) do now work unless
the network has at least two nodes, like these two instances in the example above. the network has at least two nodes, like these two instances in the example above.
Wire protocol ## Wire protocol
-------------
Bitcoin and libtorrent protocol signatures have been changed on purpose to Bitcoin and libtorrent protocol signatures have been changed on purpose to
make twister network incompatible. This avoids the so called make twister network incompatible. This avoids the so called
@ -79,8 +79,7 @@ make twister network incompatible. This avoids the so called
- Torrent/DHT query changed from "y" to "z" - Torrent/DHT query changed from "y" to "z"
- Torrent/DHT answer changed from "a" to "x" - Torrent/DHT answer changed from "a" to "x"
Quick JSON command examples ## Quick JSON command examples
---------------------------
In order to use JSON-RPC you must set user/password/port by either command In order to use JSON-RPC you must set user/password/port by either command
line or configuration file. This is the same as in [bitcoin](https://en.bitcoin.it/wiki/Running_Bitcoin) line or configuration file. This is the same as in [bitcoin](https://en.bitcoin.it/wiki/Running_Bitcoin)
@ -157,8 +156,7 @@ To obtain the full list of commands
./twisterd help ./twisterd help
Running the web interface ## Running the web interface
-------------------------
First you'll need to grab the latest version of the web UI code and put it First you'll need to grab the latest version of the web UI code and put it
in your twister data dir: in your twister data dir:
@ -176,8 +174,7 @@ Visit [http://localhost:28332/index.html](http://localhost:28332/index.html)
in your web browser and you should see a page asking you to choose between the in your web browser and you should see a page asking you to choose between the
Desktop and Mobile interfaces. Desktop and Mobile interfaces.
Different themes ## Different themes
-------------------------
If you prefer new modern look of twister with new untested things, you can try twister-calm theme If you prefer new modern look of twister with new untested things, you can try twister-calm theme
But be careful, it is in beta stage. But be careful, it is in beta stage.

Loading…
Cancel
Save