odoo-devops-tools 1.23.2__tar.gz → 1.23.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {odoo_devops_tools-1.23.2 → odoo_devops_tools-1.23.4}/PKG-INFO +70 -50
- {odoo_devops_tools-1.23.2 → odoo_devops_tools-1.23.4}/README.md +69 -49
- odoo_devops_tools-1.23.4/odoo_devops_tools/__init__.py +1 -0
- {odoo_devops_tools-1.23.2 → odoo_devops_tools-1.23.4}/odoo_devops_tools/env.py +98 -0
- {odoo_devops_tools-1.23.2 → odoo_devops_tools-1.23.4}/odoo_devops_tools.egg-info/PKG-INFO +70 -50
- {odoo_devops_tools-1.23.2 → odoo_devops_tools-1.23.4}/pyproject.toml +1 -1
- odoo_devops_tools-1.23.2/odoo_devops_tools/__init__.py +0 -1
- {odoo_devops_tools-1.23.2 → odoo_devops_tools-1.23.4}/LICENSE +0 -0
- {odoo_devops_tools-1.23.2 → odoo_devops_tools-1.23.4}/odoo_devops_tools.egg-info/SOURCES.txt +0 -0
- {odoo_devops_tools-1.23.2 → odoo_devops_tools-1.23.4}/odoo_devops_tools.egg-info/dependency_links.txt +0 -0
- {odoo_devops_tools-1.23.2 → odoo_devops_tools-1.23.4}/odoo_devops_tools.egg-info/entry_points.txt +0 -0
- {odoo_devops_tools-1.23.2 → odoo_devops_tools-1.23.4}/odoo_devops_tools.egg-info/top_level.txt +0 -0
- {odoo_devops_tools-1.23.2 → odoo_devops_tools-1.23.4}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: odoo-devops-tools
|
|
3
|
-
Version: 1.23.
|
|
3
|
+
Version: 1.23.4
|
|
4
4
|
Summary: Build reproducible Odoo workspaces from a single project definition.
|
|
5
5
|
Author: Roman Lacko
|
|
6
6
|
License-Expression: MIT
|
|
@@ -123,14 +123,21 @@ Create a new workspace:
|
|
|
123
123
|
odoo-compose --init ./odoo19
|
|
124
124
|
```
|
|
125
125
|
|
|
126
|
-
|
|
126
|
+
This creates `./odoo19/odoo-project.ini` with this initial content:
|
|
127
|
+
|
|
128
|
+
```ini
|
|
129
|
+
[odoo]
|
|
130
|
+
version = 19.0
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Then start the Docker Compose environment:
|
|
127
134
|
|
|
128
135
|
```bash
|
|
129
136
|
cd ./odoo19
|
|
130
|
-
docker compose up -d
|
|
137
|
+
docker compose up -d --build
|
|
131
138
|
```
|
|
132
139
|
|
|
133
|
-
|
|
140
|
+
Optionally initialize the Odoo database from the command line instead of through the web interface:
|
|
134
141
|
|
|
135
142
|
```bash
|
|
136
143
|
docker compose run --rm odoo -- -c /etc/odoo/odoo.conf -d odoo \
|
|
@@ -141,15 +148,6 @@ docker compose run --rm odoo -- -c /etc/odoo/odoo.conf -d odoo \
|
|
|
141
148
|
|
|
142
149
|
Docker Compose runs both Odoo and PostgreSQL. Odoo is available at http://localhost:8069.
|
|
143
150
|
|
|
144
|
-
The Docker workflow uses the following `odoo-project.ini` configuration:
|
|
145
|
-
|
|
146
|
-
```ini
|
|
147
|
-
[odoo]
|
|
148
|
-
version = 19.0
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
Edit this file when you want to add extra addons, change configuration values, pin repositories, or adjust Python dependency handling.
|
|
152
|
-
|
|
153
151
|
### 1.1. Adding extra addons
|
|
154
152
|
|
|
155
153
|
To extend Odoo with additional functionality, add extra addons through `[addons.<name>]` sections in `odoo-project.ini`.
|
|
@@ -179,7 +177,7 @@ Sync the configured addon repositories and refresh the generated Docker workflow
|
|
|
179
177
|
|
|
180
178
|
```bash
|
|
181
179
|
odoo-compose --sync-addons
|
|
182
|
-
docker compose up --build
|
|
180
|
+
docker compose up -d --build
|
|
183
181
|
```
|
|
184
182
|
|
|
185
183
|
The addon repositories are cloned into `ROOT/odoo-addons/oca-web/` and `ROOT/odoo-addons/oca-helpdesk/` and bind-mounted into the Odoo container.
|
|
@@ -195,10 +193,10 @@ docker compose run --rm odoo -- -c /etc/odoo/odoo.conf -d odoo \
|
|
|
195
193
|
--stop-after-init
|
|
196
194
|
```
|
|
197
195
|
|
|
198
|
-
For subsequent addon updates,
|
|
196
|
+
For subsequent addon updates, use the generated Docker update helper:
|
|
199
197
|
|
|
200
198
|
```bash
|
|
201
|
-
docker
|
|
199
|
+
./docker/local/scripts/update.sh
|
|
202
200
|
```
|
|
203
201
|
|
|
204
202
|
### 1.2. Running Odoo from workspace source
|
|
@@ -223,19 +221,21 @@ Sync the Odoo source and generate the Docker artifacts:
|
|
|
223
221
|
|
|
224
222
|
```bash
|
|
225
223
|
odoo-compose --sync-all
|
|
226
|
-
docker compose up --build
|
|
224
|
+
docker compose up -d --build
|
|
227
225
|
```
|
|
228
226
|
|
|
229
227
|
The resolved Odoo source is bind-mounted read-only at `/opt/odoo`. The Odoo Python source from the base image is removed while its installed dependencies remain available.
|
|
230
228
|
|
|
231
|
-
### 1.3.
|
|
229
|
+
### 1.3. Script reference
|
|
232
230
|
|
|
233
|
-
The Docker workflow generates platform-specific
|
|
231
|
+
The Docker workflow generates platform-specific helper scripts under `ROOT/docker/local/scripts/`. Unix-like systems generate `.sh` helpers; Windows generates the corresponding `.bat` helpers.
|
|
234
232
|
|
|
235
233
|
On Unix-like systems:
|
|
236
234
|
|
|
237
235
|
```text
|
|
238
236
|
docker/local/scripts/
|
|
237
|
+
├── shell.sh
|
|
238
|
+
├── update.sh
|
|
239
239
|
├── backup-db.sh
|
|
240
240
|
├── restore-db.sh
|
|
241
241
|
├── neutralize-db.sh
|
|
@@ -246,15 +246,41 @@ docker/local/scripts/
|
|
|
246
246
|
└── restore-filestore-restic.sh
|
|
247
247
|
```
|
|
248
248
|
|
|
249
|
-
|
|
249
|
+
The examples below use the Unix `.sh` form.
|
|
250
250
|
|
|
251
|
-
|
|
251
|
+
#### 1.3.1. shell
|
|
252
|
+
|
|
253
|
+
Opens an Odoo shell for the configured database:
|
|
252
254
|
|
|
253
255
|
```bash
|
|
254
|
-
|
|
256
|
+
./docker/local/scripts/shell.sh
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
The default database name is taken from `[config].db_name` when configured, otherwise it is `odoo`. Override it with `ODOO_DB_NAME`:
|
|
260
|
+
|
|
261
|
+
```bash
|
|
262
|
+
ODOO_DB_NAME=odoo_test ./docker/local/scripts/shell.sh
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
Any extra arguments are passed through to the underlying Odoo shell command.
|
|
266
|
+
|
|
267
|
+
#### 1.3.2. update
|
|
268
|
+
|
|
269
|
+
Updates installed addons using `click-odoo-update`:
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
./docker/local/scripts/update.sh
|
|
255
273
|
```
|
|
256
274
|
|
|
257
|
-
|
|
275
|
+
The default database name follows the same `ODOO_DB_NAME` convention as the shell and database helpers.
|
|
276
|
+
|
|
277
|
+
Any extra arguments are passed through to `click-odoo-update`:
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
./docker/local/scripts/update.sh --update-all
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
#### 1.3.3. Database backup
|
|
258
284
|
|
|
259
285
|
Create a PostgreSQL custom-format dump under `ROOT/odoo-backups/`:
|
|
260
286
|
|
|
@@ -274,7 +300,13 @@ Pass an output path explicitly when needed:
|
|
|
274
300
|
./docker/local/scripts/backup-db.sh ./odoo-backups/pre-upgrade.dump
|
|
275
301
|
```
|
|
276
302
|
|
|
277
|
-
|
|
303
|
+
The default database name is taken from `[config].db_name` when configured, otherwise it is `odoo`. Override it for any command with `ODOO_DB_NAME`:
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
ODOO_DB_NAME=odoo_test ./docker/local/scripts/backup-db.sh
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
#### 1.3.4. Database restore
|
|
278
310
|
|
|
279
311
|
Restore a database dump with `pg_restore`:
|
|
280
312
|
|
|
@@ -311,7 +343,7 @@ To restore the same dump into another database without replacing the default dat
|
|
|
311
343
|
ODOO_DB_NAME=odoo_restore ./docker/local/scripts/restore-db.sh ./odoo-backups/pre-upgrade.dump
|
|
312
344
|
```
|
|
313
345
|
|
|
314
|
-
#### 1.3.
|
|
346
|
+
#### 1.3.5. Database neutralization
|
|
315
347
|
|
|
316
348
|
For development or test databases restored from production, run the generated neutralization helper explicitly:
|
|
317
349
|
|
|
@@ -341,7 +373,7 @@ docker compose up -d odoo
|
|
|
341
373
|
|
|
342
374
|
`--copy` / `--move` and neutralization serve different purposes: copy/move controls restored database identity, while neutralization controls production side effects.
|
|
343
375
|
|
|
344
|
-
#### 1.3.
|
|
376
|
+
#### 1.3.6. Filestore backup
|
|
345
377
|
|
|
346
378
|
Create a compressed tar archive of the selected database filestore:
|
|
347
379
|
|
|
@@ -372,7 +404,7 @@ docker compose stop odoo
|
|
|
372
404
|
docker compose up -d odoo
|
|
373
405
|
```
|
|
374
406
|
|
|
375
|
-
#### 1.3.
|
|
407
|
+
#### 1.3.7. Filestore restore
|
|
376
408
|
|
|
377
409
|
Restore a filestore archive:
|
|
378
410
|
|
|
@@ -396,20 +428,10 @@ ODOO_DB_NAME=odoo_restore ./docker/local/scripts/restore-filestore.sh ./odoo-bac
|
|
|
396
428
|
|
|
397
429
|
Database and filestore backups are intentionally separate. This allows either part to be restored independently while still making it possible to create matching database and filestore backups when both are needed.
|
|
398
430
|
|
|
399
|
-
#### 1.3.
|
|
431
|
+
#### 1.3.8. Restic filestore backup
|
|
400
432
|
|
|
401
433
|
The generated Docker image also includes `restic`. Restic is an additional option intended especially for large filestores where incremental snapshots and deduplication are useful.
|
|
402
434
|
|
|
403
|
-
The Docker workflow generates platform-specific restic helpers: `.sh` on Unix-like systems and `.bat` on Windows.
|
|
404
|
-
|
|
405
|
-
```text
|
|
406
|
-
docker/local/scripts/restic.sh
|
|
407
|
-
docker/local/scripts/backup-filestore-restic.sh
|
|
408
|
-
docker/local/scripts/restore-filestore-restic.sh
|
|
409
|
-
```
|
|
410
|
-
|
|
411
|
-
The corresponding Windows helpers use the same names with the `.bat` extension. The `restic` helper runs the `restic` binary from the generated Odoo image against the same `odoo-data` volume. The restic cache is kept under `/var/lib/odoo/.cache/restic`, outside the filestore directory, so it persists between one-off containers without being included in filestore backups.
|
|
412
|
-
|
|
413
435
|
Set `RESTIC_REPOSITORY` and either `RESTIC_PASSWORD_FILE` or `RESTIC_PASSWORD` before using the helpers. For a local repository on the Docker host, use an absolute path. The wrapper automatically bind-mounts the repository into the one-off container; Windows drive paths such as `C:\backups\odoo` are supported by `restic.bat`:
|
|
414
436
|
|
|
415
437
|
```bash
|
|
@@ -444,7 +466,7 @@ List or inspect snapshots through the generic wrapper:
|
|
|
444
466
|
./docker/local/scripts/restic.sh check
|
|
445
467
|
```
|
|
446
468
|
|
|
447
|
-
#### 1.3.
|
|
469
|
+
#### 1.3.9. Restic filestore restore
|
|
448
470
|
|
|
449
471
|
Restore the latest matching filestore snapshot:
|
|
450
472
|
|
|
@@ -524,16 +546,7 @@ odoo-compose --init ./odoo19 --sync-all --create-venv \
|
|
|
524
546
|
> **Note**
|
|
525
547
|
> Make sure PostgreSQL is running at the configured host and the configured database user exists.
|
|
526
548
|
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
```bash
|
|
530
|
-
cd ./odoo19
|
|
531
|
-
./odoo-scripts/run.sh
|
|
532
|
-
```
|
|
533
|
-
|
|
534
|
-
Odoo starts with the generated configuration from `./odoo-configs/odoo-server.conf` and is available at http://localhost:8069.
|
|
535
|
-
|
|
536
|
-
The native workflow uses the following `odoo-project.ini` configuration, with PostgreSQL connection settings added to `[config]`:
|
|
549
|
+
This creates `./odoo19/odoo-project.ini` with this initial content:
|
|
537
550
|
|
|
538
551
|
```ini
|
|
539
552
|
[odoo]
|
|
@@ -546,7 +559,14 @@ db_user = odoo
|
|
|
546
559
|
db_password = odoo
|
|
547
560
|
```
|
|
548
561
|
|
|
549
|
-
|
|
562
|
+
Then start Odoo with the generated script:
|
|
563
|
+
|
|
564
|
+
```bash
|
|
565
|
+
cd ./odoo19
|
|
566
|
+
./odoo-scripts/run.sh
|
|
567
|
+
```
|
|
568
|
+
|
|
569
|
+
Odoo starts with the generated configuration from `./odoo-configs/odoo-server.conf` and is available at http://localhost:8069.
|
|
550
570
|
|
|
551
571
|
### 2.1. Adding extra addons
|
|
552
572
|
|
|
@@ -95,14 +95,21 @@ Create a new workspace:
|
|
|
95
95
|
odoo-compose --init ./odoo19
|
|
96
96
|
```
|
|
97
97
|
|
|
98
|
-
|
|
98
|
+
This creates `./odoo19/odoo-project.ini` with this initial content:
|
|
99
|
+
|
|
100
|
+
```ini
|
|
101
|
+
[odoo]
|
|
102
|
+
version = 19.0
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Then start the Docker Compose environment:
|
|
99
106
|
|
|
100
107
|
```bash
|
|
101
108
|
cd ./odoo19
|
|
102
|
-
docker compose up -d
|
|
109
|
+
docker compose up -d --build
|
|
103
110
|
```
|
|
104
111
|
|
|
105
|
-
|
|
112
|
+
Optionally initialize the Odoo database from the command line instead of through the web interface:
|
|
106
113
|
|
|
107
114
|
```bash
|
|
108
115
|
docker compose run --rm odoo -- -c /etc/odoo/odoo.conf -d odoo \
|
|
@@ -113,15 +120,6 @@ docker compose run --rm odoo -- -c /etc/odoo/odoo.conf -d odoo \
|
|
|
113
120
|
|
|
114
121
|
Docker Compose runs both Odoo and PostgreSQL. Odoo is available at http://localhost:8069.
|
|
115
122
|
|
|
116
|
-
The Docker workflow uses the following `odoo-project.ini` configuration:
|
|
117
|
-
|
|
118
|
-
```ini
|
|
119
|
-
[odoo]
|
|
120
|
-
version = 19.0
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
Edit this file when you want to add extra addons, change configuration values, pin repositories, or adjust Python dependency handling.
|
|
124
|
-
|
|
125
123
|
### 1.1. Adding extra addons
|
|
126
124
|
|
|
127
125
|
To extend Odoo with additional functionality, add extra addons through `[addons.<name>]` sections in `odoo-project.ini`.
|
|
@@ -151,7 +149,7 @@ Sync the configured addon repositories and refresh the generated Docker workflow
|
|
|
151
149
|
|
|
152
150
|
```bash
|
|
153
151
|
odoo-compose --sync-addons
|
|
154
|
-
docker compose up --build
|
|
152
|
+
docker compose up -d --build
|
|
155
153
|
```
|
|
156
154
|
|
|
157
155
|
The addon repositories are cloned into `ROOT/odoo-addons/oca-web/` and `ROOT/odoo-addons/oca-helpdesk/` and bind-mounted into the Odoo container.
|
|
@@ -167,10 +165,10 @@ docker compose run --rm odoo -- -c /etc/odoo/odoo.conf -d odoo \
|
|
|
167
165
|
--stop-after-init
|
|
168
166
|
```
|
|
169
167
|
|
|
170
|
-
For subsequent addon updates,
|
|
168
|
+
For subsequent addon updates, use the generated Docker update helper:
|
|
171
169
|
|
|
172
170
|
```bash
|
|
173
|
-
docker
|
|
171
|
+
./docker/local/scripts/update.sh
|
|
174
172
|
```
|
|
175
173
|
|
|
176
174
|
### 1.2. Running Odoo from workspace source
|
|
@@ -195,19 +193,21 @@ Sync the Odoo source and generate the Docker artifacts:
|
|
|
195
193
|
|
|
196
194
|
```bash
|
|
197
195
|
odoo-compose --sync-all
|
|
198
|
-
docker compose up --build
|
|
196
|
+
docker compose up -d --build
|
|
199
197
|
```
|
|
200
198
|
|
|
201
199
|
The resolved Odoo source is bind-mounted read-only at `/opt/odoo`. The Odoo Python source from the base image is removed while its installed dependencies remain available.
|
|
202
200
|
|
|
203
|
-
### 1.3.
|
|
201
|
+
### 1.3. Script reference
|
|
204
202
|
|
|
205
|
-
The Docker workflow generates platform-specific
|
|
203
|
+
The Docker workflow generates platform-specific helper scripts under `ROOT/docker/local/scripts/`. Unix-like systems generate `.sh` helpers; Windows generates the corresponding `.bat` helpers.
|
|
206
204
|
|
|
207
205
|
On Unix-like systems:
|
|
208
206
|
|
|
209
207
|
```text
|
|
210
208
|
docker/local/scripts/
|
|
209
|
+
├── shell.sh
|
|
210
|
+
├── update.sh
|
|
211
211
|
├── backup-db.sh
|
|
212
212
|
├── restore-db.sh
|
|
213
213
|
├── neutralize-db.sh
|
|
@@ -218,15 +218,41 @@ docker/local/scripts/
|
|
|
218
218
|
└── restore-filestore-restic.sh
|
|
219
219
|
```
|
|
220
220
|
|
|
221
|
-
|
|
221
|
+
The examples below use the Unix `.sh` form.
|
|
222
222
|
|
|
223
|
-
|
|
223
|
+
#### 1.3.1. shell
|
|
224
|
+
|
|
225
|
+
Opens an Odoo shell for the configured database:
|
|
224
226
|
|
|
225
227
|
```bash
|
|
226
|
-
|
|
228
|
+
./docker/local/scripts/shell.sh
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
The default database name is taken from `[config].db_name` when configured, otherwise it is `odoo`. Override it with `ODOO_DB_NAME`:
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
ODOO_DB_NAME=odoo_test ./docker/local/scripts/shell.sh
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Any extra arguments are passed through to the underlying Odoo shell command.
|
|
238
|
+
|
|
239
|
+
#### 1.3.2. update
|
|
240
|
+
|
|
241
|
+
Updates installed addons using `click-odoo-update`:
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
./docker/local/scripts/update.sh
|
|
227
245
|
```
|
|
228
246
|
|
|
229
|
-
|
|
247
|
+
The default database name follows the same `ODOO_DB_NAME` convention as the shell and database helpers.
|
|
248
|
+
|
|
249
|
+
Any extra arguments are passed through to `click-odoo-update`:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
./docker/local/scripts/update.sh --update-all
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
#### 1.3.3. Database backup
|
|
230
256
|
|
|
231
257
|
Create a PostgreSQL custom-format dump under `ROOT/odoo-backups/`:
|
|
232
258
|
|
|
@@ -246,7 +272,13 @@ Pass an output path explicitly when needed:
|
|
|
246
272
|
./docker/local/scripts/backup-db.sh ./odoo-backups/pre-upgrade.dump
|
|
247
273
|
```
|
|
248
274
|
|
|
249
|
-
|
|
275
|
+
The default database name is taken from `[config].db_name` when configured, otherwise it is `odoo`. Override it for any command with `ODOO_DB_NAME`:
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
ODOO_DB_NAME=odoo_test ./docker/local/scripts/backup-db.sh
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
#### 1.3.4. Database restore
|
|
250
282
|
|
|
251
283
|
Restore a database dump with `pg_restore`:
|
|
252
284
|
|
|
@@ -283,7 +315,7 @@ To restore the same dump into another database without replacing the default dat
|
|
|
283
315
|
ODOO_DB_NAME=odoo_restore ./docker/local/scripts/restore-db.sh ./odoo-backups/pre-upgrade.dump
|
|
284
316
|
```
|
|
285
317
|
|
|
286
|
-
#### 1.3.
|
|
318
|
+
#### 1.3.5. Database neutralization
|
|
287
319
|
|
|
288
320
|
For development or test databases restored from production, run the generated neutralization helper explicitly:
|
|
289
321
|
|
|
@@ -313,7 +345,7 @@ docker compose up -d odoo
|
|
|
313
345
|
|
|
314
346
|
`--copy` / `--move` and neutralization serve different purposes: copy/move controls restored database identity, while neutralization controls production side effects.
|
|
315
347
|
|
|
316
|
-
#### 1.3.
|
|
348
|
+
#### 1.3.6. Filestore backup
|
|
317
349
|
|
|
318
350
|
Create a compressed tar archive of the selected database filestore:
|
|
319
351
|
|
|
@@ -344,7 +376,7 @@ docker compose stop odoo
|
|
|
344
376
|
docker compose up -d odoo
|
|
345
377
|
```
|
|
346
378
|
|
|
347
|
-
#### 1.3.
|
|
379
|
+
#### 1.3.7. Filestore restore
|
|
348
380
|
|
|
349
381
|
Restore a filestore archive:
|
|
350
382
|
|
|
@@ -368,20 +400,10 @@ ODOO_DB_NAME=odoo_restore ./docker/local/scripts/restore-filestore.sh ./odoo-bac
|
|
|
368
400
|
|
|
369
401
|
Database and filestore backups are intentionally separate. This allows either part to be restored independently while still making it possible to create matching database and filestore backups when both are needed.
|
|
370
402
|
|
|
371
|
-
#### 1.3.
|
|
403
|
+
#### 1.3.8. Restic filestore backup
|
|
372
404
|
|
|
373
405
|
The generated Docker image also includes `restic`. Restic is an additional option intended especially for large filestores where incremental snapshots and deduplication are useful.
|
|
374
406
|
|
|
375
|
-
The Docker workflow generates platform-specific restic helpers: `.sh` on Unix-like systems and `.bat` on Windows.
|
|
376
|
-
|
|
377
|
-
```text
|
|
378
|
-
docker/local/scripts/restic.sh
|
|
379
|
-
docker/local/scripts/backup-filestore-restic.sh
|
|
380
|
-
docker/local/scripts/restore-filestore-restic.sh
|
|
381
|
-
```
|
|
382
|
-
|
|
383
|
-
The corresponding Windows helpers use the same names with the `.bat` extension. The `restic` helper runs the `restic` binary from the generated Odoo image against the same `odoo-data` volume. The restic cache is kept under `/var/lib/odoo/.cache/restic`, outside the filestore directory, so it persists between one-off containers without being included in filestore backups.
|
|
384
|
-
|
|
385
407
|
Set `RESTIC_REPOSITORY` and either `RESTIC_PASSWORD_FILE` or `RESTIC_PASSWORD` before using the helpers. For a local repository on the Docker host, use an absolute path. The wrapper automatically bind-mounts the repository into the one-off container; Windows drive paths such as `C:\backups\odoo` are supported by `restic.bat`:
|
|
386
408
|
|
|
387
409
|
```bash
|
|
@@ -416,7 +438,7 @@ List or inspect snapshots through the generic wrapper:
|
|
|
416
438
|
./docker/local/scripts/restic.sh check
|
|
417
439
|
```
|
|
418
440
|
|
|
419
|
-
#### 1.3.
|
|
441
|
+
#### 1.3.9. Restic filestore restore
|
|
420
442
|
|
|
421
443
|
Restore the latest matching filestore snapshot:
|
|
422
444
|
|
|
@@ -496,16 +518,7 @@ odoo-compose --init ./odoo19 --sync-all --create-venv \
|
|
|
496
518
|
> **Note**
|
|
497
519
|
> Make sure PostgreSQL is running at the configured host and the configured database user exists.
|
|
498
520
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
```bash
|
|
502
|
-
cd ./odoo19
|
|
503
|
-
./odoo-scripts/run.sh
|
|
504
|
-
```
|
|
505
|
-
|
|
506
|
-
Odoo starts with the generated configuration from `./odoo-configs/odoo-server.conf` and is available at http://localhost:8069.
|
|
507
|
-
|
|
508
|
-
The native workflow uses the following `odoo-project.ini` configuration, with PostgreSQL connection settings added to `[config]`:
|
|
521
|
+
This creates `./odoo19/odoo-project.ini` with this initial content:
|
|
509
522
|
|
|
510
523
|
```ini
|
|
511
524
|
[odoo]
|
|
@@ -518,7 +531,14 @@ db_user = odoo
|
|
|
518
531
|
db_password = odoo
|
|
519
532
|
```
|
|
520
533
|
|
|
521
|
-
|
|
534
|
+
Then start Odoo with the generated script:
|
|
535
|
+
|
|
536
|
+
```bash
|
|
537
|
+
cd ./odoo19
|
|
538
|
+
./odoo-scripts/run.sh
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
Odoo starts with the generated configuration from `./odoo-configs/odoo-server.conf` and is available at http://localhost:8069.
|
|
522
542
|
|
|
523
543
|
### 2.1. Adding extra addons
|
|
524
544
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.23.4"
|
|
@@ -3125,6 +3125,52 @@ echo "INFO: Database restore completed: ${{DB_NAME}}"
|
|
|
3125
3125
|
return _write_docker_local_script(layout, "restore-db", content)
|
|
3126
3126
|
|
|
3127
3127
|
|
|
3128
|
+
def write_docker_shell_sh(layout: Layout, cfg: ProjectConfig) -> Path:
|
|
3129
|
+
default_db_name = shlex.quote(_docker_default_db_name(cfg))
|
|
3130
|
+
content = fr"""#!/usr/bin/env bash
|
|
3131
|
+
set -euo pipefail
|
|
3132
|
+
|
|
3133
|
+
SCRIPT_DIR="$(cd "$(dirname "${{BASH_SOURCE[0]}}")" && pwd)"
|
|
3134
|
+
ROOT_DIR="$(cd "${{SCRIPT_DIR}}/../../.." && pwd)"
|
|
3135
|
+
DEFAULT_DB_NAME={default_db_name}
|
|
3136
|
+
DB_NAME="${{ODOO_DB_NAME:-${{DEFAULT_DB_NAME}}}}"
|
|
3137
|
+
|
|
3138
|
+
cd "${{ROOT_DIR}}"
|
|
3139
|
+
|
|
3140
|
+
echo "INFO: Opening Odoo shell for database '${{DB_NAME}}'."
|
|
3141
|
+
exec docker compose run --rm --no-deps \
|
|
3142
|
+
--entrypoint odoo odoo \
|
|
3143
|
+
shell \
|
|
3144
|
+
-c /etc/odoo/odoo.conf \
|
|
3145
|
+
-d "${{DB_NAME}}" \
|
|
3146
|
+
"$@"
|
|
3147
|
+
"""
|
|
3148
|
+
return _write_docker_local_script(layout, "shell", content)
|
|
3149
|
+
|
|
3150
|
+
|
|
3151
|
+
def write_docker_update_sh(layout: Layout, cfg: ProjectConfig) -> Path:
|
|
3152
|
+
default_db_name = shlex.quote(_docker_default_db_name(cfg))
|
|
3153
|
+
content = fr"""#!/usr/bin/env bash
|
|
3154
|
+
set -euo pipefail
|
|
3155
|
+
|
|
3156
|
+
SCRIPT_DIR="$(cd "$(dirname "${{BASH_SOURCE[0]}}")" && pwd)"
|
|
3157
|
+
ROOT_DIR="$(cd "${{SCRIPT_DIR}}/../../.." && pwd)"
|
|
3158
|
+
DEFAULT_DB_NAME={default_db_name}
|
|
3159
|
+
DB_NAME="${{ODOO_DB_NAME:-${{DEFAULT_DB_NAME}}}}"
|
|
3160
|
+
|
|
3161
|
+
cd "${{ROOT_DIR}}"
|
|
3162
|
+
|
|
3163
|
+
echo "INFO: Updating Odoo addons for database '${{DB_NAME}}'. Passing through any extra arguments."
|
|
3164
|
+
exec docker compose run --rm --no-deps -T \
|
|
3165
|
+
--entrypoint click-odoo-update odoo \
|
|
3166
|
+
-c /etc/odoo/odoo.conf \
|
|
3167
|
+
-d "${{DB_NAME}}" \
|
|
3168
|
+
--log-level debug \
|
|
3169
|
+
"$@"
|
|
3170
|
+
"""
|
|
3171
|
+
return _write_docker_local_script(layout, "update", content)
|
|
3172
|
+
|
|
3173
|
+
|
|
3128
3174
|
def write_docker_neutralize_db_sh(layout: Layout, cfg: ProjectConfig) -> Path:
|
|
3129
3175
|
default_db_name = shlex.quote(_docker_default_db_name(cfg))
|
|
3130
3176
|
odoo_major_version = _parse_odoo_version(cfg.odoo.version)
|
|
@@ -3617,6 +3663,54 @@ exit /b 2
|
|
|
3617
3663
|
return _write_docker_local_script(layout, "restore-db", content, ext="bat")
|
|
3618
3664
|
|
|
3619
3665
|
|
|
3666
|
+
def write_docker_shell_bat(layout: Layout, cfg: ProjectConfig) -> Path:
|
|
3667
|
+
default_db_name = _docker_default_db_name(cfg).replace("%", "%%")
|
|
3668
|
+
content = rf"""@echo off
|
|
3669
|
+
setlocal
|
|
3670
|
+
|
|
3671
|
+
set "SCRIPT_DIR=%~dp0"
|
|
3672
|
+
if "%SCRIPT_DIR:~-1%"=="\" set "SCRIPT_DIR=%SCRIPT_DIR:~0,-1%"
|
|
3673
|
+
for %%I in ("%SCRIPT_DIR%\..\..\..") do set "ROOT_DIR=%%~fI"
|
|
3674
|
+
set "DEFAULT_DB_NAME={default_db_name}"
|
|
3675
|
+
if defined ODOO_DB_NAME (
|
|
3676
|
+
set "DB_NAME=%ODOO_DB_NAME%"
|
|
3677
|
+
) else (
|
|
3678
|
+
set "DB_NAME=%DEFAULT_DB_NAME%"
|
|
3679
|
+
)
|
|
3680
|
+
|
|
3681
|
+
cd /d "%ROOT_DIR%" || exit /b 1
|
|
3682
|
+
|
|
3683
|
+
echo INFO: Opening Odoo shell for database '%DB_NAME%'.
|
|
3684
|
+
docker compose run --rm --no-deps --entrypoint odoo odoo shell -c /etc/odoo/odoo.conf -d "%DB_NAME%" %*
|
|
3685
|
+
exit /b %ERRORLEVEL%
|
|
3686
|
+
"""
|
|
3687
|
+
return _write_docker_local_script(layout, "shell", content, ext="bat")
|
|
3688
|
+
|
|
3689
|
+
|
|
3690
|
+
def write_docker_update_bat(layout: Layout, cfg: ProjectConfig) -> Path:
|
|
3691
|
+
default_db_name = _docker_default_db_name(cfg).replace("%", "%%")
|
|
3692
|
+
content = rf"""@echo off
|
|
3693
|
+
setlocal
|
|
3694
|
+
|
|
3695
|
+
set "SCRIPT_DIR=%~dp0"
|
|
3696
|
+
if "%SCRIPT_DIR:~-1%"=="\" set "SCRIPT_DIR=%SCRIPT_DIR:~0,-1%"
|
|
3697
|
+
for %%I in ("%SCRIPT_DIR%\..\..\..") do set "ROOT_DIR=%%~fI"
|
|
3698
|
+
set "DEFAULT_DB_NAME={default_db_name}"
|
|
3699
|
+
if defined ODOO_DB_NAME (
|
|
3700
|
+
set "DB_NAME=%ODOO_DB_NAME%"
|
|
3701
|
+
) else (
|
|
3702
|
+
set "DB_NAME=%DEFAULT_DB_NAME%"
|
|
3703
|
+
)
|
|
3704
|
+
|
|
3705
|
+
cd /d "%ROOT_DIR%" || exit /b 1
|
|
3706
|
+
|
|
3707
|
+
echo INFO: Updating Odoo addons for database '%DB_NAME%'. Passing through any extra arguments.
|
|
3708
|
+
docker compose run --rm --no-deps -T --entrypoint click-odoo-update odoo -c /etc/odoo/odoo.conf -d "%DB_NAME%" --log-level debug %*
|
|
3709
|
+
exit /b %ERRORLEVEL%
|
|
3710
|
+
"""
|
|
3711
|
+
return _write_docker_local_script(layout, "update", content, ext="bat")
|
|
3712
|
+
|
|
3713
|
+
|
|
3620
3714
|
def write_docker_neutralize_db_bat(layout: Layout, cfg: ProjectConfig) -> Path:
|
|
3621
3715
|
default_db_name = _docker_default_db_name(cfg).replace("%", "%%")
|
|
3622
3716
|
odoo_major_version = _parse_odoo_version(cfg.odoo.version)
|
|
@@ -4027,6 +4121,8 @@ exit /b 2
|
|
|
4027
4121
|
def write_docker_local_scripts(layout: Layout, cfg: ProjectConfig) -> dict[str, Path]:
|
|
4028
4122
|
if sys.platform.startswith("win"):
|
|
4029
4123
|
return {
|
|
4124
|
+
"shell": write_docker_shell_bat(layout, cfg),
|
|
4125
|
+
"update": write_docker_update_bat(layout, cfg),
|
|
4030
4126
|
"backup_db": write_docker_backup_db_bat(layout, cfg),
|
|
4031
4127
|
"restore_db": write_docker_restore_db_bat(layout, cfg),
|
|
4032
4128
|
"neutralize_db": write_docker_neutralize_db_bat(layout, cfg),
|
|
@@ -4038,6 +4134,8 @@ def write_docker_local_scripts(layout: Layout, cfg: ProjectConfig) -> dict[str,
|
|
|
4038
4134
|
}
|
|
4039
4135
|
|
|
4040
4136
|
return {
|
|
4137
|
+
"shell": write_docker_shell_sh(layout, cfg),
|
|
4138
|
+
"update": write_docker_update_sh(layout, cfg),
|
|
4041
4139
|
"backup_db": write_docker_backup_db_sh(layout, cfg),
|
|
4042
4140
|
"restore_db": write_docker_restore_db_sh(layout, cfg),
|
|
4043
4141
|
"neutralize_db": write_docker_neutralize_db_sh(layout, cfg),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: odoo-devops-tools
|
|
3
|
-
Version: 1.23.
|
|
3
|
+
Version: 1.23.4
|
|
4
4
|
Summary: Build reproducible Odoo workspaces from a single project definition.
|
|
5
5
|
Author: Roman Lacko
|
|
6
6
|
License-Expression: MIT
|
|
@@ -123,14 +123,21 @@ Create a new workspace:
|
|
|
123
123
|
odoo-compose --init ./odoo19
|
|
124
124
|
```
|
|
125
125
|
|
|
126
|
-
|
|
126
|
+
This creates `./odoo19/odoo-project.ini` with this initial content:
|
|
127
|
+
|
|
128
|
+
```ini
|
|
129
|
+
[odoo]
|
|
130
|
+
version = 19.0
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Then start the Docker Compose environment:
|
|
127
134
|
|
|
128
135
|
```bash
|
|
129
136
|
cd ./odoo19
|
|
130
|
-
docker compose up -d
|
|
137
|
+
docker compose up -d --build
|
|
131
138
|
```
|
|
132
139
|
|
|
133
|
-
|
|
140
|
+
Optionally initialize the Odoo database from the command line instead of through the web interface:
|
|
134
141
|
|
|
135
142
|
```bash
|
|
136
143
|
docker compose run --rm odoo -- -c /etc/odoo/odoo.conf -d odoo \
|
|
@@ -141,15 +148,6 @@ docker compose run --rm odoo -- -c /etc/odoo/odoo.conf -d odoo \
|
|
|
141
148
|
|
|
142
149
|
Docker Compose runs both Odoo and PostgreSQL. Odoo is available at http://localhost:8069.
|
|
143
150
|
|
|
144
|
-
The Docker workflow uses the following `odoo-project.ini` configuration:
|
|
145
|
-
|
|
146
|
-
```ini
|
|
147
|
-
[odoo]
|
|
148
|
-
version = 19.0
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
Edit this file when you want to add extra addons, change configuration values, pin repositories, or adjust Python dependency handling.
|
|
152
|
-
|
|
153
151
|
### 1.1. Adding extra addons
|
|
154
152
|
|
|
155
153
|
To extend Odoo with additional functionality, add extra addons through `[addons.<name>]` sections in `odoo-project.ini`.
|
|
@@ -179,7 +177,7 @@ Sync the configured addon repositories and refresh the generated Docker workflow
|
|
|
179
177
|
|
|
180
178
|
```bash
|
|
181
179
|
odoo-compose --sync-addons
|
|
182
|
-
docker compose up --build
|
|
180
|
+
docker compose up -d --build
|
|
183
181
|
```
|
|
184
182
|
|
|
185
183
|
The addon repositories are cloned into `ROOT/odoo-addons/oca-web/` and `ROOT/odoo-addons/oca-helpdesk/` and bind-mounted into the Odoo container.
|
|
@@ -195,10 +193,10 @@ docker compose run --rm odoo -- -c /etc/odoo/odoo.conf -d odoo \
|
|
|
195
193
|
--stop-after-init
|
|
196
194
|
```
|
|
197
195
|
|
|
198
|
-
For subsequent addon updates,
|
|
196
|
+
For subsequent addon updates, use the generated Docker update helper:
|
|
199
197
|
|
|
200
198
|
```bash
|
|
201
|
-
docker
|
|
199
|
+
./docker/local/scripts/update.sh
|
|
202
200
|
```
|
|
203
201
|
|
|
204
202
|
### 1.2. Running Odoo from workspace source
|
|
@@ -223,19 +221,21 @@ Sync the Odoo source and generate the Docker artifacts:
|
|
|
223
221
|
|
|
224
222
|
```bash
|
|
225
223
|
odoo-compose --sync-all
|
|
226
|
-
docker compose up --build
|
|
224
|
+
docker compose up -d --build
|
|
227
225
|
```
|
|
228
226
|
|
|
229
227
|
The resolved Odoo source is bind-mounted read-only at `/opt/odoo`. The Odoo Python source from the base image is removed while its installed dependencies remain available.
|
|
230
228
|
|
|
231
|
-
### 1.3.
|
|
229
|
+
### 1.3. Script reference
|
|
232
230
|
|
|
233
|
-
The Docker workflow generates platform-specific
|
|
231
|
+
The Docker workflow generates platform-specific helper scripts under `ROOT/docker/local/scripts/`. Unix-like systems generate `.sh` helpers; Windows generates the corresponding `.bat` helpers.
|
|
234
232
|
|
|
235
233
|
On Unix-like systems:
|
|
236
234
|
|
|
237
235
|
```text
|
|
238
236
|
docker/local/scripts/
|
|
237
|
+
├── shell.sh
|
|
238
|
+
├── update.sh
|
|
239
239
|
├── backup-db.sh
|
|
240
240
|
├── restore-db.sh
|
|
241
241
|
├── neutralize-db.sh
|
|
@@ -246,15 +246,41 @@ docker/local/scripts/
|
|
|
246
246
|
└── restore-filestore-restic.sh
|
|
247
247
|
```
|
|
248
248
|
|
|
249
|
-
|
|
249
|
+
The examples below use the Unix `.sh` form.
|
|
250
250
|
|
|
251
|
-
|
|
251
|
+
#### 1.3.1. shell
|
|
252
|
+
|
|
253
|
+
Opens an Odoo shell for the configured database:
|
|
252
254
|
|
|
253
255
|
```bash
|
|
254
|
-
|
|
256
|
+
./docker/local/scripts/shell.sh
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
The default database name is taken from `[config].db_name` when configured, otherwise it is `odoo`. Override it with `ODOO_DB_NAME`:
|
|
260
|
+
|
|
261
|
+
```bash
|
|
262
|
+
ODOO_DB_NAME=odoo_test ./docker/local/scripts/shell.sh
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
Any extra arguments are passed through to the underlying Odoo shell command.
|
|
266
|
+
|
|
267
|
+
#### 1.3.2. update
|
|
268
|
+
|
|
269
|
+
Updates installed addons using `click-odoo-update`:
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
./docker/local/scripts/update.sh
|
|
255
273
|
```
|
|
256
274
|
|
|
257
|
-
|
|
275
|
+
The default database name follows the same `ODOO_DB_NAME` convention as the shell and database helpers.
|
|
276
|
+
|
|
277
|
+
Any extra arguments are passed through to `click-odoo-update`:
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
./docker/local/scripts/update.sh --update-all
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
#### 1.3.3. Database backup
|
|
258
284
|
|
|
259
285
|
Create a PostgreSQL custom-format dump under `ROOT/odoo-backups/`:
|
|
260
286
|
|
|
@@ -274,7 +300,13 @@ Pass an output path explicitly when needed:
|
|
|
274
300
|
./docker/local/scripts/backup-db.sh ./odoo-backups/pre-upgrade.dump
|
|
275
301
|
```
|
|
276
302
|
|
|
277
|
-
|
|
303
|
+
The default database name is taken from `[config].db_name` when configured, otherwise it is `odoo`. Override it for any command with `ODOO_DB_NAME`:
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
ODOO_DB_NAME=odoo_test ./docker/local/scripts/backup-db.sh
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
#### 1.3.4. Database restore
|
|
278
310
|
|
|
279
311
|
Restore a database dump with `pg_restore`:
|
|
280
312
|
|
|
@@ -311,7 +343,7 @@ To restore the same dump into another database without replacing the default dat
|
|
|
311
343
|
ODOO_DB_NAME=odoo_restore ./docker/local/scripts/restore-db.sh ./odoo-backups/pre-upgrade.dump
|
|
312
344
|
```
|
|
313
345
|
|
|
314
|
-
#### 1.3.
|
|
346
|
+
#### 1.3.5. Database neutralization
|
|
315
347
|
|
|
316
348
|
For development or test databases restored from production, run the generated neutralization helper explicitly:
|
|
317
349
|
|
|
@@ -341,7 +373,7 @@ docker compose up -d odoo
|
|
|
341
373
|
|
|
342
374
|
`--copy` / `--move` and neutralization serve different purposes: copy/move controls restored database identity, while neutralization controls production side effects.
|
|
343
375
|
|
|
344
|
-
#### 1.3.
|
|
376
|
+
#### 1.3.6. Filestore backup
|
|
345
377
|
|
|
346
378
|
Create a compressed tar archive of the selected database filestore:
|
|
347
379
|
|
|
@@ -372,7 +404,7 @@ docker compose stop odoo
|
|
|
372
404
|
docker compose up -d odoo
|
|
373
405
|
```
|
|
374
406
|
|
|
375
|
-
#### 1.3.
|
|
407
|
+
#### 1.3.7. Filestore restore
|
|
376
408
|
|
|
377
409
|
Restore a filestore archive:
|
|
378
410
|
|
|
@@ -396,20 +428,10 @@ ODOO_DB_NAME=odoo_restore ./docker/local/scripts/restore-filestore.sh ./odoo-bac
|
|
|
396
428
|
|
|
397
429
|
Database and filestore backups are intentionally separate. This allows either part to be restored independently while still making it possible to create matching database and filestore backups when both are needed.
|
|
398
430
|
|
|
399
|
-
#### 1.3.
|
|
431
|
+
#### 1.3.8. Restic filestore backup
|
|
400
432
|
|
|
401
433
|
The generated Docker image also includes `restic`. Restic is an additional option intended especially for large filestores where incremental snapshots and deduplication are useful.
|
|
402
434
|
|
|
403
|
-
The Docker workflow generates platform-specific restic helpers: `.sh` on Unix-like systems and `.bat` on Windows.
|
|
404
|
-
|
|
405
|
-
```text
|
|
406
|
-
docker/local/scripts/restic.sh
|
|
407
|
-
docker/local/scripts/backup-filestore-restic.sh
|
|
408
|
-
docker/local/scripts/restore-filestore-restic.sh
|
|
409
|
-
```
|
|
410
|
-
|
|
411
|
-
The corresponding Windows helpers use the same names with the `.bat` extension. The `restic` helper runs the `restic` binary from the generated Odoo image against the same `odoo-data` volume. The restic cache is kept under `/var/lib/odoo/.cache/restic`, outside the filestore directory, so it persists between one-off containers without being included in filestore backups.
|
|
412
|
-
|
|
413
435
|
Set `RESTIC_REPOSITORY` and either `RESTIC_PASSWORD_FILE` or `RESTIC_PASSWORD` before using the helpers. For a local repository on the Docker host, use an absolute path. The wrapper automatically bind-mounts the repository into the one-off container; Windows drive paths such as `C:\backups\odoo` are supported by `restic.bat`:
|
|
414
436
|
|
|
415
437
|
```bash
|
|
@@ -444,7 +466,7 @@ List or inspect snapshots through the generic wrapper:
|
|
|
444
466
|
./docker/local/scripts/restic.sh check
|
|
445
467
|
```
|
|
446
468
|
|
|
447
|
-
#### 1.3.
|
|
469
|
+
#### 1.3.9. Restic filestore restore
|
|
448
470
|
|
|
449
471
|
Restore the latest matching filestore snapshot:
|
|
450
472
|
|
|
@@ -524,16 +546,7 @@ odoo-compose --init ./odoo19 --sync-all --create-venv \
|
|
|
524
546
|
> **Note**
|
|
525
547
|
> Make sure PostgreSQL is running at the configured host and the configured database user exists.
|
|
526
548
|
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
```bash
|
|
530
|
-
cd ./odoo19
|
|
531
|
-
./odoo-scripts/run.sh
|
|
532
|
-
```
|
|
533
|
-
|
|
534
|
-
Odoo starts with the generated configuration from `./odoo-configs/odoo-server.conf` and is available at http://localhost:8069.
|
|
535
|
-
|
|
536
|
-
The native workflow uses the following `odoo-project.ini` configuration, with PostgreSQL connection settings added to `[config]`:
|
|
549
|
+
This creates `./odoo19/odoo-project.ini` with this initial content:
|
|
537
550
|
|
|
538
551
|
```ini
|
|
539
552
|
[odoo]
|
|
@@ -546,7 +559,14 @@ db_user = odoo
|
|
|
546
559
|
db_password = odoo
|
|
547
560
|
```
|
|
548
561
|
|
|
549
|
-
|
|
562
|
+
Then start Odoo with the generated script:
|
|
563
|
+
|
|
564
|
+
```bash
|
|
565
|
+
cd ./odoo19
|
|
566
|
+
./odoo-scripts/run.sh
|
|
567
|
+
```
|
|
568
|
+
|
|
569
|
+
Odoo starts with the generated configuration from `./odoo-configs/odoo-server.conf` and is available at http://localhost:8069.
|
|
550
570
|
|
|
551
571
|
### 2.1. Adding extra addons
|
|
552
572
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.23.2"
|
|
File without changes
|
{odoo_devops_tools-1.23.2 → odoo_devops_tools-1.23.4}/odoo_devops_tools.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{odoo_devops_tools-1.23.2 → odoo_devops_tools-1.23.4}/odoo_devops_tools.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{odoo_devops_tools-1.23.2 → odoo_devops_tools-1.23.4}/odoo_devops_tools.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|