Skip to main content

fujin

PyPI - Version PyPI - Python Version MIT License Status

fujin is a simple deployment tool that helps you get your project up and running on a VPS in a few minutes. It manages your app processes using systemd and runs your apps behind caddy. For Python projects, it expects your app to be a packaged Python application ideally with a CLI entry point defined. For other languages, you need to provide a self-contained single executable file with all necessary dependencies. The main job of fujin is to bootstrap your server (installing caddy, etc.), copy the files onto the server with a structure that supports rollback, and automatically generate configs for systemd and caddy that you can manually edit if needed.

Check out the documentation📚 for installation, features, and usage guides.

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 instead of nginx because the configuration file simpler 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). I wanted to recreate kamal's nice local-to-remote app management API, but I'm skipping Docker to keep things simple. I'm currently rocking SQLite in production for my side projects and ths setup is enough for my use case.

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

  • fly.io
  • kamal (you probably can't just forget this one)

License

fujin is distributed under the terms of the MIT license.

Metadata

Release files for fujin-cli 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fujin-cli 0.4.0
File Size Uploaded
fujin_cli-0.4.0.tar.gz 128.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fujin-cli 0.4.0
File Interpreter ABI Platform
fujin_cli-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 159.8 kB

Release files / fujin_cli-0.4.0.tar.gz

Download URL fujin_cli-0.4.0.tar.gz
Size 128.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d0437c5ed73701932dca5507cbc98ba4b3715abeb29852ab867f9ad2244c2f12
BLAKE2b-256 checksum
How to use checksums
2b346694f812b8c73998200afed5fba3047dd900c5af8a13efa190557663876c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.27.0

Release files / fujin_cli-0.4.0-py3-none-any.whl

Download URL fujin_cli-0.4.0-py3-none-any.whl
Size 30.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d0cd80abff71695cf16fedcf6ad7e18683861708e347b7c7a63ea60d6a2c12b9
BLAKE2b-256 checksum
How to use checksums
0d3cd4620bf935f413289d3aeda5771b7395ed25fd887a574c6b4ad7054c8688
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.27.0

Release history Release notifications | RSS feed

0.27.1

2 release files

0.27.0

2 release files

0.25.2

2 release files

0.25.1

2 release files

0.25.0

2 release files

0.24.0

2 release files

0.23.0

2 release files

0.22.2

2 release files

0.22.1

2 release files

0.22.0

2 release files

0.21.4

2 release files

0.21.3

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.5

2 release files

0.19.4

2 release files

0.19.3

2 release files

0.19.2

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.17.2

2 release files

0.17.1

2 release files

0.16.0

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.1

2 release files

0.10.0

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page