[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-9955":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":36,"discoverSource":37},9955,"fn","fnproject\u002Ffn","fnproject","The container native, cloud agnostic serverless platform.","http:\u002F\u002Ffnproject.io",null,"Go",5936,408,182,144,0,2,6,38.84,"Apache License 2.0",false,"master",true,[25,26,27,28,29,30,31,32],"containers","docker","faas","kubernetes","lambda","serverless","serverless-functions","swarm","2026-06-12 02:02:14","\u003Ca id=\"top\">\u003C\u002Fa>\n![Fn Project](http:\u002F\u002Ffnproject.io\u002Fimages\u002Ffn-300x125.png)\n\n**[Quickstart](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Ffn#quickstart)&nbsp; | &nbsp;[Tutorials](https:\u002F\u002Ffnproject.io\u002Ftutorials)&nbsp; |  &nbsp;[Docs](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fdocs)&nbsp; | &nbsp;[API](http:\u002F\u002Fpetstore.swagger.io\u002F?url=https:\u002F\u002Fraw.githubusercontent.com\u002Ffnproject\u002Ffn\u002Fmaster\u002Fdocs\u002Fswagger_v2.yml)&nbsp; | &nbsp;[Operating](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fdocs\u002Fblob\u002Fmaster\u002Ffn\u002FREADME.md#for-operators)&nbsp; | &nbsp;[Flow](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fflow)&nbsp; | &nbsp;[UI](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fui)**\n\n[![CircleCI](https:\u002F\u002Fcircleci.com\u002Fgh\u002Ffnproject\u002Ffn.svg?style=svg&circle-token=6a62ac329bc5b68b484157fbe88df7612ffd9ea0)](https:\u002F\u002Fcircleci.com\u002Fgh\u002Ffnproject\u002Ffn) [![GoDoc](https:\u002F\u002Fgodoc.org\u002Fgithub.com\u002Ffnproject\u002Ffn?status.svg)](https:\u002F\u002Fgodoc.org\u002Fgithub.com\u002Ffnproject\u002Ffn)\n[![Go Report Card](https:\u002F\u002Fgoreportcard.com\u002Fbadge\u002Fgithub.com\u002Ffnproject\u002Ffn)](https:\u002F\u002Fgoreportcard.com\u002Freport\u002Fgithub.com\u002Ffnproject\u002Ffn)\n\n## Welcome\nFn is an event-driven, open source, [Functions-as-a-Service (FaaS)](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fdocs\u002Fblob\u002Fmaster\u002Ffn\u002Fgeneral\u002Fintroduction.md) compute platform that you can run anywhere. Some of its key features:\n\n* Open Source\n* Native Docker: use any Docker container as your Function\n* Supports all languages\n* Run anywhere\n  * Public, private and hybrid cloud\n  * Import Lambda functions and run them anywhere\n* Easy to use for developers\n* Easy to manage for operators\n* Written in Go\n* Simple yet powerful extensibility\n\nThe fastest way to experience Fn is to follow the quickstart below, or you can jump right to our [full documentation](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fdocs), [API Docs](http:\u002F\u002Fpetstore.swagger.io\u002F?url=https:\u002F\u002Fraw.githubusercontent.com\u002Ffnproject\u002Ffn\u002Fmaster\u002Fdocs\u002Fswagger_v2.yml), or hit us up in our [Slack Community](http:\u002F\u002Fslack.fnproject.io) or [Community Page](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fdocs\u002Fblob\u002Fmaster\u002FCOMMUNITY.md)!\n\n\n## Quickstart\n\n### Pre-requisites\n\n* Docker 17.10.0-ce or later, Podman 5.7.0 or later installed and running\n* [Docker Hub](https:\u002F\u002Fhub.docker.com\u002F) account (or other Docker-compliant registry) (Not required for local development)\n* Logged into Registry: ie `docker login` (Not required for local development)\n\n### Install CLI tool\n\nThe command line tool isn't required, but it makes things a lot easier. There are a few options to install it:\n\n#### Option 1. Homebrew - macOS\n\nIf you're on a Mac and use [Homebrew](https:\u002F\u002Fbrew.sh\u002F):\n\n```sh\nbrew update && brew install fn\n```\n\n#### Option 2. Shell script - Linux and macOS\n\nThis one works on Linux and macOS (partially on Windows).\n\nIf you are running behind a proxy first set your http_proxy and https_proxy environment vars:\n\n```sh\ncurl -LSs https:\u002F\u002Fraw.githubusercontent.com\u002Ffnproject\u002Fcli\u002Fmaster\u002Finstall | sh\n```\n\nThis will download a shell script and execute it. If the script asks for a password, that is because it invokes sudo.\n\n#### Option 3. Install the Windows CLI\n[Install and run the Fn Client for Windows](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fdocs\u002Fblob\u002Fmaster\u002Ffn\u002Fdevelop\u002Frunning-fn-client-windows.md).\n\n\n#### Option 4. Download the bin - Linux, macOS and Windows\nHead over to our [releases](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fcli\u002Freleases) and download it.\n\n### Before you start\n\nIf you are using Podman or Rancher desktop, it is recommended use a volume. The volume will be used by FnServer\nto create unix socket file to communicate to other Fn containers.\n\nThe volume will be created automatically when you use \"--iofs-dir\" option in \"fn start\" and specify the volume name (e.g. fniofsvol).\n\nIf you want to create volume manually, you could do:\n`docker volume create --opt device=tmpfs --opt type=tmpfs --opt o=size=2M,dev,noexec \u003Cvolume name>`\n\nThe docker command is provided by podman or rancher desktop in this case.\n\n### Run Fn Server\n\nFirst, start up a Fn server locally:\n\n```sh\nfn start\n```\nor if you are on podman\u002Francher which you need to use a volume\n```sh\nfn start --iofs-dir \u003Cvolume name, or it could be a directory in the host VM for Docker Desktop>\n```\n\niofs-dir allows you to specify a volume (which is required for Podman or Rancher case), or any directory in the\nhost-vm (for Docker Desktop) if you want to use a specific directory to host the unix socket file. It is usually\nnot a concern for Docker users.\n\nThis will start Fn in single server mode, using an embedded database and message queue. You can find all the\nconfiguration options [here](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fdocs\u002Fblob\u002Fmaster\u002Ffn\u002Foperate\u002Foptions.md). If you are on Windows, check [here](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fdocs\u002Fblob\u002Fmaster\u002Ffn\u002Foperate\u002Fwindows.md).\n\n### SELinux\nMost Linux systems have SELinux enabled and FnServer supports running on SELinux.\n\n### Your First Function\n\nFunctions are small but powerful blocks of code that generally do one simple thing. Forget about monoliths when using functions, just focus on the task that you want the function to perform. Our CLI tool will help you get started quickly.\n\nLet's create your function. You can use any runtime (ie go, node, java, python, etc.) `hello` will be the name of your function as well as create a directory called `hello`. You can name your function anything.\n\n```sh\nfn init --runtime go hello\ncd hello\n```\n\nWe need to create an \"app\" which acts as a top-level collection of functions and other elements:\n\n```sh\nfn create app myapp\n```\n\nDeploy your function: \n\n```sh\nfn deploy --app myapp --local\n```\n\nNote: `--local` flag will skip the push to remote container registry making local development faster\n\nNow let's actually run your function using the `invoke` command:\n\n```sh\nfn invoke myapp hello\n```\n\nThat's it! You just deployed and ran your first function! Try updating the function code in `func.go` (or .js, .java, etc.) then deploy it again to see the change.\n\n## Learn More\n\n* Visit [Fn tutorials](http:\u002F\u002Ffnproject.io\u002Ftutorials) for step-by-step guides to creating apps with Fn. These tutorials range from introductory to more advanced.\n* See our [full documentation](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fdocs)\n* View our [YouTube Channel](https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCo3fJqEGRx9PW_ODXk3b1nw)\n* View our [API Docs](http:\u002F\u002Fpetstore.swagger.io\u002F?url=https:\u002F\u002Fraw.githubusercontent.com\u002Ffnproject\u002Ffn\u002Fmaster\u002Fdocs\u002Fswagger_v2.yml)\n* Check out our sub-projects: [Flow](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fflow), [UI](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fui), [FnLB](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Flb)\n* For a full presentation with lots of content you can use in your own presentations, see [The Fn Project Presentation Master](http:\u002F\u002Fdeck.fnproject.io)\n\n\n## Get Help\n\n* [Ask your question on StackOverflow](https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002Ftagged\u002Ffn) and tag it with `fn`\n\n## Get Involved\n\n* Join our [Slack Community](http:\u002F\u002Fslack.fnproject.io)\n* See our new [Community Page](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fdocs\u002Fblob\u002Fmaster\u002Fcommunity\u002F)\n* Learn how to [contribute](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Fdocs\u002Fblob\u002Fmaster\u002Fcommunity\u002FCONTRIBUTING.md)\n* Find [issues](https:\u002F\u002Fgithub.com\u002Ffnproject\u002Ffn\u002Fissues) and become a contributor\n* Join us at one of our [Fn Events](http:\u002F\u002Fevents.fnproject.io) or even speak at one!\n* Coming in Q1'19: Regularly scheduled planning meetings for contributing to the Fn Project\n\n## Stay Informed\n\n* [Blog](https:\u002F\u002Fmedium.com\u002Ffnproject)\n* [Twitter](https:\u002F\u002Ftwitter.com\u002Ffnproject)\n* [YouTube](https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCo3fJqEGRx9PW_ODXk3b1nw)\n* [Events](http:\u002F\u002Fevents.fnproject.io)\n","Fn 是一个容器原生、云无关的无服务器平台，支持使用任何 Docker 容器作为函数运行。该项目的核心功能包括支持多种语言、易于开发者使用和运维管理，并且可以部署在公有云、私有云或混合云环境中。它还允许导入 AWS Lambda 函数并在任意地方运行。基于 Go 语言编写，提供了简单而强大的扩展性。适合需要灵活部署无服务器架构的应用场景，特别是那些希望摆脱特定云服务提供商限制的企业。","2026-06-11 03:25:45","top_topic"]