README ¶
Pixur
Pixur is a picture management server and frontend. It is designed to support a loose community of users.
Features:
- Pixur has strong access controls. It is possible to restrict access to all content and functionality.
- Design to scale. The intended goal is to be able to store about 100 million pictures in a single installation.
- Weak / Strong deletion semantics. Pictures have well defined life times, and can be partially or weakly deleted. This allows the picuture metadata to remain while removing the file content.
- Individual picture recommendation and scoring. Every user gets customized picture recommendations based on previous voting behavior
- High accessibility. Pixur allows access over HTTP, WebDAV, gRPC, etc.
Installation
- Get the main Pixur server, and site initializer.
go get -u pixur.org/pixur{,/tools/initsite}
- Create initial configuration files. The
initsite
tool will prompt you to put in the necessary information.
go run $GOPATH/src/pixur.org/pixur/tools/initsite/initsite.go
- Start the Pixur Server.
go run $GOPATH/src/pixur.org/pixur/pixur.go
Requirements
- ffmpeg is needed to handle WEBM content.
- One of MySQL, SQLite3, PostgreSQL, or CockroachDB is needed for data storage
Documentation ¶
There is no documentation for this package.
Directories ¶
Path | Synopsis |
---|---|
Package api contains the Protobuf message used to communicate with the backend server.
|
Package api contains the Protobuf message used to communicate with the backend server. |
This program is a simple implementation of the Pixur backend.
|
This program is a simple implementation of the Pixur backend. |
handlers
Package handlers implements the Pixur backend gRPC API surface.
|
Package handlers implements the Pixur backend gRPC API surface. |
schema
Package schema includes all the backend data types and helper functions for Pixur.
|
Package schema includes all the backend data types and helper functions for Pixur. |
schema/db
Package db includes database functionality for Pixur.
|
Package db includes database functionality for Pixur. |
schema/db/model
Package model described the model format for tables
|
Package model described the model format for tables |
schema/db/protoc-gen-pxrtab
protoc-grn-pxrtab is a protoc plugin for generating Pixur tables.
|
protoc-grn-pxrtab is a protoc plugin for generating Pixur tables. |
schema/db/protoc-gen-pxrtab/generator
Package generator is a protoc generator library for Pixur tables.
|
Package generator is a protoc generator library for Pixur tables. |
schema/tables
Package tables includes all generated tables for Pixur.
|
Package tables includes all generated tables for Pixur. |
server
Package server is a library used for creating a Pixur backend server.
|
Package server is a library used for creating a Pixur backend server. |
server/config
Package config describes configuration for a backend Pixur Server.
|
Package config describes configuration for a backend Pixur Server. |
status
Package status defines a full featured error type.
|
Package status defines a full featured error type. |
tasks
Package tasks implements the core Pixur business logic.
|
Package tasks implements the core Pixur business logic. |
text
Package text implements text processing and validation.
|
Package text implements text processing and validation. |
This program is a simple implementation of the Pixur web frontend.
|
This program is a simple implementation of the Pixur web frontend. |
handlers
Package handlers implements the HTTP endpoint processing and interacts with the Pixur backend.
|
Package handlers implements the HTTP endpoint processing and interacts with the Pixur backend. |
server
Package server is a library for use with starting a Pixur HTTP server.
|
Package server is a library for use with starting a Pixur HTTP server. |
server/config
Package config describes configuration for a frontend Pixur Server.
|
Package config describes configuration for a frontend Pixur Server. |
tpl
Package tpl exposes the HTML templates for use with the web frontend.
|
Package tpl exposes the HTML templates for use with the web frontend. |
tpl/pixur-gen-tpl
This program turns a directory of HTML files into a Go source file.
|
This program turns a directory of HTML files into a Go source file. |
tools
|
|
auth
Package auth manages auth tokens for command line usage.
|
Package auth manages auth tokens for command line usage. |
config
Package config describes configuration used for command line tools.
|
Package config describes configuration used for command line tools. |
Click to show internal directories.
Click to hide internal directories.