1
0
Fork 0
mirror of https://github.com/seanmorley15/AdventureLog.git synced 2025-07-18 20:39:36 +02:00
AdventureLog vous permet de consigner vos voyages et de les partager avec le monde entier. Vous pouvez ajouter des photos, des notes et bien plus encore à vos journaux. Gardez une trace des pays que vous avez visités, des régions que vous avez explorées et des endroits que vous avez visités. https://adventurelog.app/
Find a file
2024-07-19 10:10:03 -04:00
.devcontainer migration to new backend 2024-07-08 11:44:39 -04:00
.github chore: Update Docker and Django server configuration 2024-07-09 08:20:14 -04:00
backend created_at and updated_at fields 2024-07-19 09:05:47 -04:00
documentation refactor: Configure nginx container to serve media files in production 2024-07-13 10:53:16 -04:00
frontend created_at and updated_at fields 2024-07-19 09:05:47 -04:00
proxy nginx! 2024-07-09 09:11:16 -04:00
CONTRIBUTING.md migration to new backend 2024-07-08 11:44:39 -04:00
docker-compose.yml chore: Update docker-compose.yml with latest image versions 2024-07-18 10:48:09 -04:00
LICENSE migration to new backend 2024-07-08 11:44:39 -04:00
README.md fixed card layout 2024-07-16 15:44:37 -04:00

AdventureLog: Embark, Explore, Remember. 🌍

⚠️ AdventureLog is in early development and is not recommended for production use until version 1.0!

"Never forget an adventure with AdventureLog - Your ultimate travel companion!"


Installation

Docker 🐋

Docker is the preferred way to run AdventureLog on your local machine. It is a lightweight containerization technology that allows you to run applications in isolated environments called containers. Note: This guide mainly focuses on installation with a linux based host machine, but the steps are similar for other operating systems.

Prerequisites

  • Docker installed on your machine/server. You can learn how to download it here.

Getting Started

Get the docker-compose.yml file from the AdventureLog repository. You can download it from here or run this command to download it directly to your machine:

wget https://raw.githubusercontent.com/seanmorley15/AdventureLog/main/docker-compose.yml

Configuration

Here is a summary of the configuration options available in the docker-compose.yml file:

Frontend Container (web)

Name Required Description Default Value
PUBLIC_SERVER_URL Yes What the frontend SSR server uses to connect to the backend. http://server:8000
ORIGIN Sometimes Not needed if using HTTPS. If not, set it to the domain of what you will acess the app from. http://localhost:8080
BODY_SIZE_LIMIT Yes Used to set the maximum upload size to the server. Should be changed to prevent someone from uploading too much! Custom values must be set in kiliobytes. Infinity

Backend Container (server)

Name Required Description Default Value
PGHOST Yes Databse host. db
PGDATABASE Yes Database. database
PGUSER Yes Database user. adventure
PGPASSWORD Yes Database password. changeme123
DJANGO_ADMIN_USERNAME Yes Default username. admin
DJANGO_ADMIN_PASSWORD Yes Default password, change after inital login. admin
DJANGO_ADMIN_EMAIL Yes Default user's email. admin@example.com
PUBLIC_URL Yes This is the publically accessible url to the nginx container. You should be able to acess nginx from this url where you access your app. http://127.0.0.1:81
CSRF_TRUSTED_ORIGINS Yes Need to be changed to the orgins where you use your backend server and frontend. These values are comma seperated. Needs to be changed.

Proxy Container (nginx) Configuration

In order to use media files in a production environment, you need to configure the nginx container to serve the media files. The container is already in the docker compose file but you need to do a few things to make it work.

  1. Create a directory called proxy in the same directory as the docker-compose.yml file.
  2. Create a file called nginx.conf in the proxy directory.
  3. Add the following configuration to the nginx.conf file:
server {
    listen 80;
    server_name localhost;

    location /media/ {
        alias /app/media/;
    }
}

Running the Containers

To start the containers, run the following command:

docker compose up -d

Enjoy AdventureLog! 🎉

About AdventureLog

AdventureLog is a Svelte Kit and Django application that utilizes a PostgreSQL database. Users can log the adventures they have experienced, as well as plan future ones. Key features include:

  • Logging past adventures with fields like name, date, location, description, and rating.
  • Planning future adventures with similar fields.
  • Tagging different activity types for better organization.
  • Viewing countries, regions, and marking visited regions.

AdventureLog aims to be your ultimate travel companion, helping you document your adventures and plan new ones effortlessly.

AdventureLog is licensed under the GNU General Public License v3.0.