Make a release :)
This commit is contained in:
parent
b5cbd71b68
commit
948be6a10b
6 changed files with 108 additions and 8 deletions
|
@ -1,8 +1,9 @@
|
||||||
FROM java:8-alpine
|
FROM openjdk:8
|
||||||
MAINTAINER Aaron Fischer <mail@aaron-fischer.net>
|
MAINTAINER Aaron Fischer <mail@aaron-fischer.net>
|
||||||
|
|
||||||
ADD target/uberjar/yenu.jar /yenu/app.jar
|
ADD yenu.jar /yenu/app.jar
|
||||||
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|
||||||
CMD ["java", "-jar", "/yenu/app.jar"]
|
WORKDIR "/yenu"
|
||||||
|
CMD ["java", "-jar", "app.jar"]
|
||||||
|
|
71
README
Normal file
71
README
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
oooo ooo .ooooo. ooo. .oo. oooo oooo
|
||||||
|
`88. .8' d88' `88b `888P"Y88b `888 `888
|
||||||
|
`88..8' 888ooo888 888 888 888 888
|
||||||
|
`888' 888 .o 888 888 888 888
|
||||||
|
.8' `Y8bod8P' o888o o888o `V88V"V8P'
|
||||||
|
.o..P'
|
||||||
|
`Y8P' the image sharing tool for friends.
|
||||||
|
|
||||||
|
|
||||||
|
yenu is a simple tool to share images among a trusted group of people. No
|
||||||
|
complicated setup, no fancy features nobody really uses, no role management,
|
||||||
|
no cloud, no bullshit. Just sharing images to people you like and store
|
||||||
|
your data where you want it to be.
|
||||||
|
|
||||||
|
--{ INSTALL }------------------------------------------------------------------
|
||||||
|
Create the database schema and all needed folders. You need to execute
|
||||||
|
this only once for initial setup. IF you upgrade the yenu version (replace
|
||||||
|
the yenu.jar file), it is sometimes needed to run the migrate step again.
|
||||||
|
|
||||||
|
$ java -jar yenu.jar migrate
|
||||||
|
|
||||||
|
Start the application with the following command in a screen session or
|
||||||
|
write a systemd init file for that.
|
||||||
|
$ java -jar yenu.jar
|
||||||
|
|
||||||
|
If you like docker, you can use docker-compose to boot up the application
|
||||||
|
and send it to the background.
|
||||||
|
$ docker-compose up -d
|
||||||
|
|
||||||
|
|
||||||
|
--{ CONFIGURATION }------------------------------------------------------------
|
||||||
|
The application is configured with the yenu.properties file. Open the file
|
||||||
|
in your preferred editor and change the variables as you like. You can change
|
||||||
|
the basepath, port and other stuff like the user password and the creator
|
||||||
|
password.
|
||||||
|
|
||||||
|
|
||||||
|
--{ WHERE IS MY DATA? }--------------------------------------------------------
|
||||||
|
All your images are placed in the data/gallery/ directory, next to the
|
||||||
|
yenu.jar. When uploading a image, the raw file is placed into the raw/ folder,
|
||||||
|
if you need the original later (pull out some metadata like GPS coordinates,
|
||||||
|
scale it into other formats, print it etc.) In the normal/ folder there are
|
||||||
|
the scaled down images for the details page. The thumbnails/ folder contains
|
||||||
|
the quare images for the thumbnail preview.
|
||||||
|
|
||||||
|
The database used is a SQLite3 database, stored in the yenu.db file. You
|
||||||
|
can open the database at any time with your favourite sqlite3 client.
|
||||||
|
|
||||||
|
$ sqlite3 yenu.db
|
||||||
|
> .tables
|
||||||
|
> SELECT * FROM images;
|
||||||
|
> ...
|
||||||
|
|
||||||
|
|
||||||
|
--{ WHERE CAN IS RUN THIS THING? }---------------------------------------------
|
||||||
|
Quick answer: Wherever you want. You can boot up a Amazon S3 node and deploy
|
||||||
|
it there or you put it on your RaspberryPi and host it yourself from your
|
||||||
|
own internet connection from home (preferred way!). You can also rent a
|
||||||
|
vServer and deploy it there. All you need is a Java RE and a internet
|
||||||
|
connection.
|
||||||
|
|
||||||
|
|
||||||
|
--{ LICENSE, RIGHTS AND AUTHOR }-----------------------------------------------
|
||||||
|
This tool is written by Aaron Fischer (aaron-fischer.net). It is free to use
|
||||||
|
and is placed under the GPL v.3. The images, comments and other metadata
|
||||||
|
belongs to you. Make sure, you store the data on a place you trust and make
|
||||||
|
backups.
|
||||||
|
|
17
deploy.sh
Executable file
17
deploy.sh
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Compile
|
||||||
|
lein uberjar
|
||||||
|
|
||||||
|
# Clean
|
||||||
|
rm -rf dist
|
||||||
|
|
||||||
|
# Package
|
||||||
|
mkdir dist
|
||||||
|
cp target/uberjar/yenu.jar dist/
|
||||||
|
cp yenu.properties dist/
|
||||||
|
cp Dockerfile dist/
|
||||||
|
cp docker-compose.yml dist/
|
||||||
|
cp README dist/
|
||||||
|
|
||||||
|
tar czf yenu-release.tar.gz dist/*
|
9
docker-compose.yml
Normal file
9
docker-compose.yml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
app:
|
||||||
|
build: .
|
||||||
|
command: java -jar /yenu/app.jar
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:80:3000"
|
||||||
|
volumes:
|
||||||
|
- ./data:/yenu/data
|
||||||
|
- ./yenu.properties:/yenu/yenu.properties
|
||||||
|
- ./yenu.db:/yenu/yenu.db
|
|
@ -22,10 +22,12 @@
|
||||||
(filter/add-filter! :parse-date #(time/to-time-zone (time-format/parse %) (time/default-time-zone)))
|
(filter/add-filter! :parse-date #(time/to-time-zone (time-format/parse %) (time/default-time-zone)))
|
||||||
|
|
||||||
(defn footer []
|
(defn footer []
|
||||||
|
(if (= (:count (db/get-image-count) 0))
|
||||||
|
(clojure.string/join ", " (:authors env))
|
||||||
(let [first-year (subs (:created_at (db/get-first-year)) 0 4)
|
(let [first-year (subs (:created_at (db/get-first-year)) 0 4)
|
||||||
recent-year (subs (:created_at (db/get-recent-year)) 0 4)
|
recent-year (subs (:created_at (db/get-recent-year)) 0 4)
|
||||||
copy (if (= first-year recent-year) first-year (str first-year " - " recent-year))]
|
copy (if (= first-year recent-year) first-year (str first-year " - " recent-year))]
|
||||||
(str "© " copy " " (clojure.string/join ", " (:authors env)))))
|
(str "© " copy " " (clojure.string/join ", " (:authors env))))))
|
||||||
|
|
||||||
(defn render-file [template & [params]]
|
(defn render-file [template & [params]]
|
||||||
(content-type
|
(content-type
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
(page (inc current) (= current num) "disabled" (h/html "Weiter " [:span.fa.fa-arrow-right]))])))
|
(page (inc current) (= current num) "disabled" (h/html "Weiter " [:span.fa.fa-arrow-right]))])))
|
||||||
|
|
||||||
(defn index-page [current request]
|
(defn index-page [current request]
|
||||||
(let [image-count 25
|
(let [image-count (:images_per_page env)
|
||||||
offset (* (dec current) image-count)
|
offset (* (dec current) image-count)
|
||||||
pages (number-of-pages image-count)
|
pages (number-of-pages image-count)
|
||||||
images (db/get-all-images {:offset offset :count image-count})]
|
images (db/get-all-images {:offset offset :count image-count})]
|
||||||
|
|
Loading…
Reference in a new issue