Get your project up and running in a few minutes on your own vps.
Project description
fujin
[!IMPORTANT] This tool is currently contains minimal features and is a work-in-progress
fujin
is a simple deployment tool that helps you get your project up and running on a VPS in minutes. It manages your app processes using systemd and runs your apps behind caddy.
Features
- 🚀 One-command server bootstrap
- 🔄 Rollback broken deployments
- 🔐 Zero configuration SSL certificates
- 🔁 Swappable proxy (caddy, nginx and
dummy
to disable proxy) - 🛠️ Secrets injection from password managers (Bitwarden, 1Password, etc.)
- 📝 Easily customizable
systemd
andproxy
configurations - 👨💻 Remote application management and log streaming
- 🐍 Supports packaged python apps and self-contained binaries
For more details, check out the documentation📚.
Why?
I wanted kamal but without Docker, and I thought the idea was fun. At its core, this project automates versions of this tutorial. If you've been a Django beginner trying to get your app in production, you probably went through this.
I'm using caddy
here by default instead of nginx
because it's configurable via an API and it's is a no-brainer for SSL certificates. Systemd
is the default on most Linux distributions and does a good enough job.
Fujin was initially planned to be a Python-only project, but the core concepts can be applied to any language that can produce a single distributable file (e.g., Go, Rust).
The goal is to automate deployment while leaving you in full control of your Linux box. It's not a CLI PaaS - it's simple and expects you to be able to SSH into your server and troubleshoot if necessary. For beginners, it makes the initial deployment easier while you get your hands dirty with Linux. If you need a never-break, worry-free, set-it-and-forget-it setup that auto-scales and does all the magic, fujin probably isn't for you.
Inspiration and alternatives
Fujin draws inspiration from the following tools for their developer experience. These are better alternatives if you need a more robust, set-and-forget solution
License
fujin
is distributed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fujin_cli-0.7.1.tar.gz
.
File metadata
- Download URL: fujin_cli-0.7.1.tar.gz
- Upload date:
- Size: 127.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3ed839457431a29aec80b16e7a070988896563504c95d3ec84f044606770338 |
|
MD5 | bd41dfcc47e08cdea5e2ebcb85a140ac |
|
BLAKE2b-256 | a6a2071aadc994fd9f6312fe469867e82a672b0b77e14b5b55409f4613253338 |
Provenance
The following attestation bundles were made for fujin_cli-0.7.1.tar.gz
:
Publisher:
publish.yml
on falcopackages/fujin
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
fujin_cli-0.7.1.tar.gz
- Subject digest:
a3ed839457431a29aec80b16e7a070988896563504c95d3ec84f044606770338
- Sigstore transparency entry: 150991348
- Sigstore integration time:
- Predicate type:
File details
Details for the file fujin_cli-0.7.1-py3-none-any.whl
.
File metadata
- Download URL: fujin_cli-0.7.1-py3-none-any.whl
- Upload date:
- Size: 34.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b70436a3ca445eac5c5d52c616c2e39d4254c0c3b5c4677098cd658560551af7 |
|
MD5 | 25945b0a6a776aeaa8b99b7f842865cd |
|
BLAKE2b-256 | c480e7fa005ac8d551e750b3ecca52294ae3751ca45929c66a461b1e827b6c8e |
Provenance
The following attestation bundles were made for fujin_cli-0.7.1-py3-none-any.whl
:
Publisher:
publish.yml
on falcopackages/fujin
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
fujin_cli-0.7.1-py3-none-any.whl
- Subject digest:
b70436a3ca445eac5c5d52c616c2e39d4254c0c3b5c4677098cd658560551af7
- Sigstore transparency entry: 150991349
- Sigstore integration time:
- Predicate type: