#+TITLE: EasyGoFtp
[[https://github.com/DearRude/easygoftp/actions/workflows/master.yml/badge.svg]]
[[https://img.shields.io/github/license/dearrude/easygoftp.svg]]
[[https://img.shields.io/github/last-commit/dearrude/easygoftp.svg]]
** Description
~EasyGoFTP~ is an implementation of a simple FTP server in Go.
It provides a lightweight and customizable server that allows clients to connect and perform various file transfer and management operations using the FTP protocol.
** Setup
*** From source
Have ~go 1.20~ installed in your system.
Make a config file and fill the specified units. Alternatively, configurations
can be passed in CLI flags or environment variables.
#+BEGIN_SRC sh
$ cp .env.sample .env
$ $EDITOR .env
#+END_SRC
#+BEGIN_SRC sh
$ go run .
#+END_SRC
*** Docker
#+BEGIN_SRC sh
$ docker run ghcr.io/dearrude/easygoftp:latest
#+END_SRC
*** Nix
To run:
#+BEGIN_SRC sh
$ nix run github:dearrude/easygoftp
#+END_SRC
To set up development environment:
#+BEGIN_SRC sh
$ nix develop
#+END_SRC
** Licence
AGPLv3+