1- LinuxFr on Docker
2- -----------------
1+ LinuxFr with Containers
2+ -----------------------
33
44To 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.
67
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.
922
1023To init the SQL database schema, you need to wait upto the ` database `
1124container to be ready to listen MySQL connections.
@@ -19,7 +32,7 @@ For example, you should see in the logs:
1932Then, open a second terminal and run:
2033
2134```
22- docker- compose run linuxfr.org bin/rails db:setup
35+ docker compose run linuxfr.org bin/rails db:setup
2336```
2437
2538Finally, the environment is ready and you can open [ http://dlfp.lo ] ( http://dlfp.lo )
@@ -57,7 +70,7 @@ service.
5770
5871If you want to change the application port and/or other configurations, you can
5972[ 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
6174the port).
6275
6376Notice, 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.
6679Test modifications
6780==================
6881
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.
7184
7285So you can update files with your prefered IDE on your machine. Rails
7386will 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
7689terminal and run:
7790
7891```
79- docker- compose run linuxfr.org bin/rails console
92+ docker compose run linuxfr.org bin/rails console
8093```
8194
8295Note: currently, we didn't configure rails to show directly the
@@ -93,10 +106,10 @@ To get help about writing tests, see the
93106[ Ruby on Rails documentation] ( https://guides.rubyonrails.org/testing.html#the-rails-test-runner )
94107.
95108
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:
97110
98111```
99- docker- compose run linuxfr.org bin/rails test -v
112+ docker compose run linuxfr.org bin/rails test -v
100113```
101114
102115Inspect database schema
@@ -106,7 +119,7 @@ In case you need to inspect the database, you need a second terminal
106119and run:
107120
108121```
109- docker- compose run database mysql -hdatabase -ulinuxfr_rails -p linuxfr_rails
122+ docker compose run database mysql -hdatabase -ulinuxfr_rails -p linuxfr_rails
110123```
111124
112125By 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
118131terminal and run:
119132
120133```
121- docker- compose run linuxfr.org bin/rails db:migrate
134+ docker compose run linuxfr.org bin/rails db:migrate
122135```
123136
124137If you had issue and want to reset all data in your database system,
125138use:
126139
127140```
128- docker- compose run linuxfr.org bin/rails db:reset
141+ docker compose run linuxfr.org bin/rails db:reset
129142```
130143
131- Services provided by the docker- compose
144+ Services provided by the compose file
132145=======================================
133146
134- Currently, these services are directly enabled by docker- compose:
147+ Currently, these services are directly enabled by compose:
135148
1361491 . The [ LinuxFr.org] ( https://github.com/linuxfrorg/linuxfr.org )
137150ruby on rails application itself
@@ -148,7 +161,7 @@ For now, these services aren't available:
148161because it requires to run
149162LinuxFr.org with a TLS certificate. When the service will accept to
150163fetch articles with simple ` http:// ` , we'll be able to provide it
151- directly with docker- compose.
164+ directly with docker compose.
1521652 . The [ svgtex service] ( https://github.com/linuxfrorg/svgtex ) , because LinuxFr
153166has hard-coded the ` localhost `
154167hostname in it's [ HTML Pipeline tool] ( https://github.com/linuxfrorg/html-pipeline-linuxfr/blob/linuxfr/lib/html/pipeline/linuxfr.rb#L8 )
0 commit comments