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

588

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