GithubHelp home page GithubHelp logo

gunther0042 / vikunja-docker Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 20 KB

Template for setting up a Vikunja docker container using docker-compose. The goal is to allow setup of the container using only a few simple commands.

License: GNU Affero General Public License v3.0

vikunja-docker's Introduction

Vikunja Docker-Compose Template

Motivation

Vikunja is a really great, open-source, self-hostable to-do application. However, I found its setup documentation to be a bit confusing and based on some posts on Reddit and the project's forums, I don't think I'm the only one. I decided to create a Github repo with a Vikunja docker setup that can be implemented with a few commands. I've endeavored to make this guide as idiot-proof as possible ๐Ÿ˜ƒ

Disclaimers

This repo is meant to be a supplement to the Vikunja docs, not a replacement for them. The docker-compose.yml and nginx.conf files used here are identical to the ones found in the Docker Walkthrough in the docs, with the exception of some additional environment variables in the docker-compose.yml file I thought might be useful.

I'm a relative novice when it comes to Docker and web hosting, so feedback is welcome. Issues with Vikunja itself should be directed to the Vikunja repos. I have my Vikunja instance set up behind an nginx reverse proxy and the configuration here worked for me, but it is possible it will not be compatible with your setup.

Setup Instructions

The following assumes you have a linux machine with a sudo user to host your Vikunja instance on, and docker, docker-compose, and git already installed.

Navigate to where you want the project directory to live (cd ~ is a good default choice if you are unsure). Then clone this Github repo to that location and enter the directory.

git clone https://github.com/Gunther0042/vikunja-docker.git
cd vikunja-docker

Next, copy the .env-template file to .env. This will allow you to change the environment variables without worrying about overwriting them if you ever reclone the repo.

cp .env-template .env

At this point, feel free to use a text editor like nano to edit the environment variables in .env. The container should run fine with the defaults, but I would recommend at least changing the MYSQL root and user passwords. You may also want to change the external port if you do not want to host your Vikunja instance on port 80.

You're now ready to spin up your docker container. To do so, use the following commands.

sudo docker-compose pull && sudo docker-compose up -d

At this point, your Vikunja docker container should be up and running!

If you ran into any trouble following the setup instructions, feel free to create an issue on this repo. However, there's a good chance the problem will be beyond my ability to solve and I'll instead redirect you to the Vikunja dev, who is pretty friendly and responsive to questions.

Useful Tips

Here are some commands I found useful for debugging and/or after I had my Vikunja docker container working.

To update your Docker container to the latest Vikunja version after a new release, simply navigate to the project directory and rerun the commands to start the container.

sudo docker-compose pull && sudo docker-compose up -d

You can also use something like Watchtower to automate updates of your Docker containers.

To use the Vikunja CLI, enter the following command.

sudo docker-compose exec api /app/vikunja/vikunja <vikunja subcommand>

You can make using the CLI easier to use by making an alias for the command. To do that, add the following line to your .bashrc file.

alias vikunja='sudo docker-compose exec api /app/vikunja/vikunja'

If you need to access Vikunja's logs, use the following command.

sudo docker-compose logs -f

vikunja-docker's People

Contributors

gunther0042 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

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.