1
- LinuxFr on Docker
2
- -----------------
1
+ LinuxFr with Containers
2
+ -----------------------
3
3
4
4
To simplify set up of a developement environment, LinuxFr.org can be
5
- run on Docker with ` docker-compose up ` .
5
+ run with a container engine like Docker or Podman with the [ ` compose.yml ` ] ( ./compose.yaml )
6
+ file which describe how to build all needed services.
6
7
7
- Note: you need to enable the Docker BuildKit builder. Either you have a Docker
8
- version which uses it by default, or you set the environment variable ` export DOCKER_BUILDKIT=1 ` .
8
+ If you use the Docker engine, you can use the ` docker compose up ` command to start the system (you
9
+ need to install the [ Docker compose plugin] ( https://docs.docker.com/compose/ ) ).
10
+
11
+ > Note: with the Docker engine, you need to enable the Docker BuildKit builder.
12
+ > Either you have a Docker version which uses it by default, or you set the
13
+ > environment variable ` export DOCKER_BUILDKIT=1 ` .
14
+
15
+ If you use Podman, you can either use the same Docker compose plugin or the
16
+ [ podman-compose] ( https://github.com/containers/podman-compose/ )
17
+ utility. The podman cli itself provide a wrapper of one of these two tools through the
18
+ [ ` podman compose ` command] ( https://docs.podman.io/en/latest/markdown/podman-compose.1.html ) .
19
+
20
+ At this point, the documentation will give you ` docker compose ` commands, but you should be able
21
+ to use ` podman compose ` without any issue.
9
22
10
23
To init the SQL database schema, you need to wait upto the ` database `
11
24
container to be ready to listen MySQL connections.
@@ -19,7 +32,7 @@ For example, you should see in the logs:
19
32
Then, open a second terminal and run:
20
33
21
34
```
22
- docker- compose run linuxfr.org bin/rails db:setup
35
+ docker compose run linuxfr.org bin/rails db:setup
23
36
```
24
37
25
38
Finally, the environment is ready and you can open [ http://dlfp.lo ] ( http://dlfp.lo )
@@ -57,7 +70,7 @@ service.
57
70
58
71
If you want to change the application port and/or other configurations, you can
59
72
[ override] ( https://docs.docker.com/compose/extends/ )
60
- the docker- compose configuration (in particular the ` nginx ` service for
73
+ the docker compose configuration (in particular the ` nginx ` service for
61
74
the port).
62
75
63
76
Notice, that if LinuxFr.org doesn't run on port 80, the image cache
@@ -66,8 +79,8 @@ service won't work well and so you won't be able to see images in the news.
66
79
Test modifications
67
80
==================
68
81
69
- The docker- compose is currently configured to share ` ./app ` , ` ./db ` and
70
- ` ./public ` directories with the docker container.
82
+ The compose file currently shares ` ./app ` , ` ./db ` and
83
+ ` ./public ` directories with the container.
71
84
72
85
So you can update files with your prefered IDE on your machine. Rails
73
86
will directly detect changes and apply them on next page reload.
@@ -76,7 +89,7 @@ Furthermore, if you need to access the Rails console, you need a second
76
89
terminal and run:
77
90
78
91
```
79
- docker- compose run linuxfr.org bin/rails console
92
+ docker compose run linuxfr.org bin/rails console
80
93
```
81
94
82
95
Note: currently, we didn't configure rails to show directly the
@@ -93,10 +106,10 @@ To get help about writing tests, see the
93
106
[ Ruby on Rails documentation] ( https://guides.rubyonrails.org/testing.html#the-rails-test-runner )
94
107
.
95
108
96
- To run tests with Docker environment , you need to use this command:
109
+ To run tests with containers , you need to use this command:
97
110
98
111
```
99
- docker- compose run linuxfr.org bin/rails test -v
112
+ docker compose run linuxfr.org bin/rails test -v
100
113
```
101
114
102
115
Inspect the database schema
@@ -116,20 +129,20 @@ In case you need to apply new database migrations, you need a second
116
129
terminal and run:
117
130
118
131
```
119
- docker- compose run linuxfr.org bin/rails db:migrate
132
+ docker compose run linuxfr.org bin/rails db:migrate
120
133
```
121
134
122
135
If you had issue and want to reset all data in your database system,
123
136
use:
124
137
125
138
```
126
- docker- compose run linuxfr.org bin/rails db:reset
139
+ docker compose run linuxfr.org bin/rails db:reset
127
140
```
128
141
129
- Services provided by the docker- compose
142
+ Services provided by the compose file
130
143
=======================================
131
144
132
- Currently, these services are directly enabled by docker- compose:
145
+ Currently, these services are directly enabled by compose:
133
146
134
147
1 . The [ LinuxFr.org] ( https://github.com/linuxfrorg/linuxfr.org )
135
148
ruby on rails application itself
@@ -146,7 +159,7 @@ For now, these services aren't available:
146
159
because it requires to run
147
160
LinuxFr.org with a TLS certificate. When the service will accept to
148
161
fetch articles with simple ` http:// ` , we'll be able to provide it
149
- directly with docker- compose.
162
+ directly with docker compose.
150
163
2 . The [ svgtex service] ( https://github.com/linuxfrorg/svgtex ) , because LinuxFr
151
164
has hard-coded the ` localhost `
152
165
hostname in it's [ HTML Pipeline tool] ( https://github.com/linuxfrorg/html-pipeline-linuxfr/blob/linuxfr/lib/html/pipeline/linuxfr.rb#L8 )
0 commit comments