{"id":13629513,"url":"https://github.com/NeoBSD/Jailer","last_synced_at":"2025-04-17T09:34:25.084Z","repository":{"id":144210834,"uuid":"170626234","full_name":"NeoBSD/Jailer","owner":"NeoBSD","description":"Docker like container/jail management for FreeBSD jails","archived":false,"fork":false,"pushed_at":"2021-01-02T09:41:10.000Z","size":326,"stargazers_count":18,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-01T22:43:48.744Z","etag":null,"topics":["container","docker","freebsd","jail","jailer"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NeoBSD.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-02-14T04:19:22.000Z","updated_at":"2023-11-15T10:21:29.000Z","dependencies_parsed_at":"2024-01-14T07:58:56.960Z","dependency_job_id":"6d38d9f2-ca71-4977-807d-106fbccd1338","html_url":"https://github.com/NeoBSD/Jailer","commit_stats":null,"previous_names":["tobiashienzsch/jailer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeoBSD%2FJailer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeoBSD%2FJailer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeoBSD%2FJailer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeoBSD%2FJailer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NeoBSD","download_url":"https://codeload.github.com/NeoBSD/Jailer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223751184,"owners_count":17196586,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["container","docker","freebsd","jail","jailer"],"created_at":"2024-08-01T22:01:12.503Z","updated_at":"2024-11-08T20:31:05.410Z","avatar_url":"https://github.com/NeoBSD.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Jailer\n\n## TLDR\n\nThe goal of Jailer is to solve the same problems that Docker solved on Linux, but for FreeBSD. Imagine a project where next to your already existing `Dockerfile` you have a `Jailerfile`, which can be used to start a FreeBSD jail running your installed \u0026 configurated application.\n\n## Warning\n\n```text\nThis software is in it's infancy. Use at your own risk. Have fun.\n```\n\n## Status\n\n|                                                               License                                                               |                                        Unit test                                         |                                                       Coverage                                                       |                                  Issues                                  |\n| :---------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------: |\n| [![License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg)](https://github.com/neobsd/jailer/blob/master/LICENSE) | ![Unittest](https://github.com/NeoBSD/Jailer/workflows/Unittest/badge.svg?branch=master) | [![codecov](https://codecov.io/gh/neobsd/jailer/branch/master/graph/badge.svg)](https://codecov.io/gh/neobsd/jailer) | ![GitHub issues](https://img.shields.io/github/issues/neobsd/jailer.svg) |\n\n## Quick Start\n\n### Jailerfile\n\nA jail can be described in a `Jailerfile`. The goal is to keep the syntax as similar to a `Dockerfile` as possible.\n\n**Example**:\n\n```docker\nFROM freebsd\nRUN echo \"Hello Jailer!\"\n```\n\n### Supported commands\n\nNot all commands are implemented yet. Most commands need to run as `root`:\n\n```text\nUsage:\n  jailer [flags]\n  jailer [command]\n\nAvailable Commands:\n  build       Build an image from a Jailerfile\n  config      Print current config\n  dev         Subcommand for development only\n  exec        Execute a command inside an existing jail\n  fetch       Fetch base from FreeBSD mirror\n  help        Help about any command\n  info        Display system-wide information\n  init        Init for jailer. Creates zfs datasets\n  ps          List active jails\n  restart     Restart one or more jails\n  rm          Remove one or more jails\n  run         Run a command in a new jail\n  start       Start one or more stopped jails\n  stop        Stop one or more running jails\n  storage     Manages jail \u0026 image storage\n  top         Run top inside a jail\n  version     Print current version\n\nFlags:\n  -c, --config string   Config file (default is $PWD/jailer.yaml)\n  -h, --help            help for jailer\n  -v, --verbose         Verbose output\n\nUse \"jailer [command] --help\" for more information about a command.\n```\n\n## Development\n\n### Dependencies\n\n- FreeBSD 12.1\n  - ZFS\n- Go (tested with 1.13)\n  - Cobra\n  - Viper\n  - Logrus\n- gmake\n\n### Setup\n\n```sh\ncp jailer.example.yml jailer.yml\nzfs create -o mountpoint=/jailer $ZROOT/jailer\n```\n\n### Resources\n\n#### Internal\n\n- [Jail from scratch](https://github.com/NeoBSD/jailer/blob/master/docs/jail_from_scratch.md)\n\n#### External\n\n- [Reddit: FreeBSD 12 + VNET + ZFS](https://www.reddit.com/r/freebsd/comments/ahdbbq/howto_jails_freebsd_12_vnet_zfs/)\n- [Devin Teske - Jail Networking, MeetBSD 2016](https://www.youtube.com/watch?v=aoW7pWuhT_A)\n- [FreeBSD 12 Jail with IPv6, VNET and ZFS](https://medium.com/@melanj/how-to-configure-a-globally-routable-freebsd-12-jail-with-ipv6-vnet-and-zfs-4c750ef31b80)\n- [Stefan Grönke: Imprisoning software with libiocage -- BSDCan 2018](https://www.youtube.com/watch?v=CTGc3zYToh0)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNeoBSD%2FJailer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNeoBSD%2FJailer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNeoBSD%2FJailer/lists"}