Sign inSign up

toxicglue/fossil

By toxicglue

Updated about 4 years ago

Simple Github alternative with: version control, bug tracking, wiki, forum, chat and blog.

Image
0

578

toxicglue/fossil repository overview

Toxicglue fossil docker container

Fossil

This is a simple docker container for Fossil with support for multiple repositories.

username: admin

password: admin1234

Description

  • Multiple repositories support
  • Small and secure Alpine linux (total size of the image is about 50 MB)
  • Persistent docker volume (for data store)
  • Simple backup (the repository is a single sqlite file)
  • Easy configuration with ENV variables
  • Run as a the "fossil" user

About fossil

Fossil is a simple, version control, bug tracking, wiki, forum, chat and blogging software.

The solution is a single binary (about 3Mb in size !), and all storage is handled in a local sqlite-database.

Characteristic for Fossil is the small footprint (size and ram) and the speed.


Run container

To start a container on port:80, you simply enter this:

sudo docker run -d -p 80:8181 -v fossil-volume:/data/repos --name fossil toxicglue/fossil:latest

docker-compose

version: "3.3"
services:
  fossil:
    image: toxicglue/fossil:latest
    container_name: fossil
    environment:
       - REPOS=source.fossil
       - PROJECT_NAME=Repository
       - USERNAME=admin
       - PASSWORD=admin1234
       - HTTPS_PROXY=1
    volumes:
      - fossil-volume:/data/repos
    ports:
      - 8181:8181
    restart: unless-stopped
volumes:
    fossil-volume:

ENV variables

There are some optional ENV variables that could be used.

ENVDESCRIPTION
REPOSName of the repository (default: fossil.fossil)
PASSWORDPassword for the repository (default: admin1234)
USERNAMEAdmin username for the repository (default: admin)
PROJECT_NAMEProject name for the repository
PROJECT_DESCProject description for the repository
HTTPS_PROXYA non empty value (ex: MULTI_REPO=1) will enable https proxy. Should be enabled if you have some kind of proxy, like nginx proxy manager
MULTI_REPOA non empty value (ex: MULTI_REPO=1) will enable support for multiple repos (like github)

Misc scenarios

Add a new repository

You can create new repositories from docker command line.

In this example we create en new repository (site) called: myproject.fossil with admin as the owner. Please change the repository name and owner for your own need.

sudo docker container exec fossil fossil init -A admin myproject.fossil

Add existing repository

If you have an existing repository you can add it to your fossil docker volume, this way.


# Step-1: fetch the fossil docker volume path
docker volume inspect --format '{{ .Mountpoint }}' fossil_fossil-volume

# Step-2: copy fossil repos to fossil docker volume 
cp <previous_fossil.fossil> <fossil_volume_path>/<previous_fossil.fossil>

Backup a repository

https://fossil-scm.org/home/doc/trunk/www/index.wiki

Tag summary

Content type

Image

Digest

sha256:00fca0eb2

Size

17.2 MB

Last updated

about 4 years ago

docker pull toxicglue/fossil