A server for people without technical knowledge to host your Open Source webapps. The crocoserver project wants to make it possible for anyone to setup their own server on a supported cloud providers and install the server apps they like from the public app store.
Things you can do with crocoserver:
- Run your own Dropbox alternative with Owncloud
- Run your own wiki with MediaWiki
- Run your own Slack like chat with Mattermost
- Run your own online Latex editor with ShareLatex
- Run your own web diagram tool with draw.io
- Run your own spreadsheet software with EtherCalc
- Run your own git server with Gogs
- Run your own web analytics platform with Piwik
You can choose a local provider to run corocserver and use beautiful and state of the art Open Source apps without any knowledge about managing a server. It gives control over your data back to you.
You can install crocoserver by visiting http://crocoserver.com and choosing a local provider.
crocoserver is a Python library and server using the Docker Compose API to run
containerized services. Any docker-compose.yml
file is a valid app package
that can be deployed to the server.
crocoserver is easy to install. All you need is to install Docker on your Linux machine.
Packaging a new application for crocoserver and making it available for users to install with a single click is straightforward.
- Ensure your application is containerized and provides public Docker images
- Create a
docker-compose.yml
file and add a new metadata section - Create a PR to the crocoserver repo
The crocoserver is using the libcompose library to provision the actual containers from a Compose file.
The available apps are all in the apps
directory at the time of build and are shipped with the application.
The apps are divided into two namespaces:
- user: All apps that can be installed by a user
- system: System level apps that are needed to run crocoserver (like the reverse proxy)
Note that crocoserver itself is also an app. It just a system level app that manages other apps and configures the reverse proxy app.
As of now apps need to be present in the apps
directory at build time since they are included as binary
assets in the executable. In the future apps should be pulled directly from GitHub and stored in a directory
so advanced users can make changes.
This is experimental. The package format is not stable yet
The app package format is defined as a folder apps/<app-id>
containing a
Docker Compose File called docker-compose.yml
and an additional metadata.yml
file containing useful information
about the app package.
You can validate an app package with crocoserver CLI.
crocoserver validate <package-location>
Package the apps
and the gui
as binary assets.
go-bindata apps/... gui/...
Install the go package.
go install