Giter VIP home page Giter VIP logo

journal's Introduction

Journal is a self-hosted application designed for photographers to publish their work. By leveraging the latest web technologies, this application provides a responsive and user-friendly interface that enhances the presentation of a photographic journal, with the freedom and control that comes from self-hosting.

Note: The theme is optimized for pictures with an aspect ratio of 3:2, 2:3, or 1:1.

Technical Stack

Requirements for installation:

Installation

1/ Clone the repository

git clone [email protected]:claireso/journal.git

2/ Launch the installation

zx scripts/install/start.mjs

Choose between a standalone installation or an installation using Docker and follow the steps. At the end, a .env file will be created at the root of the project with all the variables used by the application.

Example: ray-so-export

3/ Launch the application

Standalone

Install dependencies

$ npm install

Run the application in a development environment

$ npm run dev

The application will be running at http://localhost:3000

To change the default port of the application, add it to the command as follows:

$ PORT=4000 npm run dev

Note:

  • don't forget to update your .env

Build and run the application in a production environment

There are two ways to run the application in a production environment

1 - With a reverse proxy (recommanded)

By default the folder where your photos are uploaded (uploads) is not served by the server himself. You will need to configure a reverse proxy (with nginx for example)

When your reverse proxy is configured run the commands follow:

$ npm run build
$ npm run start

The application will be running at http://localhost:3000

To change the default port of the application, add it to the command as follow:

$ npm run start -- -p 4000

Note:

  • don't forget to update your .env
2 - With express

If you can't use a reverse proxy just use the commands follow:

$ npm run build
$ npm run start:express

The application will be running at http://localhost:3000

To change the default port of the application, add it to the command as follow:

$ PORT=4000 npm run start:express

Note:

  • remove option output: 'standalone' from next.config.js
  • don't forget to update your .env

Launch with Docker

The installation created all necessary Docker images. To launch the application, run docker compose up and visit https://localhost.

Note:

  • With Docker, HTTPS is used. You will need to generate SSL certificates in the certificates folder. Files must be named ${SERVER_NAME}.pem and ${SERVER_NAME}-key.pem (the same SERVER_NAME in your .env).
  • You can use Next.js to generate certificates to launch the application in your local environment

journal's People

Contributors

claireso avatar github-actions[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

journal's Issues

Logout & undefined

There's no logout button/link in the admin ๐Ÿ˜ข (I'm on master)

BTW, cool admin! ๐Ÿ‘

Also, logged queries print undefined:

query: SELECT count(*) FROM photos undefined
query: SELECT * FROM photos ORDER BY id DESC OFFSET 0 LIMIT 10 undefined

Great job @claireso! Keep going! ๐Ÿ‘

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.