seelf

command module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 21, 2023 License: GPL-3.0 Imports: 2 Imported by: 0

README

seelf : Painless self-hosted deployment platform

GitHub Workflow Status Docker Image Size (latest semver) Docker Image Version (latest semver) GitHub

I mean, for real!

https://github.com/YuukanOO/seelf/assets/939842/d234bf40-1927-4057-a62b-8357c935506b

The seelf initial public version has some limitation (only local Docker engine, single user mostly) but you can check out the roadmap to see what's planned!

Goal

Got an already working docker compose file for your project ? Just send it to your seelf instance and boom, that's live on your own infrastructure with all services correctly deployed and exposed on nice urls as needed! See the documentation for more information.

Althought Docker is the only backend supported at the moment, I would like to investigate to enable other ones too. Remote Docker or Podman for example.

Prerequisites

  • Docker
  • A DNS correctly configured (with a wildcard redirecting to where seelf is hosted)

Quick start

Want to give seelf a try?

docker run -d -e "SEELF_ADMIN_EMAIL=admin@example.com" -e "SEELF_ADMIN_PASSWORD=admin" -v "/var/run/docker.sock:/var/run/docker.sock" -v "seelfdata:/seelf/data" -p "8080:8080" yuukanoo/seelf

Head over http://localhost:8080 and sign in using admin@example.com and admin as password!

To quickly check how seelf behaves, you can use examples packaged as .tar.gz archives in this repository.

See all available options in the documentation to get more serious and configure seelf for your server.

Documentation

See the documentation in this repository. If you need more help, feel free to open an issue!

Contributing

Oh nice! Let's build together!

The Makefile contains some target such as:

  • make serve-front: run the dashboard UI for development
  • make serve-back: serve the backend API
  • make test: launch all tests
  • make ts: print the current timestamp (mostly used when creating migrations)
  • make outdated: print outdated direct dependencies
  • make build: build seelf for the current platform
  • SEELF_VERSION=x.x.x make prepare-release: update the version sets in the cmd/version.go
  • SEELF_VERSION=x.x.x make release-docker: cross-build seelf for the given version number and push generated images

Note: on Windows, you will need a gcc compiler such as tdm gcc to build the sqlite3 driver correctly.

Architecture

See the architecture overview.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
internal
pkg
bus
Mediator style message bus adapted to the Go language without requiring the reflect package.
Mediator style message bus adapted to the Go language without requiring the reflect package.
domain
Package domain provides a set of types commonly used in the domain layer.
Package domain provides a set of types commonly used in the domain layer.
id
log
The package log provides an abstraction above a specific logger implementation.
The package log provides an abstraction above a specific logger implementation.
testutil
Package testutil exposes assert utilities used in the project to make things simpler to read.
Package testutil exposes assert utilities used in the project to make things simpler to read.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL