|
2 | 2 |
|
3 | 3 | Python is an interpreted, interactive, object-oriented, open-source programming language. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes. Python combines remarkable power with very clear syntax. It has interfaces to many system calls and libraries, as well as to various window systems, and is extensible in C or C++. It is also usable as an extension language for applications that need a programmable interface. Finally, Python is portable: it runs on many Unix variants, on the Mac, and on Windows 2000 and later. |
4 | 4 |
|
5 | | -wikipedia.org/wiki/Python_(programming\_language) |
| 5 | +wikipedia.org/wiki/Python_(programming_language) |
6 | 6 |
|
7 | | - |
| 7 | + |
8 | 8 |
|
9 | 9 | ## How to use this Makejail |
10 | 10 |
|
11 | | -Create a `Makejail` in your Python app project. |
12 | | - |
13 | | -``` |
14 | | -OPTION start |
15 | | -OPTION overwrite |
16 | | -
|
17 | | -INCLUDE options/network.makejail |
18 | | -
|
19 | | -FROM python:14.3 |
20 | | -
|
21 | | -WORKDIR /app |
22 | | -COPY . |
23 | | -
|
24 | | -STAGE cmd |
25 | | -
|
26 | | -CMD cd /app; python main.py |
27 | | -``` |
28 | | - |
29 | | -**Note**: Remember that you can use `INCLUDE gh+AppJail-makejails/python` instead of `FROM python:...` to use arguments, but when using a specific version of python, you need to change the entry point when running a python script. |
30 | | - |
31 | | -Where `options/network.makejail` are the options that suit your environment, for example: |
32 | | - |
33 | | -``` |
34 | | -ARG network? |
35 | | -ARG interface=pyapp |
36 | | -
|
37 | | -OPTION virtualnet=${network}:${interface} default |
38 | | -OPTION nat |
39 | | -``` |
40 | | - |
41 | | -Open a shell and run `appjail makejail`: |
42 | | - |
43 | | -```sh |
44 | | -appjail makejail -j pyapp |
| 11 | +```console |
| 12 | +# appjail makejail -j python -f gh+AppJail-makejails/python |
| 13 | +... |
| 14 | +# appjail cmd jexec python python |
| 15 | +Python 3.11.15 (main, Mar 4 2026, 23:52:19) [Clang 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd7080 on freebsd15 |
| 16 | +Type "help", "copyright", "credits" or "license" for more information. |
| 17 | +>>> |
45 | 18 | ``` |
46 | 19 |
|
47 | 20 | ### Arguments |
48 | 21 |
|
49 | | -* `python_tag` (default: `14.3`): see [#tags](#tags). |
50 | | -* `python_ajspec` (default: `gh+AppJail-makejails/python`): Entry point where the `appjail-ajspec(5)` file is located. |
51 | | - |
52 | | -## Tags |
53 | | - |
54 | | -| Tag | Arch | Version | Type | `python_major` | `python_minor` | |
55 | | -| ------------------------------------ | ------- | ------------------ | ------ | ----------------- | -------------- | |
56 | | -| `14.3` | `amd64` | `14.3-RELEASE` | `thin` | - | - | |
57 | | -| `14.3-3` | `amd64` | `14.3-RELEASE` | `thin` | `3` | - | |
58 | | -| `14.3-314` | `amd64` | `14.3-RELEASE` | `thin` | `3` | `14` | |
59 | | -| `14.3-313t` | `amd64` | `14.3-RELEASE` | `thin` | `3` | `13t` | |
60 | | -| `14.3-313` | `amd64` | `14.3-RELEASE` | `thin` | `3` | `13` | |
61 | | -| `14.3-312` | `amd64` | `14.3-RELEASE` | `thin` | `3` | `13t` | |
62 | | -| `14.3-311` | `amd64` | `14.3-RELEASE` | `thin` | `3` | `11` | |
63 | | -| `14.3-310` | `amd64` | `14.3-RELEASE` | `thin` | `3` | `10` | |
64 | | -| `14.3-2` | `amd64` | `14.3-RELEASE` | `thin` | `2` | - | |
65 | | -| `14.3-27` | `amd64` | `14.3-RELEASE` | `thin` | `2` | `7` | |
66 | | -| `15` | `amd64` | `15` | `thin` | - | - | |
67 | | -| `15-3` | `amd64` | `15` | `thin` | `3` | - | |
68 | | -| `15-314` | `amd64` | `15` | `thin` | `3` | `14` | |
69 | | -| `15-313t` | `amd64` | `15` | `thin` | `3` | `13t` | |
70 | | -| `15-313` | `amd64` | `15` | `thin` | `3` | `13` | |
71 | | -| `15-312` | `amd64` | `15` | `thin` | `3` | `13t` | |
72 | | -| `15-311` | `amd64` | `15` | `thin` | `3` | `11` | |
73 | | -| `15-310` | `amd64` | `15` | `thin` | `3` | `10` | |
74 | | -| `15-2` | `amd64` | `15` | `thin` | `2` | - | |
75 | | -| `15-27` | `amd64` | `15` | `thin` | `2` | `7` | |
| 22 | +* `python_from` (default: `ghcr.io/appjail-makejails/python`): Location of OCI image. See also [OCI Configuration](#oci-configuration). |
| 23 | +* `python_tag` (default: `latest`): OCI image tag. See also [OCI Configuration](#oci-configuration). |
| 24 | + |
| 25 | +## OCI Configuration |
| 26 | + |
| 27 | +```yaml |
| 28 | +build: |
| 29 | + variants: |
| 30 | + - tag: 15.0 |
| 31 | + containerfile: Containerfile.pkg |
| 32 | + aliases: ["latest"] |
| 33 | + default: true |
| 34 | + args: |
| 35 | + FREEBSD_RELEASE: "15.0" |
| 36 | + - tag: 15.0-3 |
| 37 | + containerfile: Containerfile.pkg |
| 38 | + args: |
| 39 | + FREEBSD_RELEASE: "15.0" |
| 40 | + PYTHON_VERSION: "3" |
| 41 | + - tag: 15.0-2 |
| 42 | + containerfile: Containerfile.pkg |
| 43 | + args: |
| 44 | + FREEBSD_RELEASE: "15.0" |
| 45 | + PYTHON_VERSION: "2" |
| 46 | + - tag: 15.0-27 |
| 47 | + containerfile: Containerfile.pkg |
| 48 | + args: |
| 49 | + FREEBSD_RELEASE: "15.0" |
| 50 | + PYTHON_VERSION: "27" |
| 51 | + - tag: 15.0-310 |
| 52 | + containerfile: Containerfile.pkg |
| 53 | + args: |
| 54 | + FREEBSD_RELEASE: "15.0" |
| 55 | + PYTHON_VERSION: "310" |
| 56 | + - tag: 15.0-311 |
| 57 | + containerfile: Containerfile.pkg |
| 58 | + args: |
| 59 | + FREEBSD_RELEASE: "15.0" |
| 60 | + PYTHON_VERSION: "311" |
| 61 | + - tag: 15.0-312 |
| 62 | + containerfile: Containerfile.pkg |
| 63 | + args: |
| 64 | + FREEBSD_RELEASE: "15.0" |
| 65 | + PYTHON_VERSION: "312" |
| 66 | + - tag: 15.0-313 |
| 67 | + containerfile: Containerfile.pkg |
| 68 | + args: |
| 69 | + FREEBSD_RELEASE: "15.0" |
| 70 | + PYTHON_VERSION: "313" |
| 71 | + - tag: 15.0-313t |
| 72 | + containerfile: Containerfile.pkg |
| 73 | + args: |
| 74 | + FREEBSD_RELEASE: "15.0" |
| 75 | + PYTHON_VERSION: "313t" |
| 76 | + - tag: 15.0-314 |
| 77 | + containerfile: Containerfile.pkg |
| 78 | + args: |
| 79 | + FREEBSD_RELEASE: "15.0" |
| 80 | + PYTHON_VERSION: "314" |
| 81 | +``` |
0 commit comments