repo+build: updated info and docker-compose file

- [repo] updated `README.md` and `doc/INSTALL.md`
- [build] configure `server` and `client` to build locally
- [dist] updated `doc/example.env` to unique build info
This commit is contained in:
skybldev 2022-01-10 16:54:46 -05:00
parent 2e3b292c26
commit 071d87da8f
4 changed files with 40 additions and 44 deletions

View file

@ -1,50 +1,36 @@
# szurubooru
Szurubooru is an image board engine inspired by services such as Danbooru,
Gelbooru and Moebooru dedicated for small and medium communities. Its name [has
its roots in Polish language and has onomatopeic meaning of scraping or
scrubbing](http://sjp.pwn.pl/sjp/;2527372). It is pronounced as *shoorubooru*.
A fork of [szurubooru](https://github.com/rr-/szurubooru) aimed at storing photos and videos taken with physical cameras.
## Features
The idea for this started in [this issue](https://github.com/rr-/szurubooru/issues/340). I wanted a self-hosted replacement for Google Photos.
- Post content: images (JPG, PNG, GIF, animated GIF), videos (MP4, WEBM), Flash animations
- Ability to retrieve web video content using [youtube-dl](https://github.com/ytdl-org/youtube-dl)
- Post comments
- Post notes / annotations, including arbitrary polygons
- Rich JSON REST API ([see documentation](doc/API.md))
- Token based authentication for clients
- Rich search system
- Rich privilege system
- Autocomplete in search and while editing tags
- Tag categories
- Tag suggestions
- Tag implications (adding a tag automatically adds another)
- Tag aliases
- Pools and pool categories
- Duplicate detection
- Post rating and favoriting; comment rating
- Polished UI
- Browser configurable endless paging
- Browser configurable backdrop grid for transparent images
## Added Features
- **Date taken**
- Automatically extracts the date and time that the photo was taken on from its EXIF metadata.
- Date taken is shown on the post sidebar
- **Camera**
- Automatically extracts the make and model of the camera used to take the photo
- Also works with some videos
- **EXIF orientation support**
- Acknowledges EXIF orientation and generates thumbnails and post dimensions correctly
- Images with orientations other than 1 now render properly
**Please note:** Date taken and Camera do not work with image formats that lack EXIF support (such as PNG) or have been stripped of EXIF metadata.
## Installation
It is recommended that you use Docker for deployment.
[See installation instructions.](doc/INSTALL.md)
More installation resources, as well as related projects can be found on the
[GitHub project Wiki](https://github.com/rr-/szurubooru/wiki)
More installation resources as well as related projects can be found on upstream's [GitHub project Wiki](https://github.com/rr-/szurubooru/wiki).
## Screenshots
## Status and Plans
Post list:
This fork has reached the level of functionality I need for my personal use. As such, there are missing features that might be useful to some:
![20160908_180032_fsk](https://cloud.githubusercontent.com/assets/1045476/18356730/3f1123d6-75ee-11e6-85dd-88a7615243a0.png)
- Mass deletion support (will also implement this upstream when I get to it)
- Tests (honestly, I don't even want to touch these)
- Proper post merging
- Updated documentation
Post view:
![20160908_180429_lmp](https://cloud.githubusercontent.com/assets/1045476/18356731/3f1566ee-75ee-11e6-9594-e86ca7347b0f.png)
## License
[GPLv3](LICENSE.md).
I am also planning to rewrite this fork's [`server`](server/) in another language sometime in the future.

View file

@ -6,7 +6,7 @@ and Docker Compose (version 1.6.0 or greater) already installed.
1. Download the `szurubooru` source:
```console
user@host:~$ git clone https://github.com/rr-/szurubooru.git szuru
user@host:~$ git clone https://github.com/skybldev/szurubooru.git szuru
user@host:~$ cd szuru
```
2. Configure the application:
@ -34,11 +34,11 @@ and Docker Compose (version 1.6.0 or greater) already installed.
Read the comments to guide you. Note that `.env` should be in the root
directory of this repository.
### Running the Application
### Building and Running the Application
Download containers:
Unlike the original szurubooru, this will need to be built locally:
```console
user@host:szuru$ docker-compose pull
user@host:szuru$ docker-compose build
```
For first run, it is recommended to start the database separately:
@ -62,6 +62,16 @@ To stop all containers:
user@host:szuru$ docker-compose down
```
NOTE: For Debian users, if `docker-compose build` spits out:
```
ERROR: Service 'server' failed to build: failed to parse platform : "" is an invalid component of "": platform specifier component must match "^[A-Za-z0-9_-]+$": invalid argument
```
...you will need to export Docker BuildKit flags:
```console
user@host:szuru$export DOCKER_BUILDKIT=1; export COMPOSE_DOCKER_CLI_BUILD=1
```
...then run again.
### Additional Features
1. **CLI-level administrative tools**

View file

@ -3,7 +3,7 @@ POSTGRES_USER=szuru
POSTGRES_PASSWORD=changeme
# This shows up on the homescreen, indicating build information
BUILD_INFO=latest
BUILD_INFO=skybldev-local
# Port to expose HTTP service
# Set to 127.0.0.1:8080 if you wish to reverse-proxy the docker's port,

View file

@ -7,7 +7,7 @@ version: '2'
services:
server:
image: szurubooru/server:latest
build: server
depends_on:
- sql
environment:
@ -26,7 +26,7 @@ services:
- "./server/config.yaml:/opt/app/config.yaml"
client:
image: szurubooru/client:latest
build: client
depends_on:
- server
environment: