]> git.p6c8.net - jirafeau.git/blob - docker/README.md
[FEATURE] Add composer
[jirafeau.git] / docker / README.md
1 # Jirafeau in Docker
2
3 Jirafeau is a small PHP application so running it inside a docker is pretty straightforward.
4
5 ## Get Jirafeau's docker image
6
7 ### Pull docker image from Docker Hub
8
9 `docker pull mojo42/jirafeau`
10
11 ### Build your own docker image
12
13 ```
14 git clone https://gitlab.com/mojo42/Jirafeau.git
15 cd Jirafeau
16 docker build -t mojo42/jirafeau:latest .
17 ```
18
19 ## Run Jirafeau image
20
21 Once you have your Jirafeau's image, you can run a quick & dirty Jirafeau using:
22 ```
23 docker run -d -p 8080:8080 mojo42/jirafeau
24 ```
25 and then connect on [locahost:8080](http://localhost:8080) and proceed to installation.
26
27 An other way to run Jirafeau (in a more controlled way) is to mount your Jirafeau's reprository in /www folder so your data are outside the container. This way, you will be able to easily make backups, upgrade Jirafeau, change configuration and develop Jirafeau.
28 ```
29 docker run -d -p 8080:8080 -v$(pwd):/www mojo42/jirafeau
30 ```
31
32 There are also other ways to manage your container (like docker's volumes) but this is out of the scope of this documentation.
33
34 ## Security
35
36 Jirafeau is run without privilidges with user id 2009. To make it able to open privilidged ports you can pass the capability, just stay with 8080 and use a reverse proxy or map the port 80:8080.
37 ```
38 docker run -d -p 80:80 --sysctl net.ipv4.ip_unprivileged_port_start=80 mojo42/jirafeau
39 docker run -d -p 8080:8080 mojo42/jirafeau
40 docker run -d -p 80:8080 mojo42/jirafeau
41 ```
42
43 ## Few notes
44
45 - SSL is currently not enabled in docker's image for the moment
46 - `var-...` folder where lives all uploaded data is protected from direct access
47 - Image has been made using [Alpine Linux](https://alpinelinux.org/) with [lighttpd](https://www.lighttpd.net/) which makes the container very light and start very quickly

patrick-canterino.de