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 database schema
@@ -106,7 +119,7 @@ In case you need to inspect the database, you need a second terminal
106
119
and run:
107
120
108
121
```
109
- docker- compose run database mysql -hdatabase -ulinuxfr_rails -p linuxfr_rails
122
+ docker compose run database mysql -hdatabase -ulinuxfr_rails -p linuxfr_rails
110
123
```
111
124
112
125
By default, the requested password is the same as the username.
@@ -118,20 +131,20 @@ In case you need to apply new database migrations, you need a second
118
131
terminal and run:
119
132
120
133
```
121
- docker- compose run linuxfr.org bin/rails db:migrate
134
+ docker compose run linuxfr.org bin/rails db:migrate
122
135
```
123
136
124
137
If you had issue and want to reset all data in your database system,
125
138
use:
126
139
127
140
```
128
- docker- compose run linuxfr.org bin/rails db:reset
141
+ docker compose run linuxfr.org bin/rails db:reset
129
142
```
130
143
131
- Services provided by the docker- compose
144
+ Services provided by the compose file
132
145
=======================================
133
146
134
- Currently, these services are directly enabled by docker- compose:
147
+ Currently, these services are directly enabled by compose:
135
148
136
149
1 . The [ LinuxFr.org] ( https://github.com/linuxfrorg/linuxfr.org )
137
150
ruby on rails application itself
@@ -148,7 +161,7 @@ For now, these services aren't available:
148
161
because it requires to run
149
162
LinuxFr.org with a TLS certificate. When the service will accept to
150
163
fetch articles with simple ` http:// ` , we'll be able to provide it
151
- directly with docker- compose.
164
+ directly with docker compose.
152
165
2 . The [ svgtex service] ( https://github.com/linuxfrorg/svgtex ) , because LinuxFr
153
166
has hard-coded the ` localhost `
154
167
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