![]()
A modern, minimal, flexible, and easy-to-expand FreeBSD Jail manager built with love by experienced users for both neophytes and experts.
NOTE: This README is a complete guide. We’d like your help to write manual pages :)
Jailer is heavily under development and not yet ready for stable production use. The interface is subject to refinement and change, but you are more than welcome to use it and help us improve it with your invaluable feedback. It does not mean you cannot use it in production, though. Just beware that a lot might change in time.
However, that being said, we do use it in our production to manage servers and in our products.
Jailer is not in FreeBSD ports yet, you need to install it manually
git clone https://github.com/illuria/jailer
cd jailer
make install
Jailer is so much attached to ZFS and does not support UFS at this time (and most likely it will never do.) In case you are not using ZFS, you can create a ZFS pool by doing something like the following:
truncate -s 20G /usr/local/disk0.img
zpool create zroot /usr/local/disk0.img
Custom Jail Service file for FreeBSD < 14.0-RELEASE
At the moment we use a custom
rc.d/jailfile for FreeBSD < 14.0-RELEASE. Since 14.0-RELEASE, we use the.includefeature ofjail.conf.
Once the environment meets the basic requirements, Jailer initialization is required. all you need to do is the following:
jailer init
Here’s how it looks like →
root@armbsd13:~ # jailer init
Jailer will create
dataset : zroot/jails
mount point : /usr/local/jails
OK? (y/N) y
Creating ZFS dataset zroot/jails with the mount point /usr/local/jails: Done!
Setting jailer_dir in rc.conf: Done!
Enabling the jail service: Done!
Patching jail service for jail.conf.d support: Done!
You may run `jailer init info` to check system status
You may run `jailer init bridge` to setup advanced networking
Please report any problems at https://github.com/illuria/jailer/issues
The latest information about Jailer is available at https://jailer.dev/
Consider joining Jailer's worldwide community:
https://github.com/illuria/jailer
Thank you for choosing Jailer!
Or, if you like colors, here’s a picture :)

At this point, you can create a Jail
jailer create
You should get the following →
root@armbsd13:~ # jailer create
Fetching 13.1-RELEASE: Done!
Creating 99d6c13c: Done!
By default, Jailer will fetch a base image if it’s not available. You can list all images by doing
root@armbsd13:~ # jailer image list
13.1-RELEASE
Fetching might take a while, if you know a mirror that’s closer to you, you can set the
FreeBSD_mirrorvariable to that. e.g.setenv FreeBSD_mirror "https://mirror.yandex.ru/freebsd/"withtcshorexport FreeBSD_mirror="https://mirror.yandex.ru/freebsd/"with/bin/sh
You can list and download other images as well
root@armbsd13:~ # jailer image list remote
12.3-RELEASE
12.4-RELEASE
13.0-RELEASE
13.1-RELEASE
root@armbsd13:~ # jailer image fetch 13.0-RELEASE
Fetching 13.0-RELEASE: Done!
To list all the Jails, you can do jailer list. You
should get the following →
root@armbsd13:~ # jailer list
NAME STATE JID HOSTNAME IPv4 GW
99d6c13c Active 7 99d6c13c.armbsd13 - -
This means that Jail 99d6c13c is using an
inherited network stack, which is NOT
SECURE for production use. In the next part, we will configure
Jails with restricted and isolated network stacks.
You can attach your Jail to an external interface as well. To attach
a Jail to the interface vtnet0 with the IP address
192.168.64.15 you can do the following →
root@armbsd13:~ # jailer create -t new -b vtnet0 -a 192.168.64.15 www0
Creating www0: Done!
root@armbsd13:~ # jailer list
NAME STATE JID HOSTNAME IPv4 GW
99d6c13c Active 7 99d6c13c.armbsd13 - -
www0 Active 9 www0.armbsd13 192.168.64.15 -
Unlike 99d6c13c, which has an inherited network stack,
the Jail www0 has a restricted network stack, we can see
that by logging into the Jail and running ifconfig →
root@armbsd13:~ # jailer console www0
root@www0:~ # ifconfig
vtnet0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=80028<VLAN_MTU,JUMBO_MTU,LINKSTATE>
ether 52:88:80:9b:bb:00
inet 192.168.64.15 netmask 0xffffffff broadcast 192.168.64.15
media: Ethernet autoselect (10Gbase-T <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
groups: lo
The Jail www0 is not aware of any other IP addresses,
but can see the network interfaces. It also has the same networking
that’s available on the host’s vtnet0 interface. If the
host has internet access, so does www0
root@www0:~ # ping -c 1 bsd.am
PING bsd.am (37.252.73.34): 56 data bytes
64 bytes from 37.252.73.34: icmp_seq=0 ttl=57 time=44.368 ms
Jailer can auto-configure the host to have advanced networking. We can check the status by running the following
root@armbsd13:~ # jailer init info
Checking system state...
jail_enable in rc.conf ==> YES!
patched rc.d/jail file ==> YES!
Checking jailer state...
jailer_dir in rc.conf ==> YES!
jailer_dir is define to ==> zfs:zroot/jails
Jailer ZFS dataset ==> zroot/jails
Jailer ZFS mountpoint ==> /usr/local/jails
Checking network status...
bridge0 in rc.conf ==> NO :(
If you want Jailer to auto-configure bridge interfaces, run `jailer init bridge`

We can run jailer init bridge to setup internal bridge
networking between Jails and the host
Jailer will configure
network interface : bridge0
network address : 10.0.0.1/24
OK? (y/N) y
Configuring interface bridge0 with IP address 10.0.0.1/24: Done!
You may run `jailer init dhcp` to setup DHCP server for bridge0

At this point, we can run a VNET (Virtualized Network) Jail that uses
an epair to attach to bridge0 (we call that an
eb Jail for epair/bridge)
root@armbsd13:~ # jailer create -t eb -a 10.0.0.10
Creating fd1dafdc: Done!
root@armbsd13:~ # jailer list
NAME STATE JID HOSTNAME IPv4 GW
99d6c13c Active 7 99d6c13c.armbsd13 - -
fd1dafdc Active 11 fd1dafdc.armbsd13 10.0.0.10/24 10.0.0.1
www0 Active 9 www0.armbsd13 192.168.64.15 -
To assign IPs automatically on VNET interfaces, you can setup a DHCP
server. No worries! Jailer can handle that for you as well! It will
install OpenBSD’s dhcpd, setup dhcpd.conf and
the needed devfs.rules for Jails.
root@armbsd13:~ # jailer init dhcp
Jailer will
- Install OpenBSD's dhcpd from packages.
- Setup dhcpd.conf.
- Create /etc/devfs.rules for VNET Jails.
OK? (y/N) y
Setting up dhcpd, dhcpd.conf and devfs.rules: Done!

Now you can create a VNET Jail that uses DHCP.
root@armbsd13:~ # jailer create -t eb app0
Creating app0: Done!
root@armbsd13:~ # jailer list
NAME STATE JID HOSTNAME IPv4 GW
99d6c13c Active 7 99d6c13c.armbsd13 - -
app0 Active 12 app0.armbsd13 10.0.0.2/24 10.0.0.1
fd1dafdc Active 11 fd1dafdc.armbsd13 10.0.0.10/24 10.0.0.1
www0 Active 9 www0.armbsd13 192.168.64.15 -
As you have guessed, if -a address is not assigned, then
Jailer defaults to -a dhcp :)
If your VNET Jails need internet access, you probably need to setup NAT. Here’s the easiest way to do that
# Enable routing
echo 'net.inet.ip.forwarding=1' >> /etc/sysctl.conf
service sysctl restart
# Enable pf
sysrc pf_enable="YES"
# Get default interface
default_interface=$(route get default | grep interface | cut -w -f 3)
# Generate the configuration and start pf
echo "nat on $default_interface from 10.0.0.0/24 to any -> ($default_interface)" >> /etc/pf.conf
service pf start
If you get a message that says
Illegal variable namethen you’re probably usingtcsh. You can jump into/bin/shby runningsh:)
Jailer has the
natandrdrsubcommands to manage NAT and Redirection, but it will be integrated in the next release.
Now, you can login into your VNET Jail and access the internet.
root@armbsd13:~ # jailer console app0
root@app0:~ # host -t A bsd.am
bsd.am has address 37.252.73.34
To stop a Jail
root@armbsd13:~ # jailer stop www0
Stopping www0: Done!
To stop all Jails
root@armbsd13:~ # jailer stopall
Stopping jails: 99d6c13c fd1dafdc app0.
And to start all
root@armbsd13:~ # jailer startall
Starting jails: 99d6c13c app0 fd1dafdc www0.
To destroy a Jail
root@armbsd13:~ # jailer destroy www0
Destroying www0: Done!
If you get an error message that says resource is busy, then it probably is. You can force destroy by doing
jailer destroy -f jailname.
ZFS Snapshots are some of its best features. You can snap a Jail to 1) rollback in case something fails 2) create a new Jail base on it.
Create a snapshot of app0 named prod
root@armbsd13:~ # jailer snap app0@prod
Taking the snapshot app0@prod: Done!
Create a Jail named app01 from
app0@prod
root@armbsd13:~ # jailer create -t eb -s app0@prod app01
Creating app01: Done!
In the coming releases, Jailer will have the ability to deploy ZFS Clones as well, which would allow you to save storage space.
To specify an image as default, you can use the
image use subcommand →
root@armbsd13:~ # jailer image list
13.0-RELEASE
13.1-RELEASE
root@armbsd13:~ # jailer image use 13.1-RELEASE
root@armbsd13:~ # jailer image list
13.0-RELEASE
* 13.1-RELEASE
Otherwise, you can use the -r imagename flag to create a
Jail based on imagename on the fly.
As mentioned above, it’s not a good idea to use inherited network
stack on production. You can specify the default network type with the
network use subcommand
root@armbsd13:~ # jailer network use eb
root@armbsd13:~ # jailer network use
eb
Jailer can display all the commands it would run during creation by
using the -D flag.
root@armbsd13:~ # jailer create -D db0
jail.conf file =>
# vim: set syntax=sh:
exec.clean;
allow.raw_sockets;
mount.devfs;
db0 {
$id = "6";
devfs_ruleset = 10;
$bridge = "bridge0";
$domain = "armbsd13";
vnet;
vnet.interface = "epair${id}b";
exec.prestart = "ifconfig epair${id} create up";
exec.prestart += "ifconfig epair${id}a up descr vnet-${name}";
exec.prestart += "ifconfig ${bridge} addm epair${id}a up";
exec.start = "/sbin/ifconfig lo0 127.0.0.1 up";
exec.start += "/bin/sh /etc/rc";
exec.stop = "/bin/sh /etc/rc.shutdown jail";
exec.poststop = "ifconfig ${bridge} deletem epair${id}a";
exec.poststop += "ifconfig epair${id}a destroy";
host.hostname = "${name}.${domain}";
path = "/usr/local/jails/db0";
exec.consolelog = "/var/log/jail/${name}.log";
persist;
}
ZFS commands =>
(zfs send zroot/jails/image/13.1-RELEASE@base |
zfs recv zroot/jails/db0)
Resolver commands =>
cp /etc/resolv.conf /usr/local/jails/db0/etc/resolv.conf
Network setup commands =>
echo "ifconfig epair6b ether 58:9c:fc:a1:8a:3a" > /usr/local/jails/db0/etc/start_if.epair6b
sysrc -q -f /usr/local/jails/db0/etc/rc.conf ifconfig_epair6b="SYNCDHCP"
Post-Installation =>
sysrc -q -f /usr/local/jails/db0/etc/rc.conf sendmail_enable="NONE" syslogd_flags="-ss"

The
-Dflag is named after Dan Langille, who requested this feature during our FreeBSD calls.
Some subcommands support JSON output.
root@armbsd13:~ # jailer list -j | jq
No Apto Para Estrellas (Not Suitable for Stars) by Heather del Rey is a New Adult contemporary romance and the first installment in the "No Aptos" trilogy, following a screenplay coach who teams up with a Hollywood bad boy to ruin her ex's wedding. Released in August 2024, the novel blends themes of fake dating and revenge. Find more details and reader reviews on Goodreads. Amazon.com: Heather Del Rey: Libros
¡Claro! Aquí te dejo una historia relacionada con el título "No apto para estrellas" de Heather DeLrey:
La chica que no brillaba
En un mundo donde las estrellas eran la norma, donde todos parecían tener un brillo especial, había una chica llamada Lily que se sentía como un grano de arena en la playa. No importaba cuánto se esforzara, no podía hacer que su luz interior brillara como la de los demás.
Lily había crecido en un barrio donde todos eran estrellas en potencia. Sus amigos y compañeros de clase eran modelos, actores, cantantes o influencers en ciernes. Todos parecían tener un don, un talento o una habilidad que los hacía destacar. Pero Lily no tenía nada de eso.
Se sentía como si estuviera viviendo en la sombra de los demás, siempre observando desde fuera cómo ellos brillaban en el centro de atención. Intentó hacer cosas para llamar la atención, para ser vista y oída, pero no funcionaba. Por más que se esforzaba, seguía siendo una chica normal, sin nada especial que ofrecer.
Un día, mientras paseaba por el parque, Lily se encontró con un libro titulado "No apto para estrellas" de Heather DeLrey. Lo tomó con curiosidad y comenzó a leer. El libro hablaba de chicas como ella, chicas que no encajaban en el molde de las estrellas, que no tenían un brillo especial, pero que sin embargo tenían algo valioso que ofrecer.
Lily se sintió identificada con las historias del libro. Comenzó a darse cuenta de que no necesitaba ser una estrella para ser alguien importante. Empezó a explorar sus propias habilidades y pasiones, y descubrió que tenía un talento para la escritura.
Con el tiempo, Lily se convirtió en una escritora talentosa, y aunque no era una estrella en el sentido clásico, su trabajo resonó con personas que se sentían como ella, que no encajaban en el molde de las estrellas. Su escritura la hizo sentir orgullosa de quién era, y le dio la confianza para ser ella misma, sin intentar ser alguien que no era.
La moraleja
La historia de Lily nos enseña que no todos tenemos que ser estrellas para ser valiosos. Que cada persona tiene algo único que ofrecer, algo que puede no ser brillante o llamativo, pero que sin embargo es importante. A veces, es necesario dejar de lado la idea de que debemos ser alguien que no somos, y en su lugar, encontrar nuestro propio camino, nuestra propia voz y nuestro propio brillo.
Espero que disfrutes del libro "No apto para estrellas" de Heather DeLrey. Recuerda que todos tenemos algo especial que ofrecer, y que ser nosotros mismos es lo más importante de todo.
" No apto para estrellas " is a contemporary Spanish romance novel by Heather del Rey, published in August 2024. It is the second book in the "No aptos" series, following "No apto para artistas". 📖 Book Overview
The story follows Amanda, an intimacy coordinator who discovers her "love of her life" is marrying someone else only two weeks after their breakup.
The Plot: While nursing her heartbreak with alcohol, Amanda meets a stranger in a bar and vents her desire for revenge.
The Twist: The stranger, who offers to be her accomplice in ruining the wedding, turns out to be Ron Kennedy, a billionaire movie star with a bad reputation. no apto para estrellas heather del reyepub full
The Dynamic: Amanda and Ron must work together on a film set—she as the intimacy coordinator and he as the lead actor—leading to a "fake dating" scenario and high sexual tension. ✨ Key Features
Tropes: Fake dating, revenge plot, forced proximity, and celebrity romance.
Tone: Heavily comedic with a "Marvel-style" humor, but includes emotional moments regarding past wounds and fear of commitment.
Perspective: Told through a dual POV (Point of View) from both Amanda and Ron.
Series Context: Part of the "No aptos" trilogy, which also includes: No apto para artistas (Kale & Aster) No apto para estrellas (Ron & Amanda) No apto para cobardes (West & Violeta) 🛠️ Reader Information Length: Approximately 354–356 pages. Target Audience: Young Adult / New Adult (Ages 14–18+).
Availability: Widely available in eBook (EPUB/Kindle) and paperback formats on Amazon and Goodreads. No apto para estrellas (Spanish Edition) - Amazon.com
I notice you’re asking for a full post or publication related to the phrase "no apto para estrellas" and author Heather del Rey (possibly Heather Del Rey Epub).
However, I can’t provide the full text of copyrighted books or ebooks (Epub) without permission. What I can do is help you find:
If you meant a social media post (e.g., from Instagram, X/Twitter, or a blog) using that phrase, let me know — I can help interpret it or suggest search strategies.
Just let me know which type of content you actually need, and I’ll help within copyright rules.
No apto para estrellas is a contemporary romantic comedy by Heather del Rey , originally popularized on
. The story follows Amanda, a screenwriter and intimacy coordinator, who discovers her ex-boyfriend is getting married just a week after their breakup. After a night of drinking, she makes a revenge pact with a stranger to ruin the wedding, only to realize the next day that the stranger is Ron Kennedy—a famous actor with a "cold" reputation and the lead in her upcoming film. Where to Read and Formats
The book is part of the "No aptos" series and is widely available in digital and physical formats. www.amazon.com Digital (eBook): Available as a Kindle Edition Available in paperback through Original Platform:
You can often find early versions or community discussions on www.amazon.com Book Specifications Approximately 354–356 pages.
Features "enemies to lovers," "fake dating," and "hidden vulnerability". Target Audience: No Apto Para Estrellas (Not Suitable for Stars)
Recommended for readers aged 14–18+ who enjoy Taylor Swift-inspired vibes and humor similar to Marvel movies. Why Readers Like It Reviewers from platforms like The StoryGraph highlight: No Apto Para Estrellas: Romance en Kindle y Papel
Introduction
"No apto para estrellas" is a young adult science fiction novel written by Heather Del Rey. The book is part of a trilogy, followed by "Para siempre" (Forever) and "Entre estrellas" (Between Stars). The story takes place in a distant future where humanity has colonized other planets.
Plot Summary
The novel follows the story of Aixa, a 17-year-old girl who lives on the planet of New Atlantis. Aixa is a talented astrophysicist who dreams of exploring the universe. However, her life takes a dramatic turn when she meets Axel, a charming and mysterious boy who is on the run from the authorities.
As Aixa and Axel spend more time together, they realize that they have a special connection. They embark on a journey across the galaxy, facing numerous challenges and dangers along the way. Their quest takes them to different planets, where they encounter various alien species and uncover secrets about the universe.
Main Characters
Themes
Symbolism and Motifs
Style and Structure
Reception and Reviews
ePub and Full Text
You can find the ePub version of "No apto para estrellas" by Heather Del Rey on various online platforms, such as:
Please note that downloading copyrighted materials without permission is illegal. Make sure to purchase the book or obtain it through legitimate channels.
Conclusion
"No apto para estrellas" is a captivating young adult science fiction novel that explores themes of love, self-discovery, and rebellion. With its engaging storyline, well-developed characters, and immersive world-building, it's no wonder that the book has received critical acclaim and reader praise. If you're a fan of science fiction, romance, and adventure, this book is definitely worth checking out!
The user is looking to download a free, complete version of Heather Del Rey's novel. While the book exists and is available digitally, obtaining a "full epub" for free from unauthorized sources is illegal in most jurisdictions and potentially unsafe for the user's device.
Recommendation: To support the author and ensure a high-quality reading experience, it is recommended to purchase the e-book from official digital bookstores. If the book is part of a subscription service (like Kindle Unlimited), it may be read legally for free within the terms of that service.
That being said, here's some general information about the book and where you might find legal versions:
If you're interested in obtaining "No apto para estrellas" in EPUB format legally, consider the following options:
Purchase from Official Stores: Look for the book on legal online bookstores such as Amazon, Google Books, or Apple Books. These platforms often offer the option to buy e-books in EPUB format or compatible formats.
Library Services: Many libraries offer e-books for borrowing, including popular titles. Services like OverDrive or Libby allow you to borrow e-books, which can often be downloaded in EPUB format for reading on your device.
Publisher’s Website: Sometimes, publishers or authors sell e-books directly through their websites. Keep an eye out for such options, as they might offer exclusive content or formats.
Online Marketplaces: Websites like Kobo or Barnes & Noble offer e-books, including some in the romance and young adult genres. You might find "No apto para estrellas" or similar works by Heather Del Rey.
| Field | Value | |-------|-------| | Title | No apto para estrellas | | Author | Heather del Rey | | Language | es | | Rights | All rights reserved (fictional) | | Publication Date | 2024 (assumed) | | Cover Description | Dark blue gradient, broken trophy, winding road fading into fog |
No todo lo que brilla es apto para quienes están hechos de fuego.
Valentina creía que tocar el cielo era cuestión de talento. Hasta que el cielo la expulsó. Ahora, varada en un pueblo costero sin nombre y sin futuro, acepta un trabajo que no pidió: convertirse en la sombra de Ian, un excampeón de rally envuelto en secretos y curas mal cicatrizadas.
Él dice que no necesita salvación. Ella dejó de creer en los finales felices.
Pero cuando las carreteras se cierran y el invierno arrastra lo peor de ambos, descubrirán que hay caídas peores que la fama… y ascensos que no están escritos en las estrellas.

You are more than welcome to contribute to Jailer, whether it is on code, doc, or just to fix a typo. Please open an issue if you find a bug, or a PR if you have fixed one. All code changes must be reviewed and tested.
In January of 2021, @antranigv and @riks-ar had a bet whether @antranigv is able to
rewrite @illuria’s ZFS, Jail and
ifconfig(8) wrappers from Elixir to Shell. The deal was if
@antranigv failed
to do that in 2 weeks, then @riks-ar gets @antranigv’s desk and chair (which was the
best one in the office at the time). If @antranigv succeeded, then he had the
right to open-source the Shell program at any time in the future.
On October 20th 2022, @illuria open-sourced Jailer by pushing the code to GitHub :)